I made a **competitive shooter in C++ without a game engine, ** and you can now play it in the Browser!
It is completely free and open-source: https://github.com/TeamHypersomnia/Hypersomnia
- Browser clients and native clients (Windows, Linux, MacOS) can play on the same servers thanks to
libdatachannel
anddatachannel-wasm
. Host a server from your browser and connect from the Steam version, or vice versa! - The atlas packer I wrote for the game was reused in Assassin's Creed, Skydio and received 2 scientific references: https://github.com/TeamHypersomnia/rectpack2D
- You can play real ranked matches in the browser after signing in with Discord. Your MMR is based on the
OpenSkill
library. You can play as a guest on casual servers too! - I use LLVM to build it for all platforms: Windows, Linux, MacOS. I use Emscripten to compile it to WebAssembly.
- The netcode relies on full simulation determinism - this includes Box2D physics. I'm using standard floating-point calculations and rely on IEEE754 compliance. I also use STREFLOP for portable math function implementations. This is commonly done for RTS games with a lot of synchronized units, however this technique is rarely if ever seen in games with complex physics, esp. shooters.
:VeryBased::VeryBased:Happy slacking off at school and at work! :VeryBased::VeryBased: