This article provides a strategy for programmers who are trying to create AI for open city racing games, which is based on the success of Angel Studios' implementation of AI in Midtown Madness 2 and Midnight Club . The following discussion focuses on the autonomous architecture used by each high-level entity in these games. As gameplay progresses, this autonomy allows each entity to decide for itself how it's going to react to its immediate circumstances. This approach has the benefit of creating lifelike behaviors along with some that were never intended, but add to gameplay in surprising ways. For our purposes, an intersection is defined as a 2D area in which various roads join.
Shortcuts are just like roads, except they are overlaid on top of the three main component types.
Shortcuts are used to help the opponents navigate through the various open areas, which by definition have no visible roads or intersections. Each of these physical objects is reflected in a software object. The AI map elements appear as green and blue line segments for roads and sidewalks, 2D areas for intersections, and additional line segments for shortcuts across open areas. The road object contains all the data representing a street, in terms of lists of 3D vertices. Other important road data includes the traffic lane definitions, the pedestrian sidewalk definition, road segment lengths, and lane width data.