electronicarts/cnc_generals_zero_hour — explained in plain English
Analysis updated 2026-06-26
Create custom mods for Command and Conquer Generals using the original game engine code and publish them on Steam Workshop.
Study how a 2000s-era real-time strategy game engine was architected, including unit behavior and multiplayer networking.
Understand the game's internal data formats to build better mod tools without relying on reverse engineering.
| electronicarts/cnc_generals_zero_hour | lightvector/katago | mavlink/qgroundcontrol | |
|---|---|---|---|
| Stars | 4,591 | 4,598 | 4,582 |
| Language | C++ | C++ | C++ |
| Setup difficulty | hard | hard | easy |
| Complexity | 5/5 | 4/5 | 3/5 |
| Audience | developer | researcher | general |
Figures from each repo's GitHub metadata at analysis time.
Requires Visual C++ 6.0 from 1998 and several out-of-print third-party SDKs not included in the repo, compiling on a modern Visual Studio needs extensive code rewrites.
This repository contains the original source code for Command and Conquer: Generals and its expansion pack Zero Hour, released by Electronic Arts. These are real-time strategy games where players command armies and battle opponents across a series of missions and multiplayer matches. The code is written in C++ and dates from the early 2000s. The main practical reason EA published this code is to enable Steam Workshop support for both games, so players can create and share custom mods through Steam's built-in system. People who want to build new mods or understand how the game engine works can now read the actual code rather than relying on reverse engineering. Compiling the code yourself is difficult by design. It requires several third-party libraries that are not included, such as an old version of the DirectX SDK, a sound system from a company called RAD, a GameSpy networking library, and others. You have to find or replace all of these before the code will build. The recommended compiler is Microsoft Visual C++ 6.0, which is from 1998. Using a modern version of Visual Studio requires extensive rewrites to the code because the C++ language standards have changed significantly since then. If you do manage to compile it, you still need to own the game to run the result. EA sells the game on Steam and the EA App as part of the Command and Conquer: The Ultimate Collection. A few caveats are worth knowing. EA is not accepting pull requests or bug reports for this repository. It exists for preservation and mod-enabling purposes only, and is archived without ongoing support. The code is released under the GPL v3 license with some additional terms, so anyone who builds on it and distributes their version must also share their source code under the same license.
The original C++ source code for Command and Conquer: Generals and Zero Hour, released by EA to enable Steam Workshop mod creation for these classic real-time strategy games.
Mainly C++. The stack also includes C++, DirectX, Win32 API.
GPL v3 with additional terms, anyone who distributes a modified version must share their source code under the same license.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.