Added some new, optional, bot behaviors#91
Merged
Conversation
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.
First cut
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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: