Skip to content

youradrien/doom.c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

doom.c

FPS engine in C, combining:

  • doom-style BSP collision and entity handling
  • Duke Nukem1996-style sector/portal rendering designed for non-Euclidean level layouts, efficient traversal, and classic software-rendered visuals

🧩 overview

  • Doom-style BSP for spatial subdivision and collision detection. (log(n))
  • Portal/sector-based rendering inspired by the build engine (Duke Nukem 3D).
  • supports room-over-room layouts, recursive portal rendering, and advanced level connectivity.
  • built-in C with minimal dependencies (SDL2).

🎮 Screenshots

Gameplay Screenshot 1 Gameplay Screenshot 2


features

  • ✅ BSP-based collision and entity placement
  • ✅ sector & portal rendering system
  • ✅ support for room-over-room and recursive layouts
  • ✅ software renderer using front-to-back portal traversal
  • ✅ doom-like movement, physics, and entity management

🛠️ Build & Run

Requirements

  • SDL2
  • C99-compatible compiler (GCC, Clang, MSVC)

Steps

brew install sdl2 sdl2_image
or
sudo apt install sdl2 sdl2_image
git clone https://github.com/youradrien/doom.c.git doom-nukem
cd doom-nukem
make re && ./doom assets/maps/bruh.txt

About

doom/duke-nukem software renderer (SDL2)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published