FerBotz (new AI, XCGE release 20)
Re: FerBotz (new AI, release 14)
Botz have problems if NexGen handles game start, untick that setting in NexGen and try again.
EDIT:
Got them to fire Jets but they don't drive them at all yet (jet crashes on a wall)... and the bots reappear at the location they initially fired instead of dying
About the unseen things that were needed to get to that point:
- Implementation of a flight profile system (like weapon profiles).
- Implementation of a fast profile loader and checker.
- Secondary path check and validation to see if the bot should start flying.
- Per profile validation, allows each flight item to see if said air path can be taken.
- Derive the navigation, firing (optional) and aiming (optional) code to the flight profile during said state.
EDIT2:
Remove FerBotz from Packages
EDIT:
Got them to fire Jets but they don't drive them at all yet (jet crashes on a wall)... and the bots reappear at the location they initially fired instead of dying
About the unseen things that were needed to get to that point:
- Implementation of a flight profile system (like weapon profiles).
- Implementation of a fast profile loader and checker.
- Secondary path check and validation to see if the bot should start flying.
- Per profile validation, allows each flight item to see if said air path can be taken.
- Derive the navigation, firing (optional) and aiming (optional) code to the flight profile during said state.
EDIT2:
Remove FerBotz from Packages
- [rev]rato.skt
- Adept
- Posts: 438
- Joined: Mon Aug 16, 2010 1:09 pm
Re: FerBotz (new AI, release 14)
New's Bugs
bots locking your movement, and are not creating anything or upgrading...
and they are attacking the crystal of own team.
[youtube]fSCb8Yxy9iQ[/youtube]
bots locking your movement, and are not creating anything or upgrading...
and they are attacking the crystal of own team.
[youtube]fSCb8Yxy9iQ[/youtube]
Brazilian Server:
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
Alma Negra - 34.95.189.187:7777
Classic - madruga.utbr.cf:7777
Duel - x1.utbr.cf:6666
Re: FerBotz (new AI, release 14)
Siege is broken ATM.
Btw in edit mode we can now see the connections made by a Botz path (after map was reloaded). EDIT:
Also, early tests of the old Quantum Fighter Jets...
Btw in edit mode we can now see the connections made by a Botz path (after map was reloaded). EDIT:
Also, early tests of the old Quantum Fighter Jets...
Re: FerBotz (new AI, release 15)
UPDATED FIRST POST
- Changes from this version:
Fixed botz getting stuck near items (InventorySpot too far from item).
Fixed botz not waiting in elevator if jumps towards it.
Fixed botz resetting move state mid air.
Botz now do path shortening mid air.
Added flight navigation base system.
- Support for JetReplaceG.GhandiJetLauncher (crash if you kill bot while flying)
Botz can do pathfinding on destinations that aren't reachable to it's closest path node.
Fixed log spam in Siege games.
Fixed weapon profiles failing to work with custom versions of supported weapons.
Botz will now be forced to attack/perform tasks instead of trying to get items if map has no items (CTF. AS. MH).
Players VS Botz mutator added!
"MUTATE ADDBOTZLIST INDEX=x" now adds the bot number 'x' in the list.
Major code cleanup, removed useless beta waypoint system.
UPDATED: SETTING UP.TXT
================= NATIVE ONLY:
Fixed air nodes not properly connecting with ground nodes
Note: FerBotz.int was updated to display the settings in Advanced Options and the new mutator, you may want to correct your corresponding INT, EST, DET, etc localization file for these additions.
- Changes from this version:
Fixed botz getting stuck near items (InventorySpot too far from item).
Fixed botz not waiting in elevator if jumps towards it.
Fixed botz resetting move state mid air.
Botz now do path shortening mid air.
Added flight navigation base system.
- Support for JetReplaceG.GhandiJetLauncher (crash if you kill bot while flying)
Botz can do pathfinding on destinations that aren't reachable to it's closest path node.
Fixed log spam in Siege games.
Fixed weapon profiles failing to work with custom versions of supported weapons.
Botz will now be forced to attack/perform tasks instead of trying to get items if map has no items (CTF. AS. MH).
Players VS Botz mutator added!
"MUTATE ADDBOTZLIST INDEX=x" now adds the bot number 'x' in the list.
Major code cleanup, removed useless beta waypoint system.
UPDATED: SETTING UP.TXT
================= NATIVE ONLY:
Fixed air nodes not properly connecting with ground nodes
Note: FerBotz.int was updated to display the settings in Advanced Options and the new mutator, you may want to correct your corresponding INT, EST, DET, etc localization file for these additions.
- Emperor
- Average
- Posts: 58
- Joined: Wed May 21, 2008 8:56 pm
- Personal rank: Rtma Eros Paragon
- Location: Australia
Re: FerBotz (new AI, release 15)
Well I'm trying version 15 and it works with custom weapons now but over all without their heaven forbid, Translocator Kills, they aint performing much better then regular bots, intended?
Re: FerBotz (new AI, release 15)
They don't lead translocator shots because it'd make the game unplayable.
They DO switch to translocator very often in normal games to kill you at short distances if possible.
Edit--------------------------- by papercoffee
Snippet time.
Now it's the pathing loop's turn, which happens on each Botz_NavigBase actor after being loaded.
//********************PathCandidates - Runs an automatic path build routine in runtime
native final function PathCandidates();
They DO switch to translocator very often in normal games to kill you at short distances if possible.
Edit--------------------------- by papercoffee
Snippet time.
Now it's the pathing loop's turn, which happens on each Botz_NavigBase actor after being loaded.
//********************PathCandidates - Runs an automatic path build routine in runtime
native final function PathCandidates();
Code: Select all
void ABotz_NavigBase::execPathCandidates(FFrame &Stack, RESULT_DECL)
{
RegisterNames();
guard(ABotz_NavigBase::execPathCandidates);
P_FINISH;
ANavigationPoint *N = Level->NavigationPointList;
FLOAT dist = MaxDistance * MaxDistance;
ABotz_NavigBase *B;
UClass *BaseClass = ABotz_NavigBase::StaticClass();
if ( N == this )
N = N->nextNavigationPoint;
while ( N )
{
if ( (FVector(Location - N->Location).SizeSquared() <= dist) && (FindExistingDest(this, N) < 0) && (FindPrunedDest(this, N) < 0) )
{
BYTE pathType = 0;
if ( N->IsA( BaseClass) ) //Logic for NavigBase <> NavigBase
{
B = (ABotz_NavigBase*)N;
if ( CanTakeIncomingPath( B, this) && CanSendOutgoingPath(this, N) ) //This path will check back in it's own PathCandidates function, safe to deny here
{
pathType = B->eventIsCandidateTo( this);
if ( pathType == PM_Normal )
pathType = eventOtherIsCandidate( N);
}
}
else //Logic for NavigBase <> NavigationPoint
{
B = NULL;
if ( CanSendOutgoingPath(this, N) )
pathType = eventOtherIsCandidate( N);
}
if ( pathType )
{
if (_CountFreeSlots( &Paths[0] ) > ReservePaths )
eventAddPathHere( this, N, pathType == PM_Forced );
if ( B == NULL && (_CountFreeSlots( &upstreamPaths[0] ) > ReserveUpstreamPaths) && (FindExistingDest(N, this) < 0)/* && (FindPrunedDest(N,this) < 0) */) //We just make sure we didn't apply a 2 way path here
eventAddPathHere( N, this, pathType == PM_Forced ); //Removed conditions... because older Navigbases won't connect with newer ones otherwise
}
}
N = N->nextNavigationPoint;
if ( N == this )
N = N->nextNavigationPoint;
}
eventFinishedPathing();
unguard;
}
Code: Select all
inline INT _CountFreeSlots( int *Elem)
{
INT j = 0;
for ( int i=0 ; i<16 ; i++ )
if ( *(Elem+i) == -1 )
j++;
return j;
}
- papercoffee
- Godlike
- Posts: 10448
- 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 15)
accessed none error fix.
newest
http://www.mediafire.com/download/6zvm6 ... 801_01.zip
old
http://www.mediafire.com/download/ci581 ... 731_01.zip
newest
http://www.mediafire.com/download/6zvm6 ... 801_01.zip
old
http://www.mediafire.com/download/ci581 ... 731_01.zip
Last edited by gust on Fri Aug 01, 2014 9:37 am, edited 1 time in total.
- Chamberly
- Godlike
- Posts: 1963
- Joined: Sat Sep 17, 2011 4:32 pm
- Personal rank: Dame. Vandora
- Location: TN, USA
- Contact:
Re: FerBotz (new AI, release 15)
Wow Hello gust! Nice to see you here!
(Sorry for off topic, he a cool guy haha)
Will take a look at the file.
(Sorry for off topic, he a cool guy haha)
Will take a look at the file.
Re: FerBotz (new AI, release 15)
I could have sworn the AssaultBackup actor had the new navigation methods implemented, my repository was messed up.
On a different note, added on main Botz repository.
gust:
- AimPoint actor is now spawned during PreBeginPlay(), no need to do sanity checks on it anymore.
- AirState was completely removed for next release, instead i'm using a temporary movetarget to alter destinations or chain movements.
- CombatState's DescribeSpec error was fixed, it was me being dumb enough to call that function in a reference that's NEVER up at that movement (oops).
- PreventDeath check added on Died() function.
Will take a look at the new file...
EDIT: Can you point out the Class/State/Function to look at? I don't use a Diff app
On a different note, added on main Botz repository.
gust:
- AimPoint actor is now spawned during PreBeginPlay(), no need to do sanity checks on it anymore.
- AirState was completely removed for next release, instead i'm using a temporary movetarget to alter destinations or chain movements.
- CombatState's DescribeSpec error was fixed, it was me being dumb enough to call that function in a reference that's NEVER up at that movement (oops).
- PreventDeath check added on Died() function.
Will take a look at the new file...
EDIT: Can you point out the Class/State/Function to look at? I don't use a Diff app
Re: FerBotz (new AI, global release 16)
Updated first post
- V16 changelog:
Botz can now properly roam in DeathMatch and TeamGamePlus (Instagib Ready!).
Increased stability in flight code (not yet usable).
Simplified navigation code.
Enhanced obstruction evasion code during navigation.
Fixed bad export in DM and TGP plugins, won't crash linux clients.
Fixed outdated DM-Oblivion plugin crashing all clients.
Fixed botz disregarding Mutator's PreventDeath.
Fixed bug in 'retreat' combat substate.
Fixed some more log warnings.
Updated Setting up.txt
================= NATIVE ONLY:
Linux build included.
Full source code included.
- V16 changelog:
Botz can now properly roam in DeathMatch and TeamGamePlus (Instagib Ready!).
Increased stability in flight code (not yet usable).
Simplified navigation code.
Enhanced obstruction evasion code during navigation.
Fixed bad export in DM and TGP plugins, won't crash linux clients.
Fixed outdated DM-Oblivion plugin crashing all clients.
Fixed botz disregarding Mutator's PreventDeath.
Fixed bug in 'retreat' combat substate.
Fixed some more log warnings.
Updated Setting up.txt
================= NATIVE ONLY:
Linux build included.
Full source code included.
Re: FerBotz (new AI, global release 16)
accessed none error fix. (release 16)
newest
http://www.mediafire.com/download/cawoy ... 170129.zip
old
http://www.mediafire.com/download/9j6xp ... 162100.zip
newest
http://www.mediafire.com/download/cawoy ... 170129.zip
old
http://www.mediafire.com/download/9j6xp ... 162100.zip
Re: FerBotz (new AI, global release 16.1)
Updated first post
- Critical update changelog
Fixed bug making botz attempt to translocate without translocator.
Fixed debug actors being visible showing up on normal games.
Included updated SiegeIV profile and lots of map navigation files.
================= NATIVE ONLY:
High jump and high transloc nodes now do properly path generation.
Fixed error in Nav file loading.
=================================
gust
No longer needed:
AimPoint extra sanity checks (spawned in Botz's PreBeginPlay)
- Critical update changelog
Fixed bug making botz attempt to translocate without translocator.
Fixed debug actors being visible showing up on normal games.
Included updated SiegeIV profile and lots of map navigation files.
================= NATIVE ONLY:
High jump and high transloc nodes now do properly path generation.
Fixed error in Nav file loading.
=================================
gust
No longer needed:
Code: Select all
if( aN[1] != None )
{
aN[1].describeSpec( aN[0].Paths[ i[1] ], aS, aE, h, k);
}
Re: FerBotz (new AI, global release 16.1)
File comparison tool
http://winmerge.org/
accessed none error fix. (release 16.1)
newest
http://www.mediafire.com/download/px6h4 ... 201427.zip
old
http://www.mediafire.com/download/yhy1d ... 171956.zip
http://winmerge.org/
accessed none error fix. (release 16.1)
newest
http://www.mediafire.com/download/px6h4 ... 201427.zip
old
http://www.mediafire.com/download/yhy1d ... 171956.zip
Re: FerBotz (new AI, global release 17)
Updated first post
- Changes from this version:
Updated client interface to Ferbotz_cl_3 >>>>>>>> CHECK YOUR BOTZDEFAULT.INI FOR CL_2 REFERENCES
Dummy pawn creation should no longer cause issues with player count in servers (credits to Gust).
Fixed Bug in path cost adder, loooots of log spam removed.
Fixed bots getting stuck on pickup locations.
Botz plugins may now select which AI state botz should use.
Fixed Siege plugin, following players supported now.
Fixed bots resetting state while traversing between very distant points (ty Red_fist).
Fixed bug causing bots to fall when jumping between very thin platforms.
================= NATIVE ONLY:
Fixed bug causing base Botz nodes to connect to other high, unreachable nodes.
Basic Botz nodes now respect each other's MaxDistance when connecting each other, makes simple one-ways possible.
Moved more functions to native code.
EXTRA NOTES:
Replaced ThisOrThat function with a native operator.
This allows very simple conditional multi-object operations, and is a skip expression, meaning that if A exists B never gets executed.
Example:
- Target = Enemy Or OldEnemy Or FindEnemy();
This sets the target to Enemy if exists, else to OldEnemy, else to FindEnemy().
Uscript:
Native:
You may check these out on the source code.
- Changes from this version:
Updated client interface to Ferbotz_cl_3 >>>>>>>> CHECK YOUR BOTZDEFAULT.INI FOR CL_2 REFERENCES
Dummy pawn creation should no longer cause issues with player count in servers (credits to Gust).
Fixed Bug in path cost adder, loooots of log spam removed.
Fixed bots getting stuck on pickup locations.
Botz plugins may now select which AI state botz should use.
Fixed Siege plugin, following players supported now.
Fixed bots resetting state while traversing between very distant points (ty Red_fist).
Fixed bug causing bots to fall when jumping between very thin platforms.
================= NATIVE ONLY:
Fixed bug causing base Botz nodes to connect to other high, unreachable nodes.
Basic Botz nodes now respect each other's MaxDistance when connecting each other, makes simple one-ways possible.
Moved more functions to native code.
EXTRA NOTES:
Replaced ThisOrThat function with a native operator.
This allows very simple conditional multi-object operations, and is a skip expression, meaning that if A exists B never gets executed.
Example:
- Target = Enemy Or OldEnemy Or FindEnemy();
This sets the target to Enemy if exists, else to OldEnemy, else to FindEnemy().
Uscript:
Code: Select all
//***************************** << - Returns B if A doesn't exist
native static final operator(22) Actor Or (Actor A, skip Actor B);
Code: Select all
void ABotz::execOr_ActorActor(FFrame &Stack, RESULT_DECL)
{
P_GET_ACTOR(A);
P_GET_SKIP_OFFSET(W);
if( !A )
{
P_GET_ACTOR(B);
*(AActor**)Result = B;
Stack.Code++; //SAME AS P_FINISH
}
else
{
*(AActor**)Result = A;
Stack.Code += W;
}
}