“..One of the key components to any good movement system is the collision determination system. The collision system really just needs to provide accurate information about when and where units will collide. A more advanced collision system will be continuous rather than discrete. Most games scale the length of the unit movement based on the length of the game update loop. As the length of that update loop increases, the gap between point A and point B can get pretty large. Discrete collision systems ignore that gap, whereas continuous systems check the gap to make sure there isn’t anything in between the two points that would have created a collision with the unit being moved. Continuous collision determination systems are more accurate and more realistic. They’re more difficult to write, though.
Another important element for coordinated unit movement is position prediction. We need to know where our units are trying to go so that we can make intelligent decisions about how to avoid collisions. Although building a fast position-prediction system presents us with a number of issues, for this article, we can assume that our collision determination system has been augmented to tell us about future collisions in addition to current collisions. Thus, each unit in the game will know with which units it’s currently in collision with and which units it will collide with in the near future. We presented several rules for getting two units out of collision in last month’s article.
All of these elements work together to create the basis for a solid, first-order (single unit to single unit) coordinated movement system. The core thing to keep in mind for this article is that we have an accurate, continuous collision determination system that tells us when and where units will collide. We’ll use that collision system in conjunction with the collision resolution rules to create second order (three or more units/groups in collision) coordination.” #GameDesign