Analysis updated 2026-05-18
Play a classic RTS game in the browser without installing anything locally.
Study how a native C++ game engine is ported to WebAssembly with a graphics translation layer.
Build and experiment with the Direct3D-to-WebGL2 rendering bridge used by the port.
| meerzulee/generalsxweb | khenderson20/clearcore | swately/phyriadfg | |
|---|---|---|---|
| Stars | 9 | 9 | 9 |
| Language | C++ | C++ | C++ |
| Setup difficulty | hard | moderate | hard |
| Complexity | 5/5 | 4/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires building with Emscripten and CMake, plus your own legally owned copy of the Zero Hour game files.
GeneralsXWeb is an experimental project that lets you play Command & Conquer: Generals Zero Hour, a classic real-time strategy game, directly inside a web browser tab. It works by taking GeneralsX, an existing cross-platform build of the game's engine, and compiling it to WebAssembly, a format that lets code originally written for desktop computers run inside a browser. Graphics are handled by a separate project called Dvijoke d8web, which translates the game's original Direct3D 8 graphics calls into WebGL2, the graphics technology browsers understand. Nothing runs on a remote server and nothing is streamed, the entire game engine executes inside your own browser tab. The README is upfront that this is early and experimental work: expect visual glitches, missing features like audio and multiplayer, broken save files, and changes between updates that may break things that worked before. It is not affiliated with or endorsed by Electronic Arts, the original publisher. A companion project called Igroteka is where people actually play the game, since it handles loading your own copy of the game's files into browser storage. This part matters legally and practically: you need to already own a copy of Zero Hour, typically through Steam, because no game files are included, uploaded, or hosted anywhere by this project. What currently works includes booting into the animated main menu at a fixed resolution, loading the game's original archive files and configuration data, running skirmish matches against AI opponents, menu navigation, text rendering, and game options. It has been tested working in Safari and Chrome, though Brave requires disabling its fingerprint protection feature for it to run. Building the project uses a CMake preset for WebAssembly along with the Emscripten toolchain, with the browser-specific glue code, including the boot process and the graphics bridge, kept in a dedicated folder. The engine's original source code was released by Electronic Arts under the GPL v3 license, this project builds on a chain of community forks, and it is licensed the same way as the code it derives from.
An experimental WebAssembly port that runs Command & Conquer: Generals Zero Hour entirely inside a web browser tab.
Mainly C++. The stack also includes C++, WebAssembly, Emscripten.
You can use and modify the code, but any project built on it must also be released under the same GPL v3 license.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.