A C++ 3D game engine ported to run in web browsers using JavaScript, WebGL, and WebAssembly via Emscripten.
BananaBread is a port of the Cube 2/Sauerbraten 3D game engine and first-person shooter to the web. It compiles C++ and OpenGL code to JavaScript and WebGL using Emscripten, allowing a full-featured FPS to run directly in web browsers without plugins. The engine includes visual effects, physics, bot AI, and an integrated in-game editor.
Game developers and enthusiasts interested in running or porting legacy C++ game engines to the web, and those exploring WebGL and Emscripten for high-performance browser-based gaming.
It provides a proven, feature-rich 3D game engine that runs entirely in the browser using standard web technologies, eliminating the need for plugins while maintaining the performance and capabilities of the original native engine.
BananaBread is a C++ 3D game engine that runs on the web using JavaScript+WebGL+HTML
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes water reflection/refraction, parallax mapping, and particle effects, delivering a visually impressive 3D experience directly in the browser as highlighted in the README.
Allows real-time level design and modifications without external tools, streamlining the development workflow for rapid prototyping.
Compiles C++ and OpenGL to JavaScript/WebGL, enabling a full-featured FPS to run in browsers without plugins using standard web APIs.
Engineered for fast performance both on the web and natively, ensuring smooth gameplay with complex scenes and physics.
The project is no longer under active maintenance, with the README pointing to a fork for updates, meaning no bug fixes, security patches, or new features.
Multiplayer support and shadowmapping are explicitly listed as not yet enabled, limiting functionality compared to the original Cube 2 engine.
Requires Emscripten setup and specific build commands (e.g., 'emmake make client'), which can be daunting for developers not versed in C++ compilation to the web.