macOS · Apple Silicon (arm64)

dark_chocolate_duke3d

Duke Nukem 3D running natively on Apple Silicon Macs (M1/M2/M3/M4). A modern SDL3 + CMake port of Fabien Sanglard's chocolate_duke3D — the renderer, the CON script VM and the gameplay made 64-bit clean, with a signed, notarized build that just runs.

Duke Nukem 3D (E1L1) running on Apple Silicon
E1L1 — Hollywood Holocaust, rendered natively on arm64.

Get it running

  1. You need your own DUKE3D.GRP — the full game or the shareware demo. (No game data is included; you must own a legal copy.)
  2. Open the downloaded .dmg. It's signed with a Developer ID and notarized by Apple, so it opens with no Gatekeeper warnings. Drag the folder out to your Desktop or Applications.
  3. Copy your DUKE3D.GRP into that folder.
  4. Double-click dark_chocolate_duke3d.command and play. Alt+Enter toggles fullscreen.

What's inside

The original DOS-era Build engine code, brought to a modern toolchain: SDL 1.2 swapped for SDL3 (video, input, palette), sound effects via the SDL3 audio API, and MIDI music through SDL3_mixer + FluidSynth. SDL3 is fetched by CMake, and the download is a self-contained bundle — no Homebrew or other dependencies required. The hard part was making the renderer, the CON script virtual machine and the gameplay 64-bit safe on arm64.

Status

Early release (v0.1.0). Builds, runs and renders both the 2D menus and the 3D world. Interactive play and the complete game content are still being verified. Source-faithful, non-commercial, and based on the work of Fabien Sanglard and the original Duke Nukem 3D (3D Realms) / Build engine (Ken Silverman) sources.