Explore a vast cyberpunk city. Shoot things in the face. Question the meaning of existence. Send your spider bot skittering across walls and ceilings in this pre-apocalyptic philosophical shooter.

The world is about to end. Those who can afford it have already abandoned the planet for an off-world colony. Will you scrounge together enough money to escape before disaster strikes? It's a zero-sum game between you and every other online player. Steal their resources and defend your own.


- Simple multi-threaded architecture - separate threads for physics, rendering, AI, and game logic
- Entity/component system
- Linear math suite somewhat stolen from Ogre
- Content pipeline supporting .blend, .glsl, .otf, .png
- Create levels, models, animations, and ragdoll rigs in Blender
- Deferred rendering, cascaded shadow maps, edge detection, bloom, SSAO, weather effects
- Geometry-based font rendering and UI system
- UDP client-server network architecture
- Online user profile system via sqlite
- Authentication via Steam, itch.io, or GameJolt
- Localization support
- Simple Windows crash report system
- Keyboard/mouse/gamepad support via SDL
- Automatic navmesh generation with realtime mutations via Recast
- Audio via Wwise
- Physics via Bullet
- Almost all dependencies are open source GitHub submodules
- Builds and runs on Win/Mac/Linux

Everything in DECEIVER is hand-crafted, right down to the font. Rather than use a typical bitmap font, DECEIVER renders its UI with vectors.

DECEIVER is built from the ground up in C++. The game uses a custom multi-threaded OpenGL engine that provides the flexibility to achieve things like a unique third-person camera culling effect.

At the same time, when necessary, the engine relies on classic game libraries like Bullet, SDL, and Recast for rock-solid performance and reliability. The netcode is based on Glenn Fiedler's excellent reference implementation.