noodlecollie / nightfire-open

Open source Goldsrc-based mod replicating 007 Nightfire.
https://en.wikipedia.org/wiki/James_Bond_007:_Nightfire
Other
27 stars 1 forks source link
007 game game-development nightfire

Nightfire Open

DM Power

Tests Releases

Nightfire Open is an open source reboot of James Bond 007: Nightfire as a Half Life mod, which runs on Windows and Linux.

Downloads

The latest downloads for the game and dedicated server can be found on the releases page. Note that at present the game is in a relatively minimal playable state, so the experience will not be representative of what is planned for the future.

To run the game:

Building

Ensure you have Git LFS installed, as the repo uses this to manage the game content.

CMake 3.21 or greater is required to build the game. Compilation has been tested with Visual Studio 2022 on Windows, and GCC 11.4 on Linux. On Windows, dependencies should be managed by the embedded vcpkg install. On Linux, you will need at least the following:

sudo apt install build-essential mesa-utils libsdl2-dev

For a basic debug build of the game client, follow these steps:

# Clone the repo to your hard drive and enter the directory.
# Note that without passing --recursive, vcpkg will not function
# properly on Windows. To fix this for an existing clone,
# run git submodule update --init --recursive
git clone --recursive https://github.com/noodlecollie/nightfire-open.git && cd nightfire-open

# Configure and run a build with CMake.
cmake -DCMAKE_INSTALL_PREFIX:STRING=install -S . -B build
cmake --build build --config Debug --target install -j 10

The game will be placed in build/install. To run on Linux:

cd build/install/nightfire-open
LD_LIBRARY_PATH=. ./bond

To run on Windows:

cd build\install\nightfire-open
bond.exe

About

The primary purpose of this game is to recreate and improve the experience of the PC version of Nightfire, and to provide in the process an open source codebase that will allow for extension and refinement.

Nightfire Open is built with the Xash3D FWGS engine, an open source Goldsrc engine re-implementation. This is for a few reasons:

The original repo used for development was afterburner-game, but it became clear that being tied to the upstream engine repo was detrimental. This project's coding standards were different to the upstream; it needed more flexibility than the engine was able to offer on its own; the Git subrepository architecture was consistently a pain to work with; and the Waf build system was complex, esoteric and poorly documented. Consequently, it was decided to take a hard fork of the Xash3D engine and migrate everything to this new CMake-based repository instead, for full customisability.

Credits

Many thanks to: