A recreation of the classic Wolfenstein 3D rendering technique using raycasting, implemented in C.
This project demonstrates the fundamental principles of early 3D game development and computer graphics.
This project aims to recreate the groundbreaking pseudo-3D graphics technique used in Wolfenstein 3D (1992).
Using raycasting, the engine creates a 3D perspective from a 2D map, similar to how id Software revolutionized first-person gaming.
- Raycasting engine built from scratch in C
- Textured walls with distance-based shading
- Player movement and rotation
- Collision detection
- Minimap display and level editor with imgui (optional)
- Performance-optimized rendering
- Language: C
- Graphics Library: [SDL2, OpenGL]
- Build System: [Make, CMake if i choose to do cross-compatibility]
- Platform: linux-based, maybe Cross-platform
The raycasting technique works by:
- Casting rays from the player's position
- Calculating distance to walls
- Determining wall height based on dis 551C tance
- Rendering vertical strips to create the 3D effect
- Basic engine setup and window creation
- Implement basic raycasting
- Add textured walls
- Implement player movement
- Add collision detection
- Optimize rendering performance
- Add minimap feature and imgui level editor
- Implement basic gameplay elements