Builtin Waypoint AI

The server loads a waypoint lookup along with the map, adds information gained by observing players and monsters at runtime, and saves it for reuse. The information is basically an adjacency graph based on a spatial subdivision hidden to the Game DLL, and additional information stored in edges and nodes.

Advantage:

Disadvantage:

Moderate memory and performance impact, maybe even compensated by faster AI. If Q3 uses no spatial subdivision at all, this would be obsolete.

Implementation:

In full, this is an overhaul of the current AI, trailing, and the Area/PHS code. However, there are intermediate steps that could be used for a smooth migration on the way to Trinity. Comments below:

Related Proposals:

This proposal complemetes the "Map Markup" one. Ideally, the same internal data structure should be used here. It was inspired by discussions on the q2bots mailing list as well as AI improvement ideas mentioned on the q3suggest mailing list.

Submitted 980420, contact bk@gamers.org.