The cycling opponents use a waypoint system to determine heading direction. Waypoints were placed roughly every 10m in the center of the road. This was done automatically using the EasyRoads3d sideobject tool. Individual path positions were interpolated using a Catmull Rom spline, so a smooth motion between each waypoint was achieved. In the game's current state, the cyclists generally cycle down the middle of the road, offsetting a fixed amount on one side to pass.
The player will also use the same waypoint system, but this can be turned off to allow free horizontal movement using the keypad arrows.
In all cases, the speed of the cyclist is determined by real world equations the largely dependent on the cyclist's power and the road's grade. The opponent's power is set in this demo, with brief programmed surges to counter passing attempts. The player's power is the main item retrieved from the ANT+ data above and, as in real life cyclist, determines the speed.
The effective forces are calculated: Gravity, Wind Resistance, and Rolling Resistance.
This is countered with the force produced by the power of pedaling.
Relative location to opponents are also calculated to determine if a deduction of wind resistance is applicable through drafting. The formula for wind resistance reduction is a little looser and is a quantitative guess based on some research done.
Current Game mode
Player Enters FTP (Functional Threshold Power) at start. Opponents match entered power output with a few surges, opponents increase power outputs on pass attempts.