Skip to content

Added some new, optional, bot behaviors#91

Merged
alcachofass merged 13 commits into
alcachofass:mainfrom
br33zy59:main
May 18, 2026
Merged

Added some new, optional, bot behaviors#91
alcachofass merged 13 commits into
alcachofass:mainfrom
br33zy59:main

Conversation

@br33zy59

Copy link
Copy Markdown
Contributor

Added very early versions of three new bot capabilities:

bot_humanizeAim <0|1>
Changes bot aiming behavior to be less jittery and mechanical, more like a human player with mouse input.

bot_tacticalAI <0|1>
Adds a small module that allows bots to make scenario-specific decisions, and a very basic event/listener setup.

bot_smartWeaponChoice <0|1>
Makes bots consider the appropriateness of the weapon they are weilding i.e. don't attempt to use LG or shotgun past their reasonable ranges.

These are all very early days, and bot shot accuracy is not yet up to par when these are enabled. More work required to refine them and bring back strong bot skill differentiation. But all of these default to zero for now.

Note: Current tactics are:

  • If I'm out of ammo and have to use the gauntlet, decide to either charge directly at my opponent, or turn and flee
  • If I'm engaging a distant enemy and a closer one appears, choose to stay on target (if they're nearly dead) or switch target
  • If someone who is not my target just hurt me, decide to switch target or stay on target
  • If I'm fleeing and out of ammo, stop aiming at my opponent

br33zy59 added 13 commits May 18, 2026 12:39
When switching to Tourney gametype, bots already in-game were sitting in the non-queued spectator list, and never joining the game when a slot opened up. Bots will now be queued up instead.
Unify and simplify how bot teams are determined and applied. No real behaviour change over the last commit, just easier to read/follow.
Start of an upgrade to bot aim routines - added bot_humanizeaim <0|1>. Invokes new code paths where bot view angles are changed via a different path that more closely mimics human behavior.
Added bot_smartWeaponChoice <0|1>
Begin implementing a module to allow bots to make better weapon choices, factoring in things like:
- Distance to target
- Time since last switched weapon
- Do I have any ammo
- Do I like the weapon
- Am I gonna hurt myself
More weight given to effective weapon distance when selecting which weapon to use. Rocket launcher disfavoured at higher distances, mg/rail favoured.
Added a second bot tactic when bot_tacticalAI 1. Bot will break off fight with a distant enemy and engage a closer enemy if one appears.
Aims were getting stuck when sudden extreme pitch changes were occurring (e.g. target rode a fast jumppad). Added some routines to correct for this.
Then added some additional routines to correct the down-stream problems THAT caused.
Add these new bot commands into the relevant docs.
Also create a doc to capture all the bot commands.
@alcachofass alcachofass merged commit 4cd051d into alcachofass:main May 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants