A browser adaptation of Maurycy Liebner's eZeus, the C++ reimplementation of Zeus: Master of Olympus + Poseidon. The engine runs as WebAssembly; a small JavaScript client loads your own game assets and makes the game fill the browser window.
Playable prototype · v0.1.0-alpha.1 · Based on upstream 0.8.2-beta.4 · GPLv3
- Install Python 3.11+ and have your own installed copy of Zeus + Poseidon available.
- Download
ezeus-browser-v0.1.0-alpha.1.zipfrom Releases. Extract it and open a terminal in itsezeus-browser/folder. This includes the compiled browser engine and matching source. - Download the upstream eZeus 0.8.2-beta base ZIP separately. Keep it zipped.
- Prepare the local assets, then start the server:
python3 scripts/setup_runtime.py --game-root "/path/to/Zeus + Poseidon" --base-zip "/path/to/eZeus-0.8.2-beta.zip"
python3 scripts/serve_dev.pyOpen http://127.0.0.1:8787/ and keep the terminal open. On Windows use py -3 instead of python3. The first load reads about 511 MB of assets and shows progress. Create/select a leader in the game's roster, then choose New Adventure. Use the game's own menus and controls.
For a source checkout, compile the engine first using BUILDING.md. GitHub's automatic “Source code” archives do not include the compiled engine. This is a local game server; accounts, public hosting, cloud saves and multiplayer are planned, not implemented.
- Entire page is the game, with original menu artwork and controls.
- Asset loading bar with bytes, percentage and verified file count.
- Automatic viewport resizing, including portrait windows, without restarting the city.
- Reduced idle rendering, hidden-tab suspension and a one-core build optimizer default.
- Browser save storage through IndexedDB; native eZeus
.ezloading exercised. - Copyable city blueprint: standalone HTML, PDF, SVG, PNG, coordinates and validation. This design targets the original game; eZeus housing rules differ.
| Loading progress | City and game controls |
|---|---|
![]() |
![]() |
These are screenshots from local browser checks, not mockups. The small Athens city is a smoke test, not a demonstration of a completed elite district. Game artwork belongs to its respective owners.
Original Zeus .sav files are not supported by eZeus's .ez loader. Renaming a file does not convert it. Native eZeus .ez compatibility has been smoke-tested; full campaign and repeated save/reload testing remain open.
Clearing cached images/files usually removes downloadable assets. Clearing site data/IndexedDB can also delete browser saves. Saves belong to a browser profile and origin, including the port; keep using the same address. There is no account backup or polished save import/export interface yet.
Scene loading can briefly flash different background pictures. The current loading widget chooses new pictures between preparation steps; this remains a known issue. The initial loading bar does not yet replace that in-game transition.
| Guide | Contents |
|---|---|
| Setup and building | Prerequisites, assets, source compilation, launch and troubleshooting |
| Current status | What passed, known issues, save limitations and browser coverage |
| Architecture | Engine/client/server boundaries and storage |
| Performance | CPU controls and bounded diagnostic commands |
| Source guide | Housing, beauty, roads, services and save format |
| Development plan / backlog | Accounts, personal cities, updates, world map and multiplayer phases |
| Release notes | Versioned changes and validation |
| Provenance | Upstream source, dependency versions and asset ZIP checksum |
The engine is primarily the work of Maurycy Liebner and upstream contributors, distributed under GPLv3. This repository adds browser integration, build/runtime adjustments and project documentation. Upstream source headers and the upstream README are retained. The ENG converter derives from Bianca van Schaik's MIT-licensed citybuilding-tools; see third-party notices and dependency notices.
Commercial game assets and personal saves are not bundled in this repository or browser release. Setup reads a locally installed game and the separately downloaded upstream runtime package. This is an unofficial project, not an official game release.



