Evobot is a metamod plugin for the original Natural Selection mod for HL1. It provides AI players to fill out online listen or dedicated servers, or allow for single-player experiences entirely offline. It supports NS 3.2 and 3.3, and all gameplay features (including marines, aliens and the commander), across both regular and combat game modes.

Post news Report RSS Recent Development: Elevators, Welders and More

An update on the status of the bot and recent progress. Lifts, welders and more!

Posted by on

Hi!

It's been a while since my previous release, so I thought I would provide an update on what I've been working on over the last couple of months to give you an idea on what the next version of Evobot will be capable of.

Long-Range Off-Mesh Connections

I have successfully modified the Recast and Detour libraries the bot's navigation is based on to allow for dynamic, long-range connections of arbitrary distance. Previously, the editor required connections to be placed in neighbouring tiles, but now they can be placed anywhere on the map. This was a key enabler for lift usage. Here is an example of a lift connection being placed in the editor. It's as simple as that!

EditorView

Improved Tactical Awareness

Reachability for structures, hives and resource nodes are now calculated dynamically for each player class, so the bot now understands that it can, for example, reach a res node or structure as a skulk, but not as an Onos. Previously, the bot would not have that nuance: either it could reach it or not. These reachabilities are also updated when the map changes (e.g. doors are welded open/shut), so the bots now better understand when a structure they could previously reach is now blocked off.

More Sophisticated Trigger Understanding

Bots now have a much deeper understanding on how to activate doors and platforms. Previously, they would just look for any func_button or trigger that would target a door. Now, they understand how env_global, multi_manager and other entities work. They also understand when a trigger is active, or when it is dependent on something else, e.g. they have to weld a panel first before a button becomes useable. This means they can open the doors in ns_askr, or ns_weldsiege. All of this is determined by the bot itself, so nothing has to be done in the nav editor.

Awareness of Weldable Targets

Previously, the bot only used welders to repair friendly structures and allied marines. Now they understand they can weld open doors, or remove weldable obstacles if they have one equipped. Again, this is all determined by the bot: the nav editor doesn't have to do anything. Bots with welders now also understand that they can take shortcuts that they can't without one.

WelderUsage

Dynamic Movement Capability

Bots keep an eye on their movement capabilities and will recalculate paths if they change. For example, if a marine picks up a welder (or sees one on the ground), it will recalculate its path taking the welder into account. This means a marine bot might start taking the long route to its destination, then spot a welder and grab it, then take a shortcut instead using its new welder.

Lifts and Moving Platforms

Bots now can use elevators and moving platforms, meaning that ns_nothing is now fully playable with the bot, and new options have opened up in other maps (e.g. the moving platform in ns_machina near marine start).

I hope to have this next version with these features out by Christmas!

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: