A community-driven multiplayer top-down shooter built from scratch in C++ with an in-game map editor and cross-platform play.
Hypersomnia is a multiplayer top-down shooter built from scratch in modern C++ without a game engine. It offers tactical gameplay with bomb defusal and gun game modes, featuring an integrated map editor and cross-platform play between native clients and web browsers. The project solves the challenge of creating a deterministic, physics-based multiplayer experience that remains synchronized across diverse platforms.
Game developers interested in low-level C++ game programming, networking, and physics simulation, as well as players seeking a community-driven, extensible shooter with modding and map-making capabilities.
Developers choose Hypersomnia for its fully open-source codebase, deterministic networking that ensures perfect synchronization, and the unique integration of an in-game editor for instant playtesting. It demonstrates innovative solutions to hard problems like cross-platform determinism and self-contained server hosting.
Multiplayer top-down shooter made from scratch in C++. Web version: https://play.hypersomnia.io Made in 🇵🇱
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Ensures perfectly synchronized gameplay across native clients (Windows, Linux, macOS) and web browsers, even with physics simulations, by transmitting only player inputs and using techniques like cache reinference.
Built with ImGui, it allows instant playtesting of work-in-progress maps with friends, including automatic map downloads for joining players, all within the same executable.
The game executable embeds the editor, game server, and masterserver, enabling easy self-hosting and community server lists without additional software.
A custom pool implementation provides contiguous storage, O(1) operations, and deterministic behavior crucial for networking and undo/redo in the editor, as detailed in the tech highlights.
Automatically downloads and verifies updates using developer public keys, with signatures verified via ssh-keygen, protecting against malicious builds.
Achieving determinism requires using the same compiler (clang) across all OSes and specific flags, making the build process non-trivial compared to engine-based projects.
Currently offers only two game modes (bomb defusal and gun game) and 24 weapons, which may feel sparse compared to commercial multiplayer shooters.
The codebase involves custom systems like deterministic networking and memory pools, requiring deep C++ knowledge for meaningful contributions or modifications.
Lacks visual tools for logic or behavior editing, relying entirely on code for game mechanics, which can slow down iteration for non-programmers.