Commit graph

33 commits

Author SHA1 Message Date
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
0897cf15a0 Started base system
* Commanders now think in terms of establishing and building bases rather than placing individual structures. Should help reduce duplication of structures, selling structures unnecessarily etc.
* Incomplete implementation: not currently used but will be once finished
2024-07-03 14:33:49 -04:00
RGreenlees
2b27b90f25 Stuck fixes
* Hopefully fixed issue that caused bots to get stuck in the tubes in Ragnarok
2024-06-03 23:53:08 -04:00
RGreenlees
f427a9c052 Stability and randomness improvements
* Fixed potential crashing when obtaining references to dropped items
* Fixed issues with random number generation
2024-06-03 23:53:08 -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
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
c2e41c2011 Bot movement improvements
* Commander no longer sends reminders once an order is issued
* Fixed an issue where marines would loiter and refuse to move on once securing a hive
* Improved wall climbing: bots handle varied wall angles better
2024-06-03 23:53:08 -04:00
RGreenlees
d17cb601eb Task priority and path merging
* Potentially fixed issue causing invalid paths
* Fixed issue where gorges wouldn't heal anyone while focused on capping res node or building defensive structures
2024-06-03 23:53:08 -04:00
RGreenlees
ff3b4afb1c Bot stuck checks
* Bots will now suicide if falling for more than 15 seconds, handle stuck situations
* Bots will hopefully not get stuck in walk nodes as much
2024-06-03 23:53:08 -04:00
RGreenlees
fcddb5b6c3 Resource capping tweak and comm reminders
* Marines will now get close initially to a resource node they want to cap, before guarding it. This fixes the issue in Hera where bots would wait for the RT in cargo to drop but never actually open the door so the commander could drop it
* Disabled AI commander reissuing orders to players as a reminder. It was annoying for humans, and pointless for bots since they should always obey it right away anyway
2024-06-03 23:53:08 -04:00
RGreenlees
1363f48d96 Final fixes for next release
* Fixed some nav meshes so Onos can navigate better, and avoid bad structure placement
* Improved bot movement when not using the nav mesh (i.e. direct movement)
* Fixed player-built structures being duplicated if a commander takes over (i.e. AI commander ignoring player-placed structures and acting like they don't exist)
* Fixed marines just loitering in enemy hives doing nothing
* Fixed gorges sometimes not fully building structures and just leaving them to slowly grow
2024-05-10 16:21:30 -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
d209fe5184 Fixed defending issues
* Fixed bug where aliens wouldn't properly defend their hive if the marines weren't sieging it
* Fixed some stuck issues with skulks
* Added a proper debug printout for bots on-screen
2024-04-26 11:53:17 -04:00
RGreenlees
e8a85852e8 More bug fixes
* Fixed bots getting stuck on top of railings sometimes. Also hopefully fixed issues with bots aborting wall climbs for no reason.
* Fixed issue with duplicate base structures being dropped
* Fixed an issue where marines would become listless if the aliens had 3 hives up and they didn't have phase tech researched. They should continue to attack regardless
* Fixed issue where gorges would go nuts when trying to build defensive structures in an empty hive
* Aliens should be much more focused on evolving into fade/onos, including ignoring a hive under attack to first evolve so they can defend more effectively
2024-04-26 11:53:17 -04:00
RGreenlees
f6796ad025 Improve bot combat
* Reworked how bot hearing and sight combine
* Reworked target prioritisation
* Reworked when a bot should ignore a nearby enemy and engage
* Overall result is bots should have a better balance of engaging enemies and getting on with their tasks
2024-04-26 11:53:17 -04:00
RGreenlees
cfc65e1f5a Improved lerk flight
* Better lerk flight
* Fixed bots switching weapons rapidly
2024-04-26 11:53:17 -04:00
RGreenlees
f24261e416 Fixed bug with lift detection
* Bots no longer get perma-stuck when standing on the drill in Ragnarok (or similar situations in other maps)
* Fixed fades getting glued to the ceiling when trying to blink into a vent
* Fixed bots getting stuck on top of railings sometimes
* Fixed bots sometimes deciding to evolve in the ready room on certain maps
* Updated nav mesh for eclipse
2024-04-19 15:25:24 +01: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
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
936ef5d609 Fixed potential hang in path finding
* Fixed potential infinite loop in path finding
* Fixed bots sometimes getting stuck on doors permanently
2024-03-28 18:34:33 -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
RGreenlees
67903b598e Weld tweak 2024-03-26 19:16:46 -04:00
RGreenlees
c6344df589 Weld and guard behaviour fix 2024-03-26 19:16:46 -04:00
RGreenlees
1cd837b372 Fixed bug with detecting door triggers 2024-03-26 19:16:46 -04:00
RGreenlees
f391176841 Door and movement improvements
* Fixed buttons having overly long wait times with bots
* Fixed issue with climbing walls in certain situations
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