Need for Speed XNA

Need for Speed XNA is an open-source rewrite of the original Need for Speed 1 game by Pioneer Studios and EA. The code is written in C#, using XNA. From scratch, it took me about 6 months of work off and on. The code is all mine, but it uses the original Need for Speed data (textures, models, tracks). Information on the file formats was reverse engineered by Denis Auroux (mostly) and myself.

I wanted to do this for a couple of reasons: To learn more about 3D coding, to play NFS1 again (the original won't run on modern Windows), and as to see if its possible to replicate (a small amount!) of a groundbreaking 14 year old game.

While working on NFS, I learnt a lot of XNA tricks and really came to appreciate the skill of the original programmers. These days computers have so much space and power, us programmers can often get away with being lazy. Back in 1995 things were different...
For example, the type of track wall and also where the wall is located is all packed into a single byte. Pretty cool stuff!

In this version, you can race around every track, with basic vehicle and engine physics, collision detection and sound. There is no collision detection for traffic in this version.
...
Early track rendering test
...
3D car selection screen
...
Toyota Supra in Autumn Valley
...
Dashboard view in Burnt Sienna
...
Approaching tunnel in Alpine S1
...
Leaving the mining tunnel in Burnt Sienna