Lifeblood Engine is a high-performance, multiplayer FPS engine built from scratch in C++. It focuses on classic Quake-style movement mechanics (Bunnyhopping, Air Strafing), raw input precision, and a competitive networking architecture.
- Quake-Like Movement: Fully implemented air acceleration, friction, and bunnyhopping mechanics.
- 2000Hz Simulation: Physics runs at a fixed high-frequency tickrate for maximum consistency on any framerate.
- Configurable Physics: tweak movement values (Gravity, Speed, Friction) in
assets/physics.cfgwithout recompiling.
- UDP Networking: Custom reliable/unreliable packet system.
- Client-Server Architecture: Authoritative server logic.
- Anti-Cheat System:
- Integrity Hashing: Server validates client files (
physics.cfg, models) upon connection. - Mismatch Rejection: Clients with modified stats or assets are rejected to prevent cheating.
- Integrity Hashing: Server validates client files (
- OpenGL 3.3 Core: Efficient rendering pipeline.
- OBJ Model Loader: Supports loading custom 3D models for Weapons, Map, and Props.
- Custom Maps: Drop your Blender map export as
assets/level.objto play on custom levels instantly. - Builder Mode: In-game tool to place props dynamically.
- Smart Bots: AI that tracks the player and navigates the map.
- Combat System: Hitscan weaponry (AK-47), Health system, Respawning.
- 3D Spatial Audio: Implemented using Miniaudio.
- CMake (3.10+)
- C++ Compiler (MSVC, GCC, or Clang)
- OpenGL Drivers
# Clone the repository
git clone https://github.com/adiru3/Lifeblood-Engine.git
cd Lifeblood-Engine
# Create build directory
mkdir build
cd build
# Configure and Build
cmake ..
cmake --build . --config Release- Single Player: Launch and select "Single Player".
- Host Server: Run
Lifeblood.exe-> Single Player (Acts as Listen Server). - Join Server: Run
Lifeblood.exe-> Multiplayer -> Enter IP (Default 127.0.0.1).
Open assets/physics.cfg in any text editor:
gravity=800.0
max_speed=320.0
air_accelerate=10.0
jump_power=270.0Note: Clients must have the same config as the server to connect!
- Create a model in Blender.
- Export as Wavefront (.obj).
- Rename to
level.obj. - Replace the file in
assets/folder.
Engine developed by Adiru3 and the Open Source Community.
Lifeblood Engine v2.1 - 2026