ReactiveDrop / reactivedrop_public_src

Alien Swarm: Reactive Drop game source code and issue tracker.
https://reactivedrop.com
118 stars 34 forks source link

Bot marine tactical navigation #453

Open BenLubar opened 1 year ago

BenLubar commented 1 year ago

Background

Marines have two modes to get their target standing position within a squad:

Tactical following generally looks better, and is the default when there are marine hints in the level or rd_use_info_nodes is set to 1.

There are multiple convars that affect tactical following, chief among them being asw_follow_use_hints (default 2) which makes marines use hints never, in combat, or always. Most of the convars are FCVAR_NONE, meaning they can be freely changed by the host, with a few that are FCVAR_CHEAT, requiring the use of a challenge mode to change.

The Problem

In optimal conditions, marine bots follow the squad leader intelligently. They take mapper-defined tactical positions and stagger their movement, group together tightly in areas where it is necessary (such as the escape trigger or a heal beacon they need), and (if the option were enabled) avoid standing on bombs.

However, in practice, the marines do unwise things like passing through an ally's line of fire while they are shooting, running through enemies to get to their desired position, standing in fires, and in general getting in the way.

What we need to do

We need to solve this both to improve singleplayer/bot-assisted play, and also because when we add the versus system, we will need marine bots to be able to complete a level on their own to allow versus play in singleplayer.

BenLubar commented 1 year ago

As mentioned in the Discord bug reports channel, we need to check for active player-created dangers too (incendiary mines, gas grenades)

WhenTanksFly commented 1 year ago

Currently the problem number 1 is bot melee being on by default. Running away from team and into horde to melee them is never a good idea.

BenLubar commented 1 year ago

rd_use_info_nodes is apparently off by default because maps without marine hints generally also have very bad nodegraphs. rd_bots_ignore_bombs was off because it was simply broken (and now removed and replaced with rd_bots_avoid_bombs, which works properly)

BenLubar commented 1 year ago

https://steamcommunity.com/app/563560/discussions/2/3874842132561395668/

From Javahead on the forum:

About whom the bots follow...

... in a game with bots and humans I think there should be an option to make them follow whoever added them instead of whoever calls out "Let's go!". This would bring up tactical advantages, with basically two teams running a map (I mean, there ARE two leader characters), splitting up when needed, taking different flanks and so on. What do you think?

PS: Sorry if this has been posted before