FerBotz (new AI, XCGE release 20)

Post Reply
User avatar
Vankuss
Experienced
Posts: 111
Joined: Wed Jan 25, 2012 6:35 pm

Re: FerBotz (new AI, release 6)

Post by Vankuss » Wed Jun 20, 2012 8:54 am

Human players have to wait to dodge again unlike bots.
You should make them wait like human players. Once I played against a cheater that had no waiting in dodge: annoying.
Make them wait X seconds, where X is the seconds we have to wait.

By the way, I'm gonna test this awesome thing today. I'll let you know!

MrLoathsome
Inhuman
Posts: 958
Joined: Wed Mar 31, 2010 9:02 pm
Personal rank: I am quite rank.
Location: MrLoathsome fell out of the world!

Re: FerBotz (new AI, release 6)

Post by MrLoathsome » Sun Jun 24, 2012 8:09 am

I tested this awesome thing for about an hour yesterday, and it is indeed awesome.

Almost too awesome. lol. The FerBotz were beating up me and Loque.
(I didn't adjust any of the default settings, other than the botz name and team#)

They seem to work perfect with my latest project, so that also made me happy.
blarg

JackGriffin
Godlike
Posts: 3766
Joined: Fri Jan 14, 2011 1:53 pm
Personal rank: -Retired-

Re: FerBotz (new AI, release 6)

Post by JackGriffin » Mon Jun 25, 2012 10:52 am

Ran across something you might find interesting:
http://utrustedplayer.com/gopostal/BDI.pdf
So long, and thanks for all the fish

Higor
Godlike
Posts: 1780
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 6)

Post by Higor » Tue Jun 26, 2012 4:59 am

Very interesting, using an external module is ideal capability and speed wise, if unrealscript was as fast as c++, I would have figured out a way to make bots navigate without waypoints.
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

User avatar
papercoffee
Godlike
Posts: 9406
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.
Contact:

Re: FerBotz (new AI, release 6)

Post by papercoffee » Tue Jun 26, 2012 8:53 am

Higor wrote: if unrealscript was as fast as c++, I would have figured out a way to make bots navigate without waypoints.
This reminds me of special bots from Counter Strike 1.6 (don't know the name) they worked like a Fathometer ...they did know where the objective is and scan the map for walls to calculate rough their path through the map every time they check their distance to a wall to not collide with it or check if a space is to narrow/not passable ...they worked pretty well except for glass walls or masked brushes like fences because they recognized them as walls and couldn't see through.

Old UT Veteran
Experienced
Posts: 102
Joined: Sat Mar 24, 2012 1:37 am

Re: FerBotz (new AI, release 6)

Post by Old UT Veteran » Tue Jun 26, 2012 3:28 pm

Higor wrote:Very interesting, using an external module is ideal capability and speed wise, if unrealscript was as fast as c++, I would have figured out a way to make bots navigate without waypoints.
Indeed it is, but I don't understand why you would need something like this when the botz already know how to navigate the map using waypoints.
I am NOT saying that its a bad idea. I am just curious about the outcomes of a project like that. The good and the bad.

JackGriffin
Godlike
Posts: 3766
Joined: Fri Jan 14, 2011 1:53 pm
Personal rank: -Retired-

Re: FerBotz (new AI, release 6)

Post by JackGriffin » Tue Jun 26, 2012 3:37 pm

This is mainly interesting because so many maps are either unpathed or it's done incorrectly/inefficiently. I'd guess maybe 20-25% of maps are done right.
So long, and thanks for all the fish

Higor
Godlike
Posts: 1780
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 6)

Post by Higor » Tue Jun 26, 2012 7:08 pm

My ideas for navigating a map without using the path nodes consist on a mix of things.

First, create a full map 3d matrix, elements consisting on floats ranging 0-1.
Then dissect the matrix in pieces, adding a descriptor actor (pieces can be manually described).
Link pieces that can be connected, should take into account teleporters and other special stuff, each link can have various properties.

Usage:
The linked pieces will become our simple pathing system to determine general directions.
Then small portions of the 3d matrix would be used as navigation meshes.

Other stuff:
3d matrix elements may have cost, some of these may be handled by map profile actors (like marking these as unusable to avoid special death triggers).
Links between matrix portions may have different costs.

This is definetely a slow approach, it would take a lot of power in matrix generation, depending on map size and cube size (for each element).
Saving/loading a matrix of this kind would only be possible with native code anyways.

Concepts of optimal usage: CTF-Face
A bot using a 3d matrix as navigation system would quickly create a route from the top of the tower to any place below it without using a teleporter.
Translocation or high jumping between the bridges.
Impact jumping from one tower to the other on low gravity games.

===
If you take a look at the FerBotz source code, you may find an attempt to make a junction styled waypointing system, though I removed most of the code that used that WP system anyways. (only the path system logic remains)
There was another (not working) system consisting on a single linear path, intended this as runtime-path-maker for monsterhunt maps.

===
An idea of mine is to make a native plugin with the most expensive functions in it, if the plugin is loaded, the functions from the plugin are used, otherwise the default functions from the BFM (BotzFunctionManager) are used instead, this way I would be able to either customize the functions with plugins, make them run faster if I used a native plugin, and make servers not need to send the native plugin to clients to run Botz.
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

Higor
Godlike
Posts: 1780
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 6)

Post by Higor » Fri Jul 27, 2012 9:38 pm

Starting a slow resume.
After playing recently, gonna add a global dodge control, so all dodge jumps are forbidden for 0.6 second after landing.

Added a new conditional in weapon profile:
// =======================================
// CORRIDORAMMO > in corridor, has ammo
//
// CondA = ammo amount
// CondB = time after enemynotvisible (0 means no need of enemy)
// CondC = safe distance
//

This condition will favor Flak, Ripper and Rocket spam.
To be tested in flak cannon profile later this week.
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

Old UT Veteran
Experienced
Posts: 102
Joined: Sat Mar 24, 2012 1:37 am

Re: FerBotz (new AI, release 6)

Post by Old UT Veteran » Sat Sep 01, 2012 4:54 am

Well, I'm really curious on how far this project went. Haven't seen any new post here for a while.
A progress report would be nice?

Higor
Godlike
Posts: 1780
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 6)

Post by Higor » Sat Sep 01, 2012 6:58 am

I was busy with Siege Ultimate lol.
I'm reaching an advanced stage with that, I will then slowly continue the BotZ combat system and start making them work on this interesting gametype (that will be a whole new challenge).
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

Old UT Veteran
Experienced
Posts: 102
Joined: Sat Mar 24, 2012 1:37 am

Re: FerBotz (new AI, release 6)

Post by Old UT Veteran » Sat Sep 01, 2012 2:09 pm

Higor wrote:I'm reaching an advanced stage with that, I will then slowly continue the BotZ combat system and start making them work on this interesting gametype (that will be a whole new challenge).
That's amazing!

Raylen
Average
Posts: 51
Joined: Wed Jan 12, 2011 12:43 pm
Personal rank: BunnyTracker

Re: FerBotz (new AI, release 6)

Post by Raylen » Sun Sep 02, 2012 11:00 am

I haven't quite read all the posts, although I saw above you might be considering making the bots able to play MH. If so, would it be possible for them to play BT maps? (possibly just easy ones) - because that could be quite fun!
Thanks in advance for answering the above question!

Old UT Veteran
Experienced
Posts: 102
Joined: Sat Mar 24, 2012 1:37 am

Re: FerBotz (new AI, release 6)

Post by Old UT Veteran » Sat Oct 06, 2012 6:04 pm

Higor wrote:I was busy with Siege Ultimate lol.
I'm reaching an advanced stage with that, I will then slowly continue the BotZ combat system and start making them work on this interesting gametype (that will be a whole new challenge).
Mhh....
Played Siege on my favorite server yesterday and sadly not enough people playing. Now that I think about Siege with A.i. support I tend to get all excited. This is an excessive amount of work with Siege Ultimate that will in sometime in the future have bot support. Higor, you know alot about scripting I think that EPIC Games should hire you! :D

I wasn't here for a bit now, I guess that you haven't changed much with Botz since you are still prodably working on Siege Ultimate. Botz combat should be taken into real high consideration and I want to know how you're planning the combat system. So far, everything that botz have offered was amazing and really impressive and I am really excited for the next updates.
Raylen wrote:I haven't quite read all the posts, although I saw above you might be considering making the bots able to play MH. If so, would it be possible for them to play BT maps? (possibly just easy ones) - because that could be quite fun!


Yes, MH with UT Bots isn't that great. Bots tend to skip monsters and let themselves get killed because they ignore the enviroment around them. Botz should have their own ways for dealing with monsters in a special gametype. They should compete for the highest score and the most lives left. As for BT, it is possible, but too complicated. Botz would only be able to play on the easiest maps unless they have a diffrent way to navigate the map without Path Nodes.

-Off Topic
Not so long ago I read a forum about Strangelove having bot support. That would also be really cool, but who wants to do it? I don't understand why people let bot support be left over. About 2 years ago I didn't really care about bot support, it was all about the frags! :tu:

Higor
Godlike
Posts: 1780
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 6)

Post by Higor » Sat Oct 06, 2012 11:19 pm

Found some limitations in the BotZ and Siege, mostly due to Siege maps not having waypoints (they use path nodes for resource placement and that's it).

So I decided to continue working on the 'other' bot, if you remember an old post of mine, the other bot is a plugin that has human aiming system and works on the client Playerpawn online, even on ACE protected servers.
The other bot (codename AiHelper) had major progress in client pathfinding, and it requires 2 UT's running.

Explanation of AiHelper's current structure:

Links:
- 2 UDP link modules (client and host)
- 1 Closed (or passworded) dedicated server at 100 fps running HOST link.
- 1 Client UT playing online with the CLIENT link.
The host link can be any kind of UT game, can even run on Unreal 227H engine or UT community SDK (not tested, but recommended if optimized functions are used).
The client link locates the host and registers the AI, it will then gain control of map change functions so that the client can force the host to change maps without user input.
The host loads an edited version of the map, (no decos, no details, no brushes, FULLY CUSTOMIZED PATHING), and spawns a dummy pawn with special properties that interact with the customized paths.

Pathfinding:
- Host UT runs a collection of edited maps with special paths.
- Host UT will call traces, do the BotZ's impact launching checks (not implemented).
The client AiHelper module picks game goals and asks via UDP link to host for directions, the host moves the special pawn and calls the enhanced pathfinding, once found, sends the directions via UDP back to client.
Upon receiving the directions the client link will notify the AiHelper module and the client bot will start moving, via input axis control like a real player does.

The UDP link isn't instant, it has a latency of ~5ms so the AiHelper has to wait till the path is received, also the Axis pressing is done via stimulus timer.
The only routine added to the AiHelper is capturing the flags, and so far the AiHelper can make a UT client run thru any map and try to capture flags without any kind of input.
Weapon switching was also implemented, but seems to have issues with modded servers.
ImageImage
Image unreal://23.111.157.138:7777
Image unreal://46.228.199.205:7788

Post Reply