Commit graph

22 commits

Author SHA1 Message Date
RGreenlees
cea65c1fdc Further bot improvements
* Fixed nav meshes for lost and machina which could get bots stuck
* Improved ladder usage, fixed edge cases where bots could get stuck
* At match start, aliens will attempt to spread chambers out if the first chamber is MC or SC, rather than clustering them all at the starting hive
* Eliminated potential freeze issues with nav mesh refreshes
2024-07-03 14:33:49 -04:00
RGreenlees
290ad067eb General improvements
* AI Commander will now attempt to place turret factories close to any existing turrets to prevent inactive turrets being left behind
* Aliens will not try to pursue enemies who have teleported away (unless they teleported close by)
* Fixed a bug where bots would not target the nearest sentry/OC to engage
* Improved how marines attack OCs, particularly how they take cover to reload
2024-07-03 14:33:49 -04:00
RGreenlees
733ad6eb04 Fixed base bugs
* Fixed issue where commander would build siege turrets too far from the siege target
* Improved commander response to requests for turrets
* Nav reachabilities and paths are now regenerated after all nav mesh modifications are updated
2024-07-03 14:33:49 -04:00
RGreenlees
36318cd1d4 Ladder fix + relocation fixes
* Improved ladder climbing, especially for skulks
* Fixed issues with bots getting confused when switching commanders during a relocation
2024-06-03 23:53:08 -04:00
RGreenlees
9452b8a0c3 Team fill logic adjusted
* The auto-fill system for bots now takes mp_limitteams into account, and will continue to add bots to one side if the team size config specifies it to
2024-06-03 23:53:08 -04:00
RGreenlees
e17fba76ea Bot Relocation
* Marine bots can now relocate their base to a nearby hive
* If the chance to relocate is above 0 (configurable in nsbots.ini) then the bots will relocate at the start of a match based on the percentage set, or if the current base is overrun and about to be lost
* The bot will recycle the old comm chair
* The bot will abandon the relocation attempt if unsuccessful 90 seconds into a match
2024-06-03 23:53:08 -04:00
RGreenlees
91231ac069 Marine Relocation
* The AI Commander can now relocate to a nearby empty hive at the start of a match, or if the current base is almost lost
2024-06-03 23:53:08 -04:00
RGreenlees
eb15f8e1d5 Improved lerk movement, debug stuff in preprocessor 2024-05-08 14:43:14 -04:00
RGreenlees
f5e5b9b41a Lerk flight improvements
* Fixing lerks to get stuck less often when navigating normally
2024-05-08 14:43:14 -04:00
RGreenlees
6021daabab Wave attacking implementation 2024-05-08 14:43:14 -04:00
RGreenlees
33b5fcbe82 Improved marine combat
* Improved hearing logic
* Improved marine combat decision making (they don't all cluster around the CC for no reason anymore)
* Bots can now hear regen sounds
2024-04-18 23:44:05 +01:00
RGreenlees
3073f7f60b Bot hearing started 2024-04-18 08:24:16 +01:00
RGreenlees
3e36057948 Lift improvements
* Fixed bots getting into a clusterfuck when multiple try to use a lift at the same time.
* Improved nav meshes for various maps
* Added new console commands for debugging to force bots to evolve
* If there is no CC, infantry portal or hives in NS mode, bots will revert to deathmatch behaviour to finish the game
* Fixed bots flying off target when leaping/blinking sometimes
* If there is no armoury to retreat to, marines won't back off and will attack (stops clustering around the CC for no reason).
2024-04-16 17:39:23 +01:00
RGreenlees
7adeda4113 Add cloak behaviour
Bots will no longer see cloaked players, and have a chance based on cloak level, movement and size of the players. Bots will also sneak when approaching enemies while cloaked.
2024-04-12 16:40:50 +01:00
RGreenlees
27ed51035c Lerk improvements and bot names
* Improved lerk movement when it is not flying (i.e. being cautious)
* Users can now optionally add botnames.txt to the NS folder to define custom bot names
2024-04-08 10:01:46 -04:00
RGreenlees
d87bb3d600 Further bot enhancements
* Improved jump and blink movement
* Hopefully fixed bug with bots trying to walk between phase gates
* Fixed issue with bots constantly switching weapons when trying to reload
* Added a max AI time for a match, with bots throwing the game if there are no humans and it goes on too long (configurable in nsbots.ini, default is 90 minutes)
2024-04-08 10:01:46 -04:00
RGreenlees
eba41379e3 Improve bot vision, bug fixes
* Re-added the view frustum for bots
* Hopefully stopped bots getting permanently stuck trying to evolve an upgrade in an invalid place
* Bots will now leave the game after 2 hours if no humans playing (ignores human spectators)
2024-04-08 10:01:46 -04:00
RGreenlees
75469430ad Bot fixes
* Fixed bots targeting mines to attack
* Fixed crash on enabling bots after previously disabling them
* Fixed bots not handling doors correctly when enabling them after match start
2024-04-08 10:01:46 -04:00
RGreenlees
349cf7240f Added more commander requests
Armouries, Heavy armour and jetpacks can be requested
2024-04-08 10:01:46 -04:00
RGreenlees
c7efc37227 Rever accidental change to Linux fix 2024-03-26 19:16:46 -04:00
RGreenlees
b139fbf9b8 Better bot config handling and logging
* Bot config is no longer case-sensitive
* Listen server hosts now get console notifications on bot status, errors etc.
* Added safeguards around parsing the file to prevent bad values crashing
* Made mp_botautomode default to 1 and mp_botcommandermode default to 1
2024-03-26 19:16:46 -04:00
pierow
58358d0927
Bot integration for v3.3b8 (#156)
* Initial bot commit

* Added server commands and cvars for adding AI players to the game.
* Added auto modes for automating the adding and removal of bots
* Bots connect to the server and join teams correctly

* Added round restart and new map detection for AI system

Push before new project added for detour

* Initial bot integration

* Integrated all basic bot code for navigation and task performing
* Added support for multi_managers to better understand how buttons and triggers affect doors

* Improved bot understanding of door triggers and weldables

* Reworked nav profiles

Nav profiles for bots are now dynamically updated to take into account changing capabilities, such as picking up a welder

* Improved bot door usage

* Added weldable obstacles back into navigation

Bots now understand how to get around weldable barriers

* Replaced fixed arrays with vectors

* Resource node and hive lists are now vectors.
* Further improved bot weld behaviour

* Added dynamic reachability calculations

When barriers and doors are open/closed, new reachability calculations are done for structures and items so bots understand when items/structures become reachable or unreachable as the match progresses.

* Added team-based reachability calculations

Reachabilities for structures and items are now based on the team, so bots understand when they can't reach a structure from their spawn point.

* Implemented long-range off-mesh connections and dynamic off-mesh connections

* Implemented fully dynamic off-mesh connections

Phase gates now use connections rather than custom path finding. Much more performant.

* Replaced arrays with vectors for simpler code

* Started Bot Swimming

* Bots understand trigger_changetarget

Bots can now navigate doors operated with a trigger_changetarget so they understand the sequence in which triggers must be activated to make it work

* Push before trying to fix long-range connections

* Implement new off-mesh connection system

* Redid population of door triggers

* Fixed trigger types and links to doors

* Added lift and moving platform support

* Lift improvements

* Bots avoid getting crushed under a lift when summoning it
* Bots are better at judging which stop a platform needs to be at

* Tweak lift and welder usage

* Fixed bug with multiple off-mesh connections close together

* Finish lift movement

* Fixed dodgy path finding

* Improved skulk ladder usage and lerk lift usage

* Fix crash with path finding

* Re-implement commander AI

* Commander improvements

* Improve commander sieging

* Commander scanning tweak

* Reimplemented regular marine AI

* Start reimplementing alien AI

* Implement gorge building behaviours

* Start alien tactical decisioning

* Continuing alien building and other non-combat logic

* More alien role work

* Adjusted base node definitions

* Iterate Capper Logic

* Alien assault AI

* Alien Combat

* Fix grenade throwing, better combat

* Marine combat AI improvements

* Commander improvements

* Commander + nav improvements

* Drop mines

* Improved bot stuck detection

* Commander supply improvements

* Bot fill timing config

* Added nsbots.cfg to configure internal bots

* Changed bot config file to "nsbots.cfg"

* Bug fixing with navigation

* Fix skulk movement on ladders

* Improved commander placement and tactical refresh

* Fixed bug with ladder climbing

* Doors block off-mesh connections

* Finished doors blocking connections

* Marine and alien tactical bug fixes

* Add commander beacon back in

* Start combat mode stuff

* First pass at combat mode

* Bots attack turrets

* Fix ladder and wall climbing

* Commander chat request

* Improved skulk ladders

* Added nav meshes for new bot code

* Added bot configuration to listen server menu

* Added bot config file

* Added default bot config to listenserver.cfg

* Added default bot settings to server.cfg

* Include VS filter for bot files

* Crash fixes

* Bot improvements

* Bot stability and mine placement improvements

* Fixed crash on new map start with bots

* Reverted Svencoop fix

* Fixed crash, added more cvars

* Performance improvement

* Commander building improvements

* Stop bot spasming when waiting to take command

* Fixed doors not blocking connections

* Added bot disabled guard to round start

* Commander improvements, movement improvements

* Tweaked level load sequence

* Performance improvements

* Bot load spread

* Fixed commander update

* Refactor bot frame handling

* Bug fixes + Pierow's dynamic load spread

* Minor bug fixes

* Fix door detection, prep for test

* Fixed commander siege spam

* linux compile test

* fix hardcoded inlcudes

* O1 compile flag for detour
- fix linux server crash

* Revert detour compile flags to original for windows

* linux build update

* remove x64 build configs

* update bot nav meshes and configs

* fix bot physics at high server fps, update navmeshes. from @RGreenlees

---------

Co-authored-by: RGreenlees <RGreenlees@users.noreply.github.com>
Co-authored-by: RichardGreenlees <richard.greenlees@forecast.global>
2024-03-21 14:17:18 -04:00