Julius: an open source re-implementation of Caesar III that keeps the original game logic
An open source re-implementation of Caesar III
At a glance
- What is it?
- Julius rebuilds Caesar III as an open source C program that still needs the original game files. It targets widescreen support and quality-of-life fixes while preserving 100% save compatibility with the 1998 release.
- Who is it for?
- Julius is for players who own Caesar 3 and want widescreen resolutions, windowed mode and small interface fixes without touching the simulation. It is not for anyone who wants new mechanics such as roadblocks; the README points those players to the Augustus fork, whose save games cannot be loaded back into Julius or the original.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 18 days ago.
- What is it written in?
- Mainly C, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Julius solves for owners of Caesar III
Caesar III shipped in 1998 and its engine does not run comfortably on modern displays. Julius is a re-implementation of that engine in C, built so the game runs on Windows, Linux, macOS, Android, PS Vita, Nintendo Switch and any compatible browser through Emscripten. The README states the goal plainly: exactly the same game logic as Caesar 3, with the same look and feel. That constraint is the whole product. Saved games are 100% compatible in both directions, so a city started in the original can be opened in Julius and moved back. The project also recreates the original bugs rather than fixing them, because changing behaviour would break that compatibility.
The audience is narrow and clearly defined. You need a legitimate copy of Caesar 3 from GOG, Steam or an original CD-ROM, because Julius will not run without the original game files. If you want a more vanilla experience with some visual improvements, the README recommends Julius; if you want new gameplay, it points to the Augustus fork.
Same simulation, different shell
The repository layout shows the shape of the work. src/ holds the C sources, gen/ and res/ hold generated data and resources, ext/ vendors external dependencies, and test/ holds tests. A CMakeLists.txt at the root drives the build, and .ci_scripts/ plus .github/ hold the continuous integration configuration. Platform-specific code lives in android/ and in the resource tree for the Vita, which is consistent with a single engine compiled for several targets rather than separate ports.
The README is explicit that Julius does not implement gameplay changes. What it adds is presentation and convenience: widescreen resolutions, windowed mode on 32-bit desktops, a set of small in-game quality-of-life improvements documented in the wiki, and support for the high-quality MP3 music files that Sierra once published on its website. None of that touches the simulation, which is why saves stay interoperable. The trade-off is real: every behaviour you disliked in 1998 is still there, including the bugs, and the project treats that as a feature rather than a defect.
Installing Julius and pointing it at your Caesar 3 folder
The README does not give a package manager command. It says to download the game for your platform from the release or development links, or to build Julius yourself following doc/BUILDING.md. The Android build is distributed on Google Play, with separate test builds available through the testing programme. On Linux the listed distribution is an AppImage.
Once you have the binary, you either copy the game into your Caesar 3 folder or run it from an independent folder. In the second case the game asks you to point to the Caesar 3 folder at startup. Two constraints apply before any of this works. Your game data directory must be writable, because saves are stored there, and your Caesar 3 installation must be patched to 1.0.1.0. If Julius reports the patch is missing, the README links to a wiki page with the update.
There is no configuration file shown in the README for this step, so the practical sequence is a file operation rather than a command:
# either run Julius from inside the Caesar 3 folder
cd /path/to/caesar3
./julius
# or run it elsewhere and point it at the data when prompted
./juliusIf you prefer to build from source, the repository root is the starting point and the build instructions live in doc/BUILDING.md:
cmake -S . -B build
cmake --build buildThe README does not document the resulting binary name or install prefix, so check the build documentation before assuming where the executable lands. After launch, what you should see is the original Caesar III interface at a resolution the original never offered, with your existing saves available because they are read from the game data directory.
Where Julius is the wrong tool
The most concrete limitation is the one the project advertises. Julius deliberately reproduces the bugs of Caesar 3. The wiki page on bugs and idiosyncrasies exists to catalogue them, and the README frames this as necessary for 100% save compatibility. If you were hoping an open source rewrite would fix pathfinding quirks, walker behaviour or balance problems, Julius is the wrong project and the README says so indirectly by pointing at Augustus.
The second constraint is ownership of the original game. Julius is not a free game. Without the Caesar 3 files it does not start, so anyone looking for a standalone city builder is out of scope. The third is the patch requirement. A copy that is not updated to 1.0.1.0 will be rejected, which matters for old CD-ROM installs that were never updated. Finally, the write requirement on the game data directory is awkward on systems where the game is installed under a read-only location, and the README offers no alternative save path.
Augustus, the fork that changes the rules
The README names Augustus as a fork of Julius and describes the difference in approach directly. Julius keeps the simulation identical to Caesar 3 and adds visual and interface improvements. Augustus implements long-wanted gameplay changes, with roadblocks given as the example. The two projects are not interchangeable at the save level. Augustus can load original and Julius save games, but a save made in Augustus cannot be loaded in Julius or in the original Caesar 3. That asymmetry is the decision point: if you want to keep moving cities between all three, stay with Julius. If you want roadblocks and accept a one-way save format, the fork is the intended destination.
Maintenance, releases and the AGPL-3.0 licence
The last push to the repository was on 2026-09-12, and the repository is not archived. That is recent enough to treat the codebase as receiving changes, though the release history shows the project does not ship often: v1.8.0 arrived on 2025-07-31, and before it v1.7.0 on 2021-10-14 and v1.6.0 on 2021-01-02. Between v1.7.0 and v1.8.0 there were almost four years. Anyone planning to depend on a particular behaviour should pin a release rather than track master, and should expect long gaps between tagged versions even when commits continue.
The licence is AGPL-3.0, and the LICENSE.txt file sits at the repository root. For a player this changes nothing. For anyone redistributing a modified build or running one as a network service, the AGPL's source-availability terms are the relevant part, and the repository does not contain a separate licensing explanation beyond the licence file itself. This is not legal advice; read LICENSE.txt and the upstream AGPL text if you plan to ship a derivative.
Editorial conclusion
Julius is for players who own Caesar 3 and want widescreen resolutions, windowed mode and small interface fixes without touching the simulation. It is not for anyone who wants new mechanics such as roadblocks; the README points those players to the Augustus fork, whose save games cannot be loaded back into Julius or the original. Before installing, verify that your Caesar 3 copy is patched to 1.0.1.0 and that you can write to the game data directory, because saves are stored there.
Frequently asked questions
How do I install Julius for Caesar 3?
Download the build for your platform from the release or development links in the README, or follow doc/BUILDING.md to compile it yourself. Then either copy the game into your Caesar 3 folder or run it from elsewhere and point it at that folder when asked.
Does Julius need the original Caesar 3 files?
Yes. The README states that Julius will not run without the original Caesar 3 files, which you can buy from GOG or Steam or take from an original CD-ROM. Your installation must also be patched to 1.0.1.0.
Are Julius save games compatible with Caesar 3?
The README says saved games are 100% compatible with Caesar 3 and vice versa. Augustus can load original and Julius saves, but saves made with Augustus cannot be loaded in Julius or the original game.
What is the difference between Julius and Augustus?
Julius implements no gameplay changes and aims for the same logic, look and feel as Caesar 3. Augustus is a fork that adds long-wanted gameplay changes such as roadblocks, which is why the README suggests Julius for a vanilla experience and Augustus for a different one.
Which platforms does Julius support?
The README lists Windows, Linux AppImage, macOS, PS Vita, Nintendo Switch, Android and any compatible browser through Emscripten. The Android version is distributed on Google Play.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/bvschaik-julius)