SmartStockBots mutator
-
- Godlike
- Posts: 3227
- Joined: Sat Mar 21, 2020 5:32 am
SmartStockBots mutator
Mutator for make stock bots smart.
Contain many fixes for different game types and cases.
Goal of mutator - make gameplay with stock bots more interesting, with preserve compatibility with other mods.
This bots compatible with any mods which expects stock bots.
Some of compatible mods: Xbots, DynamicBotsCount and so on.
Mutator targeted only to stock UT bots or any subclasses of it.
Configure:
Edit SmartStockBots.ini file
Local use: After each load UT use Mod menu for activate loader. After that you can play any map (include campaign ladder) with this mutator (except network play on other servers OFC)
Not activate it if wanna play on ACE servers - ACE kick you.
You need reload UT if wanna play on ACE servers if at least once activate loader during this UT run.
Install on server:
Add to mutator list SmartStockBots.SmartStockBots (or to ServerActors - preferred way)
Not need add it into ServerPackages.
Current list of fixes:
1. FixCTFAlternatePaths
Before it be separate mutator FixCTFBots. If you use it - remove it when install this mutator.
- Periodically check all bots and set AlternatePath when bots return flag to home base.
As result:
- bots less attack by same shortest way.
Work only for CTFGame and subclasses of it. Require AlternatePath actors on map.
2. ShortMovements
Before it be separate mutator FixBots. If you use it - remove it when install this mutator.
Periodically check all bots movement and correct it if possible.
As result:
- bots move on paths more "humanly" - less "as train".
- bots less predictable.
- bots faster reach goals.
- bots less stuck on obstacles.
- bots can skip some PathNodes - usually this not matter.
Correction work only when travel on exactly Botpack.PathNode (not subclass).
3. StopAutoFollowPlayer
Before it be separate mutator StopFollowBot. If you use it - remove it when install this mutator.
Bots who follow players after add it to game, get defense order.
As result:
- Bot not try follow player, and team goes to be more stronger, since bot normally not able cover player. Or player do random stuff, and bot just do nothing useful.
4. MoveWithDodge
Bot move with dodge when find this appropriate. Bot must have skill above Adept. More skilled bots dodge more often.
As result:
- bot move faster and more like skilled humans.
5. FastImpactJump
Reduce delay for start Impact Jump.
As result:
- bot do Impact Jump faster.
6. SayHi
Bot can say "hi" if player join after bots.
As result:
- you can always notice join new player to party.
7. SayGG
Bot can say "gg" after game ended.
8. DestroyEnemyTranslocator
Bot going destroy enemy translocator disc if see it and not busy with other stuff.
9. DestroyEnemyWarshell
Bot going destroy enemy redemer rocket if see it and not busy with other stuff.
10. NoVictoryDance
Prevent do Victory Dance by bots.
11. PlayTauntIfWin
Bot do some taunt if win game.
12. FarAttacks
Bot attack targets far away.
13. FakePing
Make ping for bots.
As result:
- some players think it is humans and can left play.
14. NotMarkAsBot
Not mark bots as bots
As result:
- some players think it is humans and can left play.
- In scoreboard you not see anymore bot orders. But it is stil accessible via voice menu.
15. GoodBotVsPlayersTeam
Add best bot (by skill adjust) if before match start found uneven team to 2 players or more.
Work only for team games and only if bot fill in random order.
If all bots of same skill - just picked up random bot.
As result:
- very easy play in team games Humans vs Bots (just move all players to one team before match start), and this ensure Bots equipped with at least one good bot.
16. FixCTFReturnOnlyAlternatePaths
- Fix select AlternatePaths on map with bReturnOnly AlternatePaths.
As result:
- bots not do dumb runs to inproper spot.
Work only for CTFGame and subclasses of it. Require AlternatePath bReturnOnly actors on map.
17. AvoidMoveToDead
- Remove MoveTarget if it is dead pawn.
As result:
- bots not do dumb runs to invisible dead enemies.
18. ClearStateOnDeath
- On death bot state cleared. Currently it include some vars for movement code..
As result:
- bots stop try sometimes do dumb run into wall or deadly zone after respawn.
19. ReportEnemyFlagCarrierLocation
- When bot report about "Enemy flag carrier is here." appear second message in form "Enemy flag carrier is here: %Location Name%"
As result:
- bots report to you where actually flag carrier is. Not where they be when see it.
20. FixCTFDefendersOnStolenFlag
- When flag stolen ensure defenders not stuck in dumb modes, like LongCamp or travel to empty FlagBase.
As result:
- bots faster goes return flag.
21. FixSightRadius
- Set SightRadius to 10000 instead of default 5000.
As result:
- bots notice things on bigger distance in some cases.
22. FastRespawn
- Try respawn bot if it dead more from FastRespawn_MaxDelay seconds.
As result:
- bots respawn faster, more like human players.
23. FixMinigun
- Modify AimError for all minigun2 based weapons used by bots, by FixMinigun_AimErrorModifier times.
As result:
- bots fire from minigun less awful precise, which more look as real players.
24. AvoidDumbMoveToCTFFlag
- Remove MoveTarget if it CTFFlag returned or grabbed just yet.
As result:
- bots not do dumb runs to CTFFlag if someone else return or grab it.
25. UseAirControlOnFall
- Aim to landing point when fall.
As result:
- bots able properly jump with impact hammer or with boots, to desired place. This also applies to usual fall or jump.
It fixes dumb useless fall down if hit something in mid-air. Also this mitigate weird jumps when bot carry boots - now they lands where need, even if make such jump.
26. StopTravelToPickedInventory
- Remove MoveTarget if it Inventory which already picked.
As result:
- bots not do dumb runs to inventory spot if can't grab it.
27. KillWalkingDead
- Make alive bots with Health <= 0 dead, if they not dead.
As result:
- bots not stuck in zombie state and return to normal play.
ModDB: https://www.moddb.com/mods/smartstockbots
Also you can use custom bots set, for make bots looking less as bots.
Contain many fixes for different game types and cases.
Goal of mutator - make gameplay with stock bots more interesting, with preserve compatibility with other mods.
This bots compatible with any mods which expects stock bots.
Some of compatible mods: Xbots, DynamicBotsCount and so on.
Mutator targeted only to stock UT bots or any subclasses of it.
Configure:
Edit SmartStockBots.ini file
Local use: After each load UT use Mod menu for activate loader. After that you can play any map (include campaign ladder) with this mutator (except network play on other servers OFC)
Not activate it if wanna play on ACE servers - ACE kick you.
You need reload UT if wanna play on ACE servers if at least once activate loader during this UT run.
Install on server:
Add to mutator list SmartStockBots.SmartStockBots (or to ServerActors - preferred way)
Not need add it into ServerPackages.
Current list of fixes:
1. FixCTFAlternatePaths
Before it be separate mutator FixCTFBots. If you use it - remove it when install this mutator.
- Periodically check all bots and set AlternatePath when bots return flag to home base.
As result:
- bots less attack by same shortest way.
Work only for CTFGame and subclasses of it. Require AlternatePath actors on map.
2. ShortMovements
Before it be separate mutator FixBots. If you use it - remove it when install this mutator.
Periodically check all bots movement and correct it if possible.
As result:
- bots move on paths more "humanly" - less "as train".
- bots less predictable.
- bots faster reach goals.
- bots less stuck on obstacles.
- bots can skip some PathNodes - usually this not matter.
Correction work only when travel on exactly Botpack.PathNode (not subclass).
3. StopAutoFollowPlayer
Before it be separate mutator StopFollowBot. If you use it - remove it when install this mutator.
Bots who follow players after add it to game, get defense order.
As result:
- Bot not try follow player, and team goes to be more stronger, since bot normally not able cover player. Or player do random stuff, and bot just do nothing useful.
4. MoveWithDodge
Bot move with dodge when find this appropriate. Bot must have skill above Adept. More skilled bots dodge more often.
As result:
- bot move faster and more like skilled humans.
5. FastImpactJump
Reduce delay for start Impact Jump.
As result:
- bot do Impact Jump faster.
6. SayHi
Bot can say "hi" if player join after bots.
As result:
- you can always notice join new player to party.
7. SayGG
Bot can say "gg" after game ended.
8. DestroyEnemyTranslocator
Bot going destroy enemy translocator disc if see it and not busy with other stuff.
9. DestroyEnemyWarshell
Bot going destroy enemy redemer rocket if see it and not busy with other stuff.
10. NoVictoryDance
Prevent do Victory Dance by bots.
11. PlayTauntIfWin
Bot do some taunt if win game.
12. FarAttacks
Bot attack targets far away.
13. FakePing
Make ping for bots.
As result:
- some players think it is humans and can left play.
14. NotMarkAsBot
Not mark bots as bots
As result:
- some players think it is humans and can left play.
- In scoreboard you not see anymore bot orders. But it is stil accessible via voice menu.
15. GoodBotVsPlayersTeam
Add best bot (by skill adjust) if before match start found uneven team to 2 players or more.
Work only for team games and only if bot fill in random order.
If all bots of same skill - just picked up random bot.
As result:
- very easy play in team games Humans vs Bots (just move all players to one team before match start), and this ensure Bots equipped with at least one good bot.
16. FixCTFReturnOnlyAlternatePaths
- Fix select AlternatePaths on map with bReturnOnly AlternatePaths.
As result:
- bots not do dumb runs to inproper spot.
Work only for CTFGame and subclasses of it. Require AlternatePath bReturnOnly actors on map.
17. AvoidMoveToDead
- Remove MoveTarget if it is dead pawn.
As result:
- bots not do dumb runs to invisible dead enemies.
18. ClearStateOnDeath
- On death bot state cleared. Currently it include some vars for movement code..
As result:
- bots stop try sometimes do dumb run into wall or deadly zone after respawn.
19. ReportEnemyFlagCarrierLocation
- When bot report about "Enemy flag carrier is here." appear second message in form "Enemy flag carrier is here: %Location Name%"
As result:
- bots report to you where actually flag carrier is. Not where they be when see it.
20. FixCTFDefendersOnStolenFlag
- When flag stolen ensure defenders not stuck in dumb modes, like LongCamp or travel to empty FlagBase.
As result:
- bots faster goes return flag.
21. FixSightRadius
- Set SightRadius to 10000 instead of default 5000.
As result:
- bots notice things on bigger distance in some cases.
22. FastRespawn
- Try respawn bot if it dead more from FastRespawn_MaxDelay seconds.
As result:
- bots respawn faster, more like human players.
23. FixMinigun
- Modify AimError for all minigun2 based weapons used by bots, by FixMinigun_AimErrorModifier times.
As result:
- bots fire from minigun less awful precise, which more look as real players.
24. AvoidDumbMoveToCTFFlag
- Remove MoveTarget if it CTFFlag returned or grabbed just yet.
As result:
- bots not do dumb runs to CTFFlag if someone else return or grab it.
25. UseAirControlOnFall
- Aim to landing point when fall.
As result:
- bots able properly jump with impact hammer or with boots, to desired place. This also applies to usual fall or jump.
It fixes dumb useless fall down if hit something in mid-air. Also this mitigate weird jumps when bot carry boots - now they lands where need, even if make such jump.
26. StopTravelToPickedInventory
- Remove MoveTarget if it Inventory which already picked.
As result:
- bots not do dumb runs to inventory spot if can't grab it.
27. KillWalkingDead
- Make alive bots with Health <= 0 dead, if they not dead.
As result:
- bots not stuck in zombie state and return to normal play.
ModDB: https://www.moddb.com/mods/smartstockbots
Also you can use custom bots set, for make bots looking less as bots.
You do not have the required permissions to view the files attached to this post.
Last edited by Buggie on Thu Aug 15, 2024 9:44 pm, edited 56 times in total.
-
- Adept
- Posts: 388
- Joined: Mon Nov 11, 2013 7:56 am
- Personal rank: Average
- Location: India
-
- Experienced
- Posts: 94
- Joined: Thu Nov 03, 2011 5:12 am
Re: SmartStockBots mutator
Yes, this is seriously great!
I tried so far: Godlike on SniperTownDepot2022 with the TWFSightRadius mutator as well.
But then what arguably benefits much more from this: Frag*Ball.
You gotta try this: Godlike with the aforementioned mutator config on Ice Area 5vs5 go red team (running into goals is flaky for bots on that map, guess that might be an easy fix).
I got a
57 -18 win (30 point spread goal). But you do have to work for it now.
Oh the better map to try like this is actually FragBowl. 105 - 75 and it took 45mins.
I tried so far: Godlike on SniperTownDepot2022 with the TWFSightRadius mutator as well.
But then what arguably benefits much more from this: Frag*Ball.
You gotta try this: Godlike with the aforementioned mutator config on Ice Area 5vs5 go red team (running into goals is flaky for bots on that map, guess that might be an easy fix).
I got a
57 -18 win (30 point spread goal). But you do have to work for it now.
Oh the better map to try like this is actually FragBowl. 105 - 75 and it took 45mins.
Last edited by a9902957@nepwk.com on Fri Sep 16, 2022 3:40 pm, edited 2 times in total.
-
- Godlike
- Posts: 3227
- Joined: Sat Mar 21, 2020 5:32 am
Re: SmartStockBots mutator
I plan constantly improve this mutator with some features. For example, one from next planned feature - force bots attack enemy Redeemer rocket.
Not really get what you mean or suggest.
Also goal of this mutator be external and never subclass bots, since it intended work with NewNet and others (UNN, FNN, IG+ and so on), which replace bots by own subclasses for achieve some effects, like hit sound, for example.
Not really get what you mean or suggest.
Automatically merged
-
- Skilled
- Posts: 170
- Joined: Sat Mar 24, 2012 1:37 am
Re: SmartStockBots mutator
this is an awesome mutator. glad you plan on updating it with new features as well. For the dodging, maybe add chance to use forward dodge animation as well? Just for variability
-
- Godlike
- Posts: 3227
- Joined: Sat Mar 21, 2020 5:32 am
Re: SmartStockBots mutator
I use it on my VCTF server, so you can join and see it in action: viewtopic.php?f=33&t=15141
There Masterful bots (base level of bots). But it fine tuned, so some bots get + in skills, some get - in skills, so range varied. Finally there bot skill able be from Adept to Godlike.
I not like bots which less from Adept, since it make them running slowly which look unnatural.
Starting from Adept they run on normal speed.
Another interest feature what I want implement - attack enemy transloactor if they found it alone.
For make nasty surprise for players which like leave backdoor in CTF games in enemy base.
I try make movement with xloc, but there a lot side effects and bad quality, so currently it turned off. And more like working draft, which I not sure if able make production ready.
There Masterful bots (base level of bots). But it fine tuned, so some bots get + in skills, some get - in skills, so range varied. Finally there bot skill able be from Adept to Godlike.
I not like bots which less from Adept, since it make them running slowly which look unnatural.
Starting from Adept they run on normal speed.
Automatically merged
Yes. I can do It I guess.Old UT Veteran wrote: ↑Fri Sep 16, 2022 2:27 pm this is an awesome mutator. glad you plan on updating it with new features as well. For the dodging, maybe add chance to use forward dodge animation as well? Just for variability
Another interest feature what I want implement - attack enemy transloactor if they found it alone.
For make nasty surprise for players which like leave backdoor in CTF games in enemy base.
I try make movement with xloc, but there a lot side effects and bad quality, so currently it turned off. And more like working draft, which I not sure if able make production ready.
-
- Experienced
- Posts: 94
- Joined: Thu Nov 03, 2011 5:12 am
Re: SmartStockBots mutator
What I just meant was that this rocks with the following mod:
viewtopic.php?f=7&t=12770
With your mutator bots close the distance to the ball/carrier far quicker than before and therefore pose
much more of a challenge.
viewtopic.php?f=7&t=12770
With your mutator bots close the distance to the ball/carrier far quicker than before and therefore pose
much more of a challenge.
-
- Godlike
- Posts: 3227
- Joined: Sat Mar 21, 2020 5:32 am
Re: SmartStockBots mutator
It is issue? Need something fix? Something goes wrong?
Yes, now bots move much faster rather from before. Not as super pro players OFC, esp if on server installed double jump, but much more faster from usual stock bots, and maybe on level of average good player, which dodge once per second.
OFC I mean diagonal dodge.
So if you old fashion player who like put rock on forward button and just go to goal - you in troubles now, yes. Bots fast chase you, and you not able chase them.
For other players, who play on less-more normal net play level, such movement pretty usual. If you not move like that you pretty dead. ESP in modes like SA or IG.
Yes, now bots move much faster rather from before. Not as super pro players OFC, esp if on server installed double jump, but much more faster from usual stock bots, and maybe on level of average good player, which dodge once per second.
OFC I mean diagonal dodge.
Automatically merged
For other players, who play on less-more normal net play level, such movement pretty usual. If you not move like that you pretty dead. ESP in modes like SA or IG.
-
- Skilled
- Posts: 204
- Joined: Fri Jan 02, 2009 12:41 am
- Personal rank: Barron O' Beefdip
- Location: VA, USA
Re: SmartStockBots mutator
so the bots know how to double jump? also which double jump mutator do you use?Buggie wrote: ↑Fri Sep 16, 2022 3:33 pm It is issue? Need something fix? Something goes wrong?
Yes, now bots move much faster rather from before. Not as super pro players OFC, esp if on server installed double jump, but much more faster from usual stock bots, and maybe on level of average good player, which dodge once per second.
OFC I mean diagonal dodge.So if you old fashion player who like put rock on forward button and just go to goal - you in troubles now, yes. Bots fast chase you, and you not able chase them.Automatically merged
For other players, who play on less-more normal net play level, such movement pretty usual. If you not move like that you pretty dead. ESP in modes like SA or IG.
-
- Godlike
- Posts: 3227
- Joined: Sat Mar 21, 2020 5:32 am
Re: SmartStockBots mutator
No. Bots not know how double jump. Unfortunately.
I use embed mutator in FNN.
Main problem not in double jump. I n fact we can learn bots use double jump, but this not help much, since need patches on map aware of it.
But UnrealEd not aware about DJ (and it is ok, because map can be used with or without DJ). Only if embed DJ into map it can be consider in build paths. In theory.
There many questions about compatibility with external DJ and so on.
Anyway currently no way make influence to UnrealEd build path system. So you can not make map aware of DJ in terms of paths.
You can place some stuff, like Lift combos, but this not really solution, just some workaround for some cases.
So, back to question. Without proper paths and awareness of engine about DJ (like UT2004 does), bot support for DJ is mostly useless.
UScript too slow for make on it some computation for try solve this issues. Also not in all places you can intercept flow. If bot call pointReachable/actorReachable it simple single native call, which you not able alter without use suff like XC_Engine. So that all.
Summarize: technically almost impossible make stock bots aware of DJ on human-expected level.
I use embed mutator in FNN.
Main problem not in double jump. I n fact we can learn bots use double jump, but this not help much, since need patches on map aware of it.
But UnrealEd not aware about DJ (and it is ok, because map can be used with or without DJ). Only if embed DJ into map it can be consider in build paths. In theory.
There many questions about compatibility with external DJ and so on.
Anyway currently no way make influence to UnrealEd build path system. So you can not make map aware of DJ in terms of paths.
You can place some stuff, like Lift combos, but this not really solution, just some workaround for some cases.
So, back to question. Without proper paths and awareness of engine about DJ (like UT2004 does), bot support for DJ is mostly useless.
UScript too slow for make on it some computation for try solve this issues. Also not in all places you can intercept flow. If bot call pointReachable/actorReachable it simple single native call, which you not able alter without use suff like XC_Engine. So that all.
Summarize: technically almost impossible make stock bots aware of DJ on human-expected level.
-
- Godlike
- Posts: 6442
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: SmartStockBots mutator
What else to say ? This is a must-have if it comes at using it in Servers with Bots (including MBots).
Now I'm curious about a few technical details.
I see a simulated function in that SpawnNotify - which means that it could aim clients ? ServerPackages ?
Probably no. Simplified code used as Server-Side ServerActor works properly. Is it possible to do ugly effects at something else ?
In other hand I did a small tiny change...
To me they look closer to player style of movement. Not dodging all time but dodging enough unpredictable.
Now I'm curious about a few technical details.
I see a simulated function in that SpawnNotify - which means that it could aim clients ? ServerPackages ?
Probably no. Simplified code used as Server-Side ServerActor works properly. Is it possible to do ugly effects at something else ?
In other hand I did a small tiny change...
Code: Select all
function PostBeginPlay() {
...
...
SetTimer(RandRange(0.4,1.1),False);
...
...
function Timer() {
...
...
SetTimer(RandRange(0.4,1.1),False);
-
- Experienced
- Posts: 94
- Joined: Thu Nov 03, 2011 5:12 am
Re: SmartStockBots mutator
Bots have beaten me on FB-Tygon 17 - 49
Aryss, Kara, Zenith Raynor and me vs Arachne, Rhea, Ichthys, Kragoth and Jared
Aryss, Kara, Zenith Raynor and me vs Arachne, Rhea, Ichthys, Kragoth and Jared
-
- Godlike
- Posts: 3227
- Joined: Sat Mar 21, 2020 5:32 am
Re: SmartStockBots mutator
v1
- Fix some possible issues with ShortMovements.
- Fix issues with MoveWithDodge.
- Fix unnatural rate of use dodge for godlikes.
- Fix too low dodge height to make same as player.
Update in first post: viewtopic.php?f=7&t=15400
Also they can do stupid things sometimes. Now it is fixed.
> To me they look closer to player style of movement. Not dodging all time but dodging enough unpredictable.
Bots able dodge only if some conditions meet. Players not see such conditions. So it be enough unpredictable in fact.
Conditions include distance to move targte, time from last dodge and many others. So where player able constantly dodge, bot not do that.
For example way of vials located close from 330uu stop dodge if bot walk over it.
Also I now see how bot bring flag on foots on CTF-XV-LavaGiant. Before it be impossible task.
- Fix some possible issues with ShortMovements.
- Fix issues with MoveWithDodge.
- Fix unnatural rate of use dodge for godlikes.
- Fix too low dodge height to make same as player.
Update in first post: viewtopic.php?f=7&t=15400
Automatically merged
Well... I make mistake and they move slower from real players. Now it fixed, so I hope they beat you flawless.a9902957@nepwk.com wrote: ↑Fri Sep 16, 2022 6:55 pm Bots have beaten me on FB-Tygon 17 - 49
Aryss, Kara, Zenith Raynor and me vs Arachne, Rhea, Ichthys, Kragoth and Jared
Also they can do stupid things sometimes. Now it is fixed.
Automatically merged
Bots able dodge only if some conditions meet. Players not see such conditions. So it be enough unpredictable in fact.
Conditions include distance to move targte, time from last dodge and many others. So where player able constantly dodge, bot not do that.
For example way of vials located close from 330uu stop dodge if bot walk over it.
Automatically merged
Ah yes. Update include this as well. In level on which it is possible. Can not work with some weird custom models. With stock models and close to it - must work good.Old UT Veteran wrote: ↑Fri Sep 16, 2022 2:27 pm this is an awesome mutator. glad you plan on updating it with new features as well. For the dodging, maybe add chance to use forward dodge animation as well? Just for variability
Automatically merged
-
- Experienced
- Posts: 94
- Joined: Thu Nov 03, 2011 5:12 am
Re: SmartStockBots mutator
Won 39 - 6 but this time I got Loque assigned to my team which helped of course.
-
- Godlike
- Posts: 3227
- Joined: Sat Mar 21, 2020 5:32 am
Re: SmartStockBots mutator
More difference come in gametypes like CTF, where need bring something. Or CTF-XV. Dodge make unpredicatble movement. Projectiles fly slow, so this increase chance of miss.
For DM for only faster collect items on level or more hard aim to dodge target. Also they can more fast reach you and paint your face with flak cannon.
For DM for only faster collect items on level or more hard aim to dodge target. Also they can more fast reach you and paint your face with flak cannon.