An attempt to recreate the classic Need for Speed Games (1-6), unpacking their original data files into a modern scratch built engine.
Clone or download
Latest commit 4f8a11f Jan 9, 2019


Linux Build Status Windows Build status Mac Build status

An attempt to recreate the classic Need for Speed Games (1-6), unpacking their original data files into a modern scratch built engine. Extremely early in development, current features include:

  • Fully working NFS3, NFS2, NFS2SE, NFS3 PS1, NFS4 track load
  • Explore TR02b! (if you have NFS_3_PS1 folder filled with the ISO contents)
  • Drive the car with WASD, Reset the car with 'R'
  • "Hermite Curve camera" tick box and untick car cam to flythrough track. Unselect both to have a 'free camera', moveable with WASD and viewpoint change by holding right mouse button, move faster by holding "Shift" key.
  • Select car and track from installed Need for Speeds using menu bar (your mileage may vary, major bug related to car load for non high-stakes)
  • Select Car models (Low LOD, Med LOD, Misc parts) in Debug Menu, by expanding "Car Models" dropdown and playing with checkboxes
  • Set Draw Distance by unchecking NBData and adjusting slider (Neighbour data only available for NFS3/NFS4).
  • For NFS3 tracks, change between 'Classic Graphics' and a unfinished slightly more dynamic implementation.
  • Go to free camera, and expand the "Engine Entity" dialog box on an NFS3 track, to adjust lighting parameters for lights after targeting them with the cursor and * clicking. This will affect the colour of the track in non classic graphics mode. Adjust Track Specular Damper and Reflectivity similarly from Debug Menu.
  • Similarly, click the car to tweak physics parameters in real time in the "Engine Entity" dialog, and view data from the car.
  • Pan and zoom around the car with mouse wheel and LMB/RMB in "Car Cam" mode (ensure Hermite Curve cam is unchecked)
  • Set Sky Colour
  • View what the Physics Engine sees with "Bullet Debug View" checkbox.
  • Enable primitive AI with a checkbox in the debug menu, and watch the car drive itself (with great difficulty)

Current Loadable Assets

Below is a table better describing the current level of asset load into OpenNFS:

Game Cars Tracks Music
NFS4 PC 90% 90%
NFS3 PC 100% 100% 95%
NFS3 PS1 40% 100% 95%
NFS2 SE 90% 90%
NFS2 PC 90% 90%
NFS2 PC 90% 90%
NFS2 PS1 10% 10%



OpenNFS does not bundle any EA intellectual property. A copy of the original games must be provided to OpenNFS in order to function, instructions for this are available on the release page.

View the latest stable feature releases Here

For development builds on CI:

All versions (Windows/Mac/Linux) are built on VSTS, but the current build artifacts only contain the OpenNFS.exe. To use these builds, it is recommended to download a Github Release from the 'Releases' page, and replace the OpenNFS exe with that produced by CI. You will most likely also need to update the 'shaders' directory, using the latest available from Git. I will alter my CI scripts soon to produce zips that can be ran without these extra steps.

VSTS Windows

Build status

VSTS Linux

Build Status


Build status

Trello Development Board

Check out what I'm working on by looking at the task board here:


The CMake files are currently configured to detect external libraries from within the 'lib' folder at the same level as 'src', just do a 'git submodule update --recursive --remote' to get them.

  • GLEW 2.1.0
  • GLFW 3.2.1
  • GLM 0.9.9-a2
  • Bullet3
  • Boost


Massive thanks to Denis Auroux, Vitaly 'Necromancer', EdasX, Ian Brownm, Jesper Juul-Mortensen and Arushan for their work on reverse engineering various NFS formats.

Tom 'VapeTrick' Klapwijk - sarcasm and support and snaking my dev updates


Models, textures, tracks, cars by EA Seattle (C) 1998, 1999, 2002. EA Canada (C) 2000, EA Blackbox (C) 2002. OpenNFS is not affiated in any way with EA

Released under the MIT License.