SmartStockBots mutator

Search, find and discuss about Mutators!
Post Reply
Buggie
Godlike
Posts: 2734
Joined: Sat Mar 21, 2020 5:32 am

SmartStockBots mutator

Post by Buggie »

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:
scr_1673933813.png
scr_1673933813.png (12.05 KiB) Viewed 5915 times
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.
SmartStockBots.zip
(49.67 KiB) Downloaded 118 times
ModDB: https://www.moddb.com/mods/smartstockbots

Also you can use custom bots set, for make bots looking less as bots.
Last edited by Buggie on Tue Dec 26, 2023 12:35 am, edited 55 times in total.
User avatar
Deepu
Adept
Posts: 353
Joined: Mon Nov 11, 2013 7:56 am
Personal rank: Average
Location: India
Contact:

Re: SmartStockBots mutator

Post by Deepu »

Wow, this is useful mutator
a9902957@nepwk.com
Experienced
Posts: 86
Joined: Thu Nov 03, 2011 5:12 am

Re: SmartStockBots mutator

Post by a9902957@nepwk.com »

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.
Last edited by a9902957@nepwk.com on Fri Sep 16, 2022 3:40 pm, edited 2 times in total.
Buggie
Godlike
Posts: 2734
Joined: Sat Mar 21, 2020 5:32 am

Re: SmartStockBots mutator

Post by Buggie »

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.

Automatically merged

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.
Old UT Veteran
Skilled
Posts: 163
Joined: Sat Mar 24, 2012 1:37 am

Re: SmartStockBots mutator

Post by Old UT Veteran »

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 :mrgreen:
Buggie
Godlike
Posts: 2734
Joined: Sat Mar 21, 2020 5:32 am

Re: SmartStockBots mutator

Post by Buggie »

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.

Automatically merged

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 :mrgreen:
Yes. I can do It I guess.
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.
a9902957@nepwk.com
Experienced
Posts: 86
Joined: Thu Nov 03, 2011 5:12 am

Re: SmartStockBots mutator

Post by a9902957@nepwk.com »

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.
Buggie
Godlike
Posts: 2734
Joined: Sat Mar 21, 2020 5:32 am

Re: SmartStockBots mutator

Post by Buggie »

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.

Automatically merged

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.
User avatar
darkbarrage99
Skilled
Posts: 187
Joined: Fri Jan 02, 2009 12:41 am
Personal rank: Barron O' Beefdip
Location: VA, USA

Re: SmartStockBots mutator

Post by darkbarrage99 »

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.

Automatically merged

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.
so the bots know how to double jump? also which double jump mutator do you use?
Buggie
Godlike
Posts: 2734
Joined: Sat Mar 21, 2020 5:32 am

Re: SmartStockBots mutator

Post by Buggie »

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.
User avatar
sektor2111
Godlike
Posts: 6410
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: SmartStockBots mutator

Post by sektor2111 »

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...

Code: Select all

function PostBeginPlay() {
...
...
SetTimer(RandRange(0.4,1.1),False);
...
...

function Timer() {
...
...
SetTimer(RandRange(0.4,1.1),False);
To me they look closer to player style of movement. Not dodging all time but dodging enough unpredictable.
a9902957@nepwk.com
Experienced
Posts: 86
Joined: Thu Nov 03, 2011 5:12 am

Re: SmartStockBots mutator

Post by a9902957@nepwk.com »

Bots have beaten me on FB-Tygon 17 - 49
Aryss, Kara, Zenith Raynor and me vs Arachne, Rhea, Ichthys, Kragoth and Jared
Buggie
Godlike
Posts: 2734
Joined: Sat Mar 21, 2020 5:32 am

Re: SmartStockBots mutator

Post by Buggie »

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

Automatically merged

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
Well... I make mistake and they move slower from real players. Now it fixed, so I hope they beat you flawless. :loool:

Also they can do stupid things sometimes. Now it is fixed.

Automatically merged

> 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.

Automatically merged

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 :mrgreen:
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.

Automatically merged

Also I now see how bot bring flag on foots on CTF-XV-LavaGiant. Before it be impossible task. :)
a9902957@nepwk.com
Experienced
Posts: 86
Joined: Thu Nov 03, 2011 5:12 am

Re: SmartStockBots mutator

Post by a9902957@nepwk.com »

Won 39 - 6 but this time I got Loque assigned to my team which helped of course.
Buggie
Godlike
Posts: 2734
Joined: Sat Mar 21, 2020 5:32 am

Re: SmartStockBots mutator

Post by Buggie »

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.
Post Reply