I made this.
Reply to comment
I built this for an AI class to demonstrate Evolution Strategy working to find a path through a course.
Each organism has a set of control points, each control point having a time, acceleration, and angle. Effectively, the acceleration and angle are applied over the amount of time the control point is active. For example, a control point with 10m/s^2 acceleration and 10 degree angle and 3 second time would accelerate the organism by 30 m/s and change its course by 30 degrees. The time, acceleration, and angle attributes of the control points act as the organism's genes.
An organism's fitness is measured somewhat poorly, as I didn't spend much time at all figuring out a good way to measure it on any arbitrary track that is loaded. The method I chose that works okay in most test runs is using the arc length of the organisms trip. In cases where an organism basically drives around in a circle a whole bunch, it's a very poor fitness metric, but as I stated, it works out most of the time.

Technology: C#, XNA (just for the Vector2 and Vector3 classes)
| Attachment | Size |
|---|---|
| Evolution.zip | 283.53 KB |
