FerBotz (new AI, XCGE release 20)

User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: FerBotz (new AI, global release 17)

Post by sektor2111 »

If BOTz will stop grab-ing doors I'll be glad to use them... I checked them into a MH map. Simply started to open doors and were blocked at a BlockedPath even if other paths were free so I need to put them in cover mode to unlock that behavior. On-Line were invisible, Off-Line did not interest me when they got crappy meshes, I was starting game until they were normal. At a moment game crashed at garbage collection procedure.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, global release 17)

Post by Higor »

I added that door hack back at 2007 as a test workaround to avoid running at triggers, had already forgotten about it (very horrible, I did bad and should feel bad about this).
Will see what I can do now that botz can chain destinations in order to navigate outside of the path network...
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: FerBotz (new AI, global release 17)

Post by sektor2111 »

Let's say that for MH is not a big deal, I was looking over Botz in classic matches, by example DM.
Meh... these Botz are rushing Navigation jumping too early, simply fail target falling in dead zones, I checked a DM-Deck the way to Flak near acid zone. Because that map has bad Navigation options I made paths to other Flak (on box) which usually was not reachable only when normal bot has been heavily threatened, of course even PulseGun might be better reachable and all items can be successfully collected. I don't know origins of "DM-Deck16][" but those "][" distracted me, simply a monkey ruined teleporter to Redeemer probably Bot was considered insane. He, he... that's 0 threat. I have some Monster pawns weapon-holders able to copy weapon from player, and hang on baby when they copy Redeemer or SniperRifle as long as they can use it in infinity...
Botz might fail lifts and fall in Flak area, I tracked them in spectator mode and they are doing the same mistakes all the time, attempt to jump too early.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, global release 18)

Post by Higor »

- Changes for version 18:

Moved ProfileFire logs into a debug section.
Game profiles now receive notifications of Botz killing enemies.
Enhanced TeamGamePlus profile, attacker bots will go hunting for easy targets.
Fixed small bug in aim system, should be less jerky now.
DynamicBotzPlayer (mutate editpaths) also shows normal path's connections.
Botz's no longer cheat closed doors (lol)
Botz no longer attack flock pawns (unless they are attacking the botz)
Improved elevator handling, now with lift jumping.
Fixed massive log warnings on non-native version.
MonsterHunt profile reworked:
- Botz are more aggressive but tend to attack in groups (they recognize Bot and Players as supports).
- Nalis and Cows aren't selected as enemies.
- Changed objective targeting order and polls for existant and reachability in this order:
--> MonsterEnd
--> MonsterWaypoint
--> Strong Monster
--> Trigger (bTriggerOnceOnly)

================= NATIVE ONLY:
CollideTrace function moved to native code.
Linux binary no longer requires __Context::Env symbol, works on all v436 builds.
DirectLinkPaths no longer save with erroneous orientation (caused mislinking).
Fixed Botz_NavigRemover (should no longer crash)
Native branch is the main version now.
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: FerBotz (new AI, global release 18)

Post by sektor2111 »

Higor wrote:--> MonsterEnd
--> MonsterWaypoint
--> Strong Monster
--> Trigger (bTriggerOnceOnly)
It's possible to be changed this ?
Ordered
- Monster (if on sight)
- Trigger if encountered
- MonsterWayPoint - FACTOR 1 from old attraction code
- MonsterEnd - FACTOR 2 Alternate ROAD
Else I have an Arden version (like other maps). First you have to unlock doors before to find the way to end. End is not NO.1 priority.
They should follow directives if Botz pathing file not exist as long as normal Bot behaves properly.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, global release 18)

Post by Higor »

Reachability is a requirement for a goal to be taken, MonsterWaypoint and MonsterEnd actors are never taken as attack routes for Botz that cannot reach them, and that's where the alternate goals come in handy.
There are maps that contain unkillable monsters and prioritizing them over the objectives will cause an obvious problem here.

Properly pathed maps will have BlockedPath actors and other variations that prevent bots from taking inaccesible routes.
As long as these routes are closed, bots will attempt to find an alternate solution to reaching a goal and that's where triggers and monsters are targeted.
Still, they don't brainlessly rush to objectives like default bots do, at least in the very first MH.u (yep, that's the MH i was coding and testing on, I'd make an even more lightweight version if I could be arsed with).

You can edit the MonsterHuntUBZFV.u file to get a different behaviour, that's the goodies of the profile system which I happen to have extended a bit more with v18.
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: FerBotz (new AI, global release 18)

Post by sektor2111 »

In v5.04 A.I. is simple but has tiny things in attraction:
Telling to Bot:
- Encountered an enemy (because attitude directive has been added), attack;
- Fallback out of load - No directives set - allow Bot to do what need;
- No good health or good weapon ? Rush to inventories first - native;
- See active Teleporter and other Hunter is moving closer - wait a bit;
- Monster tweak LineOfSightTo based - attack, if Bot is closer than current enemy or switch if wounded;
- ONLY if NO enemy and NO Attack, find a Waypoint which will open door - This way is in all maps with default Bot support;
- No WayPoint - Move to an End then;
- Reached at End ? Wait there nice - not all maps are ending suddenly (MH-AS-ColdSteel as example) and all Miam Krogaar Demons][ LiandriInvasion works this way (probably Liandri will mess with wounded Bot trying to get something behind a door, but mainly works good).
WayPoint or End are marked as an actor target to not keep foreach-ing. Once completed a Waypoint, first Bot will asses again next target for the rest of Team.
In this way Bot won't race if has monsters on sight, won't try to hunt with 10 health only if is in ambush, and all things. MHv503 has the dumbest A.I. ever seen and nobody can convince me as not being like that - is only code-push with any matter, but indeed can be fine tuned by special pathing as long as engine is enough helpful.
User avatar
Lemon
Novice
Posts: 12
Joined: Sun Mar 15, 2015 2:24 pm

Re: FerBotz (new AI, global release 18)

Post by Lemon »

Hi,
Thats what i get on windows server :

Code: Select all

ScriptLog: Add mutator FerBotz.BotzMutator
Log: Bound to FerBotz.dll
Critical: appError called:
Critical: Can't find 'intABotz_PathLoaderexecclearArray' in 'FerBotz.dll'
Exit: Executing UObject::StaticShutdownAfterError
You previously answered,
Higor wrote:clearArray <<< Lower case C.

Another package is creating this name with a lower case, causing botz to crash.
Solution > Change said package's name to have a upper case C at the start.

It is standard Epic coding style to make non-single letter functions and variable names have proper casing.
but i don't get it, what should i do ? Does it means i have something to recompile ?
i only downloaded v18 and followed setup process in it.
Regards,
Image
:o "One of the 600 admins for 200 players around" & "My server better no shit" movies are intellectual property of ©Terrible Sexual Life Productions
Think about it, game industry doesn't want you to buy one time and play for decades, they want you to buy a new game as soon as possible. Thats why UT99 still the best UT. :o
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, global release 18)

Post by Higor »

Created a new native macro:

Code: Select all

void ABotz_PathLoader::execClearArray(FFrame &Stack, RESULT_DECL)
{
	P_FINISH;
	NavArray.Empty();
}
//New macro, should register an extra symbol for this native function
IMPLEMENT_RENAMED_FUNCTION(ABotz_PathLoader,-1,execClearArray,execclearArray);
This way FerBotz also implements a secondary symbol (execclearArray with lower case C).
Try this DLL, if it works, I'll implement this in the next release.
Attachments
FerBotz.7z
(16.35 KiB) Downloaded 99 times
User avatar
papercoffee
Godlike
Posts: 10447
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, global release 18)

Post by papercoffee »

How would FerBotz like reloadable weapons? :wink:
User avatar
Lemon
Novice
Posts: 12
Joined: Sun Mar 15, 2015 2:24 pm

Re: FerBotz (new AI, global release 18)

Post by Lemon »

Thanks, that now works :)

Ok now i get tons of this in log (just to let you know, that seems to work ok):

Code: Select all

ScriptWarning: SmartCTF CTF-MyMap.SmartCTF0 (Function SmartCTF_4E.SmartCTF.ModifyPlayer:0189) Accessed None
ScriptWarning: UTStats CTF-MyMap.UTStats0 (Function UTStatsBeta4_2.UTStats.LogKill:00AB) Accessed array out of bounds (-1/33)
ScriptWarning: UTStats CTF-MyMap.UTStats0 (Function UTStatsBeta4_2.UTStats.LogKill:00BD) Accessed array out of bounds (-1/33)
ScriptWarning: UTStats CTF-MyMap.UTStats0 (Function UTStatsBeta4_2.UTStats.LogSpree:001D) Accessed array out of bounds (-1/33)
Ok that seems to be related to other mods running on server but only appears with your.

While i'm on it, you provide an actor for server udp queries, i don't load it becasue i use XServerQuery, maybe you could try something compatible with it ?
Not very useful anyway as, if i'm correct, it shows botz as players in browser ? hmm some people may not like... :tongue:
XServer is just great (plus it has security fixes) : http://wiki.beyondunreal.com/XServerQuery

Gonna test your Botz deeper...

edit1:
Botz are in scoreboard but they do not spawn and,
when match begins, one of them is replaced with a regular bot which spawns and shoot at invisible, not moving, botZ.

edit2:
Botz are invisible because i don't have your skins > you should use regular skins for testing
Tested w/o server (Practice game), that seems to work but botz look easier than best regular bots... maybe i missed something
Menu is in spanish and i was a terrible noob in spanish at school, i used those hours of school to draw maps for "4D Sport Driving", i mean with a pen and paper... yea im old)
Image
:o "One of the 600 admins for 200 players around" & "My server better no shit" movies are intellectual property of ©Terrible Sexual Life Productions
Think about it, game industry doesn't want you to buy one time and play for decades, they want you to buy a new game as soon as possible. Thats why UT99 still the best UT. :o
User avatar
Emperor
Average
Posts: 58
Joined: Wed May 21, 2008 8:56 pm
Personal rank: Rtma Eros Paragon
Location: Australia

Re: FerBotz (new AI, global release 18)

Post by Emperor »

For some reason whenever I try to use ActivatorZ mutator to set up a LAN game the game keeps closing on itself yet with Offline works wonders?
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: FerBotz (new AI, global release 18)

Post by Higor »

Emperor wrote:For some reason whenever I try to use ActivatorZ mutator to set up a LAN game the game keeps closing on itself yet with Offline works wonders?
Post the game log, and we'll see what's making it crash/close.
Lemon wrote:edit1:
Botz are in scoreboard but they do not spawn and,
when match begins, one of them is replaced with a regular bot which spawns and shoot at invisible, not moving, botZ.
I kinda slacked off with how Botz detect game start, I should have handled this ages ago.
If you're using Nexgen to control game start, botz won't spawn.
Lemon wrote:While i'm on it, you provide an actor for server udp queries, i don't load it becasue i use XServerQuery, maybe you could try something compatible with it ?
Not very useful anyway as, if i'm correct, it shows botz as players in browser ? hmm some people may not like... :tongue:
XServer is just great (plus it has security fixes) : http://wiki.beyondunreal.com/XServerQuery
XServerQuery has a couple of fatal crashbugs, so I stick to a patched IpDrv.u but whatever, I can make a XServerQuery variation that displays Botz in menues and fixes the bugs.
Lemon wrote:edit2:
Botz are invisible because i don't have your skins > you should use regular skins for testing
Tested w/o server (Practice game), that seems to work but botz look easier than best regular bots... maybe i missed something
Menu is in spanish and i was a terrible noob in spanish at school, i used those hours of school to draw maps for "4D Sport Driving", i mean with a pen and paper... yea im old)
Botz should usually be able to access the server's ServerPackages when autoselecting skins, unless you manually add them.
Remember that there's at least 4 different ways to add them, the list can be easily edited to have some preset bots.
And that menu is something I left off lots of years ago, way before Botz even became public, it's actually a miracle that thing can still add botz lol
papercoffee wrote:How would FerBotz like reloadable weapons? :wink:
Would need to test them first.

Short TODO:
- Add a native function to check a package in the PackageMap object (for botz Botz and XC_GameEngine), should get rid of skin problems online once and for all.
- Rework the translocator hack so it works with custom translocators (should prevent botz from firing two translocators at once).
- Add a base difficulty scaler for all Botz.
User avatar
papercoffee
Godlike
Posts: 10447
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, global release 18)

Post by papercoffee »

Higor wrote:
papercoffee wrote:How would FerBotz like reloadable weapons? :wink:
Would need to test them first.
I did send you something you can test them with ... :wink: :wink:
User avatar
Emperor
Average
Posts: 58
Joined: Wed May 21, 2008 8:56 pm
Personal rank: Rtma Eros Paragon
Location: Australia

Re: FerBotz (new AI, global release 18)

Post by Emperor »

I don't know how much you were looking for so I did the part after preloading the mods in my Menu, also I don't remember how to add a scroll bar... so here.

Code: Select all

Log: Game class is 'NSWTeamGame'
Init: WinSock: version 1.1 (2.2), MaxSocks=32767, MaxUdp=65467
Init: WinSock: Socket queue 131072 / 131072
Init: WinSock: I am Owner-PC (10.0.0.1)
DevNet: TcpNetDriver on port 7777
Log: Server Package: SoldierSkins
Log: Server Package: CommandoSkins
Log: Server Package: FCommandoSkins
Log: Server Package: SGirlSkins
Log: Server Package: BossSkins
Log: Server Package: Botpack
Log: Server Package: MultiMesh
Log: Server Package: Relics
Log: Server Package: SupaRelics
Log: Server Package: Relics2
Log: Server Package: EpicCustomModels
Log: Server Package: TCowMeshSkins
Log: Server Package: TNaliMeshSkins
Log: Server Package: TSkMSkins
Log: Server Package: Carlinpackage
Log: Server Package: SkeletalCharsFix313
Log: Server Package: SkeletalChars
Log: Server Package: Abbeyskins
Log: Server Package: 6Abbey
Log: Server Package: Chreks
Log: Server Package: Chrekskins
Log: Server Package: Chrekvoicedozer
Log: Server Package: Chrekvoicescout
Log: Server Package: BossSkins_Shoc
Log: Server Package: BossSkins_Bdeath
Log: Server Package: BossSkins_666
Log: Server Package: RtCode
Log: Server Package: RtVoices
Log: Server Package: RtModels
Log: Server Package: BossSkins_Brass
Log: Server Package: BossSkins_Neo
Log: Server Package: BossSkins_rt
Log: Server Package: BossSkins_BC
Log: Server Package: BossSkins_gr8
Log: Server Package: BossSkins_Sprk
Log: Server Package: BossSkins_keep
Log: Server Package: BossSkins_cc
Log: Server Package: Bossface
Log: Server Package: ChaosUT
Log: Server Package: SpaceMarine40KSkins
Log: Server Package: SpaceMarineSkins_2
Log: Server Package: SpaceMarineSkins_3
Log: Server Package: SpaceMarineSkins_4
Log: Server Package: SpaceMarine40kv2
Log: Server Package: SpaceMarineskins_csm
Log: Server Package: SpaceMarineSkins3
Log: Server Package: SpaceMarineSkins4
Log: Server Package: SoldierSkins_of
Log: Server Package: SoldierSkins_as
Log: Server Package: SoldierSkins_md
Log: Server Package: Soldier_Armor
Log: Server Package: SoldierSkins_ci
Log: Server Package: tskmskins_nlms
Log: Server Package: tskmskins_scut
Log: Server Package: SGirl_Knight
Log: Server Package: SGirlSkins_ci
Log: Server Package: SGirlSkins_mb
Log: Server Package: Commandoskinsm
Log: Server Package: FCommandoskinsm
Log: Server Package: tskmskins_arisen
Log: Server Package: tskmskins_rt
Log: Server Package: NewXanSkins_Titan
Log: Server Package: XXanPackage
Log: Server Package: U4eT
Log: Server Package: U4eTC
Log: Server Package: U4eTCM
Log: Server Package: U4eTM
Log: Server Package: UTChaosMap
Log: Server Package: de
Log: Server Package: Apocalypse
Log: Server Package: Psmp
Log: Server Package: RelicHUDFix
Log: Server Package: WhoPushedMe
Log: Server Package: gateway
Log: Server Package: TDraco2Skins
Log: Server Package: TDraco2Skins_S
Log: Server Package: TAlienSkins
Log: Server Package: TDevilSkins
Log: Server Package: TDraco1Skins
Log: Server Package: TDraco1Skins_S
Log: Server Package: TFredSkins
Log: Server Package: TGolemSkins
Log: Server Package: TGrimSkins
Log: Server Package: THenrySkins
Log: Server Package: TMonsterMasterSkins
Log: Server Package: TMrBigSkins
Log: Server Package: TZhalSkins
Log: Server Package: TTeddySkins
Log: Server Package: U4eAlienVoice
Log: Server Package: U4EDevilVoice3
Log: Server Package: U4ETeddyBear
Log: Server Package: U4EZhalVoice
Log: Server Package: HS2
Log: Server Package: SmartCTF_4C
Log: Server Package: Fisk
Log: Server Package: TSkMSkins_cobra
Log: Server Package: SkaarjBossPS2Skins
Log: Server Package: SkaarjBPS2Skins
Log: Server Package: SkaarjHybridPS2Skins
Log: Server Package: UTPS2Characters
Log: Server Package: PS2WarMachineM
Log: Server Package: Psi
Log: Server Package: SlaveMaster
Log: Server Package: JailBreak
Log: Server Package: JailFight
Log: Server Package: JBArena
Log: Server Package: JBFatboy
Log:    (server-side only)
Log: Server Package: JBMadmen
Log:    (server-side only)
Log: Server Package: JBRelics
Log:    (server-side only)
Log: Server Package: JBRSIndicator
Log: Server Package: JBTransloc
Log:    (server-side only)
Log: Server Package: JBSpecials
Log: Server Package: EIBotpackUpgrade
Log: Server Package: BenderPackage
Log: Server Package: MrBurnspackage
Log: Server Package: FagPackage
Log: Server Package: dukepackage
Log: Server Package: RetardGirl
Log: Server Package: Ferbotz_cl_3
Log: Server Package: EavySpawnProtectSDAVersionA
Log: Server Package: TeamBeacon2k4
Log: Server Package: NWUltraGoreSSEb
Log: Server Package: UT2004CharactersV2
Log: Server Package: NWCoreVIII
Log: Server Package: NWMHExtrasVIII
Log: Server Package: NWExtrasVIII
Log: Server Package: NWModifiersVIII
Log: Server Package: NWBoltRifleVIII
Log: Server Package: NWFlameTrackerVIII
Log: Server Package: NWFreezerVIII
Log: Server Package: NWGravitonVIII
Log: Server Package: NWIRPRVIII
Log: Server Package: NWMultiMissileVIII
Log: Server Package: NWTheExecutionerVIII
Log: Server Package: NWTheMinerVIII
Log: Server Package: NWUltimaProtosVIII
Log: Server Package: NWVulcanVIII
Log: Server Package: NWWREVIII
Log: Spawning: IpDrv.UdpBeacon
Log: Spawning: IpServer.UdpServerQuery
Log: Spawning: IpServer.UdpServerUplink
Log: Spawning: IpServer.UdpServerUplink
Log: Spawning: IpServer.UdpServerUplink
Log: Spawning: UWeb.WebServer
Log: Level is Level DM-Liandri.MyLevel
Log: Bringing Level DM-Liandri.MyLevel up for play (0)...
ScriptLog: InitGame: ?Game=NoSpawnWait.NSWTeamGame?Mutator=ColorUltraShock.MutColorUltraShock,RelicHUDFix.MutRelicHUDMutatorFix,psMP.psTeamer,psMP.MutResizer,BotChatCommand.BotChatClass,GameStyler.GameStyler,XMaps.XMapsControl,XBots9b.XBotsMutator,Relics2.RelicAffinity,SupaRelics.RelicBarb,Relics.RelicRegen,Relics.RelicSpeed,Relics.RelicStrength,Relics.RelicDeath,StuffSwapper.StuffSwapper,WhoPushedMe.WhoPushedMe,NWUltraGoreSSEb.NWBloodyMess_UGSSE,TWFSightRadius.TWFSightRadius,EavySpawnProtectSDAVersionA.EavySpawnProtectionSDA,BotOrders.BotOrders,TeamBeacon2k4.TeamBeacon2k4,rtCode.rtRelics,U4eTC.U4eTPLAYERS,psMP.MutHaloShield,psMP.psMute,DE.VolatileAmmo,De.VolatileWeapon,FerBotz.BotzMutator?Listen?Checksum=NoChecksum?Name=Rtma?Class=U4eTC.TDraco2?team=1?skin=TDraco2skins.DrcW?Face=TDraco2skins.Wyvern?Voice=UTPS2Characters.SkaarjHybridPS2Voice?OverrideClass=
ScriptLog: Base Mutator is DM-Liandri.DMMutator0
ScriptLog:
Last edited by UnrealGGecko on Tue May 12, 2015 4:09 am, edited 1 time in total.
Reason: put [code] to the log.
Post Reply