A multiplayer first-person shooter game engine written in C using CSFML, featuring raycasting technology similar to classic games like Wolfenstein 3D.
- First-person 3D perspective with raycasting technology
- Multiplayer functionality with client-server architecture
- Real-time network synchronization
- Weapon system (AK47, Minigun)
- Dynamic player movement and rotation
- Real-time minimap with player tracking
- Automatic map generation
- Collision detection system
- Rich texture mapping
- Mouse/gamepad compatibility
- Health and stamina mechanics
- Weapon management system
- Performance monitoring
- GCC
- CSFML
- Make
- Network connection (multiplayer mode)
# Offline mode
make
# Online mode
make bonus
# Run
./wolf3d- Movement: W/Z, S, A/Q, D or Arrow keys
- Look: Mouse
- Shoot: Left Click
- Reload: R
- Weapon Switch: 1-2
- Sprint: Left Shift
- Exit: ESC
- Pause: P
- Position/Health synchronization
- Damage system
- Server-side management
- Low-latency protocol
- Auto-reconnect
src/: Source filesmain.c: Main game loop and initializationnetwork/: Networking componentsevents/: Input handling and game eventsdraw/: Rendering systemsmaps/: Procedural map generationmenu/: Menu and UI systems
bonus/server/: Dedicated server implementation
👉 See the server protocol documentation hereinclude/: Header filesgarbage_collector/: Memory management systemassets/: Game assets and textures
The game includes:
- Network latency display
- Object synchronization statistics
- FPS optimization
- Memory tracking
- Profiling (
make analyse)
EPITECH Project - All rights reserved