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
. 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
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
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.
Download v1.1 (19 Mar 09)
Download source code
Early track rendering test
3D car selection screen
Toyota Supra on Autumn Valley track
Dashboard view on Burnt Sienna track
Approaching train tunnel on Alpine stage 1
Coming out of the tunnel on Burnt Sienna