Doom 64 EX+ is a community-driven continuation of Samuel "Kaiser" Villarreal's original Doom 64 EX project. The primary goal of Doom 64 EX+ is to faithfully recreate the classic Nintendo 64 experience while incorporating modern features, extensive modding capabilities, and performance enhancements.
- Modern IWAD Support: Full, native support for the IWAD file from Nightdive Studios' official 2020 remaster of DOOM 64. Please note that the old ROM dump-based IWADs from older EX versions are not supported.
- The Lost Levels: Includes support for the "Lost Levels" campaign content introduced in the official remaster.
- Enhanced Modding:
- PWAD Support: Load custom PWAD files to play user-created maps and content.
- Upgraded Audio Engine: Replaced the legacy FluidSynth with FMOD Studio for higher-quality, more reliable audio playback.
- Optimized Performance: Delivers superior performance, running smoother than even the official Nightdive remaster in many cases.
- Quality of Life Fixes:
- Secrets now trigger a notification message upon discovery.
- Expanded map support up to the
MAP40
slot. - Restored the "Medkit you REALLY need!" message.
- Numerous bug fixes for a more stable experience.
- Modernized Codebase:
- SDL3 Integration: As one of the first Doom source ports to standardize on SDL3, it leverages the latest in cross-platform library support.
- Simplified Internals: The KEX-related code has been largely removed to align the project more closely with the structure of other popular Doom source ports, simplifying development and code portability.
For modders looking to adapt existing work or create new content for Doom 64 EX+, please be aware of the following changes from older versions of EX:
- Map markers now use
DM_START
andDM_END
andDS_START
andDS_END
(in line with the remaster). - The old
G_START
andG_END
graphic lump markers are no longer used. Instead, graphic assets are identified as follows:- The first graphic marker in a WAD must be named
SYMBOLS
. - The last graphic marker in a WAD must be named
MOUNTC
.
- The first graphic marker in a WAD must be named
You can find PWADs that have been specifically adapted for EX+ on ModDB. Look for files designated for "EX+" or "EX Plus".
The source code for Doom 64 EX+ is released under the terms of the original Doom Source License.
Before compiling from source, you must have the necessary development libraries installed on your system.
- SDL3: The core framework for windowing, input, and graphics.
- ZLib: A library for data compression.
- LibPNG: A library for reading and writing PNG image files.
- OpenGL: A graphics API for rendering.
- FMOD Studio: The audio engine.
- Note for Linux and BSD Users: FMOD is a proprietary, closed-source audio API. Due to its licensing, it is not available in the official software repositories of most distributions and operating systems. You must download the FMOD Studio SDK manually from the FMOD website. Please be aware of the FMOD licensing terms, which are free for non-commercial projects but have restrictions.
- Microsoft .NET 6.0 (or higher): The optional launcher application requires the .NET runtime to function. You can download it from the official Microsoft website.
First, clone the official repository to your local machine:
git clone https://github.com/atsb/Doom64EX-Plus
Doom 64 EX+ requires asset files from your legally owned copy of the official DOOM 64 remaster (e.g., from Steam or GOG).
The repository includes build scripts for easy compilation. Ensure all dependencies, including the manually downloaded FMOD libraries, are installed and accessible to your compiler first.
- Linux:
./build.sh
- FreeBSD:
./build_freebsd.sh
- OpenBSD:
./build_openbsd.sh
- Raspberry Pi 3 (Raspbian):
./build_rpi3_raspbian.sh
Data File Paths (Linux/BSD): The engine searches for asset files in the following order:
~/.local/share/doom64ex-plus/
(if compiled with-DDOOM_UNIX_INSTALL
)- A system-wide directory like
/usr/share/games/doom64ex-plus
(if specified with-DDOOM_UNIX_SYSTEM_DATADIR
at compile time). - The current directory where the executable is located.
Save data is stored in the executable's directory.
The recommended method is to install the pre-compiled version from MacSourcePorts.
For manual compilation, you must install the dependencies via a package manager like MacPorts. Then, use the provided XCode project file, which is the only supported method.
Data File Path (macOS): Place your asset files in:
/Users/your_username/Library/Application Support/doom64ex-plus/
For Windows, use the Visual Studio solution file provided in the Windows
directory of the repository to compile for either 32-bit or 64-bit systems.
Data File Path (Windows): Place the three asset files (DOOM64.wad
, doom64ex-plus.wad
, doomsnd.sf2
) in the same directory as the compiled DOOM64EX+.exe
.
Once compiled and your asset files are in the correct location, simply run the executable:
- Windows: Double-click
DOOM64EX+.exe
. You may also use the optionalDOOM64EX+ Launcher.exe
for more configuration options.- NVIDIA Users: If you experience stuttering, it is highly recommended to disable VSync for this application in your NVIDIA Control Panel.
- Linux/BSD/macOS: Launch the executable from your terminal:
./doom64ex-plus
Enjoy the game! For support or to join the community, check out the official Discord server.