I made a Web shooter in C++ with no engine. Fully deterministic netcode
I made a Web shooter in C++ with no engine. Fully deterministic netcode
GitHub: https://github.com/TeamHypersomnia/Hypersomnia - 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. - 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 ranked matches in the browser after signing in with Discord. Your MMR is based on the OpenSkill library. - Browser clients and native clients (Windows, Linux, MacOS) can play on the same servers thanks to libdatachannel and datachannel-wasm. Host a server from your browser and connect from the Steam version, or vice versa. - I use LLVM to build it for all platforms: Windows, Linux, MacOS. I use Emscripten to compile it to WebAssembly. - There were significant challenges in making Box2D suitable for this, e.g. it comes without operator= so I had to implement complete cloning of the physical world for when I have to roll back the predicted world to reconcile it with the server state. Note it's not enough to just recreate the b2World from velocities and positions - you have to clone all contacts, generated trees, and all cached state so that the order of subsequent operations stays identical. Read more about the interesting tech aspects of the game here: https://github.com/TeamHypersomnia/Hypersomnia#tech-highligh...
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
2M fully loaded concurrent WebSockets
The Billboard, a fully decentralised billboard stored in Ethereum
The only PaaS that fully supports Elixir and Phoenix.
I made a fully functioning search engine on top of GPT3
90s – an async C++23 web server with templating engine
Neverbleed – privilege separation engine for OpenSSL and LibreSSL
Mediachain Attribution Engine
Objective-C Tetris engine
Personalisation engine for Magento
Meteora – an interaction engine