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:
- Reverse engineered asset loaders (tracks, cars, images, music etc) for NFS 1-6 PC and PSX (with the possibility for other systems as well), soon to be separated into LibOpenNFS for the creation of mod tools/converters through a stable API
- A barebones game engine designed with enough configurability to accurately replicate each titles respective graphics and gampelay
- Bullet Physics Integration for vehicle dynamics
- New shaders that allow for dynamic lighting and shadows
Current Loadable Assets
Below is a table better describing the current level of asset load into OpenNFS:
*Some titles fail to load in current builds of OpenNFS due to the undertaking of a large parser refactor.
**NFS5 Track formats have been reverse engineered, but a stable parser has not yet been written.
- An actual implementation of gameplay that replicates the original titles
- AI generated through neuroevolution for both the police and racers
- Custom(izable), modular menus built from moddable configuration files
- Automated import of game assets from CD, ISO or provided URLs
- A track editor and automated converter between classic NFS titles, utlilising LibOpenNFS
- Free Roam of an open world amalgamation of all classic NFS tracks
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.
Development builds on CI:
All versions (Windows/Mac/Linux) are built on VSTS, but the current build artifacts only contain the OpenNFS executable. To use these builds, it is recommended to download a Github Release from the 'Releases' page, and replace the OpenNFS executable 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.
Keep up to date
Check out what I'm working on by looking at the Github Project boards for an upcoming point release here.
The project has a dedicated
#open_nfs channel on the "Classic Need for Speed" Discord server, invite 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.
Massive thanks to Denis Auroux, Vitaly 'Necromancer', EdasX, Ian Brownm, Jesper Juul-Mortensen and Arushan for their work on reverse engineering various NFS formats. Thanks go out to AJ_Lethal for the OpenNFS Logo.
Models, textures, tracks, cars by EA Seattle (C) 1998, 1999, 2002. EA Canada (C) 2000, EA Blackbox (C) 2002. OpenNFS is not affiliated in any way with EA.
Released under the MIT License.