FerBotz (new AI, XCGE release 20)

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

Re: FerBotz (new AI, release 9)

Post by Higor »

I intend BotZ to become a general AI environment.

Better bots is the main goal, when you have a map without path nodes bots are useless.
I felt for years I had to address this issue so I started investigating.

I'm trying to construct a user friendly interface to develop path noding in runtime and saving to files.
I still need to learn about native file handling tho.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 9)

Post by Higor »

This reminds me of the old half-life and CS bots lol.

This is edit mode:
Editor.jpg
At least most of the commands are shown on the screen.

Saving works, loading and calculating is done on map restart.
Reachspecs and path calculation done on map restart as well.
User avatar
papercoffee
Godlike
Posts: 10443
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 9)

Post by papercoffee »

Is this whole FerBotz thing ...theoretical ...convertible for other games?
I'm just curious.
Old UT Veteran
Skilled
Posts: 163
Joined: Sat Mar 24, 2012 1:37 am

Re: FerBotz (new AI, release 9)

Post by Old UT Veteran »

That picture really does look interesting to me. So, its kind off like an in game AI network editor? Please elaborate some of the features in "edit mode" besides the ones in the picture, please. :D

Just curious on how does this exactly work.

Also, what about air-node support for jet packs and such?
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 10)

Post by Higor »

Updated first post

- Changes from R10:
Assault almost fixed, playable.
Deprecated some code.
Botz no longer attack most of the harmless pawns on MH and SP games.

================== NATIVE ONLY:
Navigation network editing in runtime.
Navigation point save/loading support in runtime.
Sort of user friendly interface on edit mode.
Fixed native infinite loop on LockActor(false).
Included "Navigation Editor.txt" for guidelines on this.
Included "SimpleHigh.PNG" for quick explanation on Simple High path linking.
Included some navigation files on /Botz/ (extensionless) for most of stock maps' enhancement.


Also, description on the simple high path variants:
Attachments
SimpleHigh.PNG
SimpleHigh.PNG (9.37 KiB) Viewed 2253 times
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 10)

Post by Higor »

Things to do:

Do better path pruning, current method can fill the entire 16 path links for a newly created node, this happens a lot in badly/non pathed MH maps cutting the creation of a complete network.
Discard all pruned paths (even those in the original nodes) and use a custom rule to define them, I'm having issues with maps like CTF-Towne, with some of the new nodes not even doing the paths checks (over 9000!!! nodes, maybe the arrays have limits).
Unify visibility checks for normal and anti-mover paths for both normal games and dedicated servers, normal paths shouldn't traspass movers, and anti-movers shouldn't hit them.
Create custom connection method based on direction, so that Translocator Starts, Jump starts and Lift starts can be possible.
Create lift-center variant.
Creation of Low-grav nodes, making them connect only on low-gravity games.

PD:
I can't believe this worked...
var const array<NavigationPoint> Pruned[2];
EDIT:
Meh, the H header is screwed up anyways...
User avatar
Wises
Godlike
Posts: 1089
Joined: Sun Sep 07, 2008 10:59 am
Personal rank: ...

Re: FerBotz (new AI, release 10)

Post by Wises »

hows this all working with ACE/Pure/ Protections &
smartCTF/SmartDM scoreboards Higor?

also is the ServerQuery needed in order to use these or will it just not display the bots in the browser but still work?
many of us use XServerQuery :| which also has SecureValidate embedded (I think) .. and is a pretty cool browser. Will make a post about it at some point.

keep up the good worx..

cheers.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 10)

Post by Higor »

I will handle those with the Ferbotz_cl2.u which is still non-existant.
Setting up SmartCTF is already troublesome enough...

FerBotZ has been tested online on uK's pug server with v451 windows, ACE, ZeroPing and Pure and the only problem I found was the pulse gun bolts fired by BotZ not being properly attached.
Then there is a core Ferbotz.u bug preventing the BotZ from being visible when created using MUTATE ADDBOTZ with extra model and skin parameters...

But I'm too damn excited about my own pathing breakthrough, so I'll finish this first before fixing those.

EDIT 1:
Fixed a bug regarding path selection, now most of inserted nodes should be able to connect to all possible candidates now. (CTF-Towne navigation file works now)
New path pruning method.
Created lift center nodes.
Created anti-mover nodes (can view through doors and lifts).

EDIT 2:
Towne is a lost case lol, but at least i'm doing some progress if we look at the big picture.

EDIT 3:
Fixed pathing bug on normal paths, now those should connect 100% of all times now.
User avatar
Wises
Godlike
Posts: 1089
Joined: Sun Sep 07, 2008 10:59 am
Personal rank: ...

Re: FerBotz (new AI, release 10)

Post by Wises »

ahh yep cheers :)

awaiting TimTim to fix the Botz in G-UT atm along with a few other minor problems.. so no hurry :)

good stuff on the progress with the bot paths thing as well :tu:

be kean as after this G-Ut is sorted and bots behave normally once more :\
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 10)

Post by Higor »

Door navigation points are defined differently here for better behaviour.

The special door points somewhat work like BlockedPaths, MH maps work a lot better with these, unfortunately, most of these have no objective markers to send bots to unlock doors.
Doors.PNG
Doors.PNG (6.85 KiB) Viewed 2119 times
Also, if a path's visual check goes thru a BlockMonsters actor... this BlockMonsters actor ceases to block so that Bots can go thru.

EDIT:
Checked NewNet code, any BotZ should be able to have it's past positions stored as well so that shouldn't be a problem.
Dunno about firing NN weapons though.

EDIT 2:
Just fixed an ancient platform jumping issue (from the early versions V1).
BotZ can now survive any BT or MH platform game as long as it doesn't involve dodging...
User avatar
Wises
Godlike
Posts: 1089
Joined: Sun Sep 07, 2008 10:59 am
Personal rank: ...

Re: FerBotz (new AI, release 10)

Post by Wises »

from what I can see .. you can use botpack.<weapon> and pure switches it to GlobalWeaponsv0_5f.ST_<weapon> however because this is still beta version.. I would wait a bit. also theres some complications with lift jump/combos and stuff to iron our. along with several other minor tweaks/finishes.

Iam guessing that the projectile classes are globalweaponsv0_5.NN_<projectile>

Edit 1.

there is talks of editing every map and inserting some kinda lift_actor or.. new lifts or something to cater for this problem.. surely theres a simpler way.

perhaps using some kind of native thing like you have done here.

we all really should work together.. on these things.. it would seem to me at least that we are all loners.. and the left-hand knows not... what the Right is doing.

We've had fully NewNet only on our servers now for 2-3 months and the player base / interest has skyrocketed. firstly with the gap between asia we are now able to cater fir the wider australasian sector easily. even american players come in and speak of the tiniest lag spikes durring matches..

combining NewNet with ferbotz for the best online experience would be awesome.. we are in exciting times atm.

re: SmartCTF / SmartDM scoreboards.. we may be lucky as The_CowBoy is still just mildly interested in the game to maybe help out.. he is a legend and he got knocked back by a few other coders who I feel treated him with disrespect.

underestimating his youthfulness for ineptability.

this guy is also very bright and has done a lot for the game.

ideally if all of you got together along with the following ppl I think we could bring UT back with a vengeance.

AnthRax (anth) Anticheat/Security AnthraX's forums
The_CowBoy Scoreboards/Stats & ^ Security SmartDM & SmartCTF <- Link to sp0ngebobs release ver.4E
NoginBasher ^ (retired to knitting) AutoTeamBalance/Stats
Higor BotSupport/Ai and coding for improving gameTypes (seige ultimate) *
gust (japan) also ninja coder and has some impressive gametypes on his server. Image
ferali for too much to mention :) NaliWeaponsIII
sp0ngebob for NexGen progress and updates (btw we need that fix please lol) Smart CTF4E
ILoveUT99 (also nearly gone) for interesting concepts and mod fixes.. LastManStanding+
Mapping team.. who/where ever you are. *
MrLoathsome for other mod enhancements and good works. *
Tim-_- (NewNet/GlobalUT) dev and also security. NewNet/GlobalUnreal
{G}ott XServerBrowser
>>Other Interested coders and Ut fanatics that I either don't know or have Real life issues to get through.
that about covers it I think.

* Denotes members of this board or fixed abode unknown :) hence no links yet. :rock:

*UPDATED^
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 11)

Post by Higor »

Updated first post.

- Changes on r11:
Jumping between platforms fixed, navigation is more robust now.
Reduced ocurrences where botZ trigger doors directly, spoiling game objectives.
Fixed log spam in games with heavy usage of projectiles.
================== NATIVE ONLY:
Fixed simple pathing and pruning.
Added lift related navigation points.
Included Doors.PNG for explanation with door points
Included Lifts.PNG for explanation with door points
Included/updated more navigation files (some unfinished).
Attachments
Lifts.PNG
Lifts.PNG (9.87 KiB) Viewed 2077 times
Old UT Veteran
Skilled
Posts: 163
Joined: Sat Mar 24, 2012 1:37 am

Re: FerBotz (new AI, release 10)

Post by Old UT Veteran »

Higor wrote: as long as it doesn't involve dodging...
Is this a future possibility?
By the way, what happened to that aiming system and the weapon profiles? You've been quiet for sometime about it but I see that you're really busy with this new revolutionary navigation pathing method. Also, when are you planning on improving the combat code?

=======
I have to say that botz ability to spam shots really changed the gaming strategy that I usually went by when playing with them.

EDIT:

Decided to play some CTF-LavaGiant and after spawning the friendly botz, one of them would annoy me by using the secondary function of the plasma gun. :lol2: He would follow me around the entire map being annoying till I died. I dunno why but could that be something caused by the spam system? Or did they thought that I was the enemy?
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, release 11)

Post by Higor »

BotZ uses automatic dodging when the next reachable platform doesn't require jumping that high, and it works for jumps with low ceilings perfectly.

Now... BT dodging + sliding isn't just a matter of A points to B. This waypoint would have to be a DodgeStart A -> DodgeEnd B, DodgeStart A aiming at where the BotZ should initially dodge.
Maybe that formula works.
The good thing of these new paths, is that I can actually force actions upon the BotZ, so I don't really need to code anything inside the BotZ class.

A friendly botz shooting you?
Maybe the BotZ 'saw' you at the moment you added it, and picked you as enemy before the botz's team was set.
I really have to fix that.


To sum up, before I continue adding weapon profiles, I should specify some sort of equivalence table.
This way a mutated weapon (ShockRifle -> ZP_ShockRifle) also loads the ShockRifle profile for the mutated version.
The equivalence table should also include the Unreal 1 weapons.
Old UT Veteran
Skilled
Posts: 163
Joined: Sat Mar 24, 2012 1:37 am

Re: FerBotz (new AI, release 11)

Post by Old UT Veteran »

Thanks for the quick response and the brief elaboration.
Higor wrote: To sum up, before I continue adding weapon profiles, I should specify some sort of equivalence table.
This way a mutated weapon (ShockRifle -> ZP_ShockRifle) also loads the ShockRifle profile for the mutated version.
The equivalence table should also include the Unreal 1 weapons.
Any chance that you can increase the probability of botz performing a shock combo? At least for the higher skill botz, because I don't really see them do it that much often.
Higor wrote:This waypoint would have to be a DodgeStart A -> DodgeEnd B, DodgeStart A aiming at where the BotZ should initially dodge.
Maybe that formula works.


:thuup:
As long there aren't any errors while performing the maneuver the botz should be fine on any gravity setting + you've the air control system which can fix those flaws while being in the air. I say that you should go for it.
Higor wrote:Botz no longer attack most of the harmless pawns on MH and SP games.
I forgot to mention that this bug still happens on CTF and DM maps which would simply include passive(birds, cows...) pawns as a decoration. For example on DM-LastCrusader a botz would try to kill one of the birds that was flying around the structure.

=====
I wasn't really sure as to what extent this navigation system will go but now i see that it can fully extend the botz capabilities on any map.

Now about botz being trolls... :)
I think that I used the "mutate addbotz" command when I tried to randomize the skill between the two teams. It has only happened once to me, so the chance of that happening to anyone else is probably really low and I don't think that you should worry about it too much.
Post Reply