Devlog

How this was built

The reference pages carry conclusions. This carries the working — what was read out of which engine, what had to be dropped for being unverifiable, and the errors caught before they shipped, along with the ones that were not.

  1. ModDB rounds out all three Caesars' Tools & Mods lists

    Caesar, Caesar II and Caesar III all get a ModDB link now, the same source-link pattern the rest of the series already has. Caesar III's page is genuinely active (restored cinematics, a housing tweak, a WSGF mirror); Caesar and Caesar II's are both empty, linked anyway.

  2. Zeus and Poseidon's ModDB pages, same pattern as Pharaoh and Cleopatra

    ModDB's Zeus and Poseidon pages join Tools & Mods - Zeus's has a jackfuste WSGF mirror, Poseidon's own separate listing has nothing yet and is linked anyway, exactly the shape this got for Pharaoh and Cleopatra two entries ago.

  3. Two more browsing sources for Pharaoh, one of them empty and linked anyway

    ModDB's Pharaoh and Cleopatra pages join Tools & Mods as source links, the same shape as the HeavenGames and Nexus Mods entries already there. Cleopatra's page currently lists no mods at all - linked anyway, since the expansion has always had its own storefront listing and credits on this site, so it gets its own ModDB link too rather than being folded into Pharaoh's.

  4. Two sources that alone weren't enough, and together were exactly enough

    Caesar II gets four new pages at once - Buildings, Housing, a Mechanics deep-dive, and Production - built from the reconstruction's decompiled source and, for the first time on this site, the game's own manual read directly. The manual's Appendix turned out to be the load-bearing source for all four: it's where the housing ladder's 31 names live, where the civic-building growth tiers are named, and where the only surviving record of Caesar II's sixteen city businesses is.

  5. Julius turns out to have reimplemented the map editor too, not just the game

    Asked to check whether Julius/Augustus have their own map editor, distinct from the original si_caesar3_mapeditor.exe already listed. They do: src/editor/ and src/window/editor/ are a from-scratch C reimplementation built into Julius's own menu, and Augustus extends it with Scenario Events, an XML-scriptable conditional-logic system the original editor never had. The earlier Map Editor entry's link was wrong about what it was pointing at, and is corrected.

  6. Caesar III gets a Production page - the "rates live in c3_model.txt" line was only half true

    Julius's src/building/building.c turns out to state every raw producer's output and every workshop's input+output as a literal switch statement, and industry.c's progress threshold (200 for raw producers, 400 for workshops) is a hardcoded engine constant, not a c3_model.txt value. Fifteen producers now have a page; only the per-day rate itself - which really is however many workers are on shift, not a fixed number - stays a dash.

  7. Caesar III's editor was the fourth kind of "integrated" this series had

    The last of the four games' Tools & Mods lists gets its editor entry and a HeavenGames source link. Caesar III's own engineNote already said the official editor landed in the v1.1 patch - it just didn't have a row. Turns out not every copy still ships it, which is its own small wrinkle Emperor, Zeus and Pharaoh's editors didn't have.

  8. Pharaoh CrashFix comes back out

    Removed at request, the same way Emperor's Ukrainian localization briefly was and then wasn't. The Nexus Mods link-out stays; its note no longer points at an entry that isn't there.

  9. Pharaoh's Mission Editor joins Tools & Mods, and a real crash fix turns up

    Third time through the same pattern: Pharaoh's in-game Mission Editor (unlocked by the 1.2 patch, no separate install) plus HeavenGames' misc-downloads listing and Pharaoh's Nexus Mods page. Checking that Nexus page turned up a genuine audio-crash fix, added as its own entry rather than left as a mention.

  10. The buildings filter's hidden cards were never actually hidden

    A user report on the new Zeus page ("click Aesthetics, all buildings are still showing") turned out to be a real, pre-existing bug on every game's Buildings page: the filter script was setting card.hidden correctly the whole time, but the .card class's own display: flex silently overrode the browser's default hidden styling, so filtered-out cards stayed laid out and visible.

  11. Reading a hundred buildings out of a hundred and twenty-five C++ files

    Zeus gets its own Buildings and Production pages, sourced from eZeus's per-building constructor calls rather than a single table - a third data shape, joining Julius's enum-and-properties join and Akhenaten's JS config. The buildings schema also grew a second footprint shape, [width, height], for the handful of Zeus buildings that genuinely aren't square.

  12. Zeus gets its own built-in editor and the same two mod sources

    Following the pattern set for Emperor: Zeus's Adventure Editor - launched straight from the game's start screen, no separate install - joins Tools & Mods, alongside HeavenGames' misc-downloads listing and Zeus's Nexus Mods page. This time Nexus turned up nothing new; its one upload is the resolution customiser already listed.

  13. The two Emperor mod sources move from Community into Tools & Mods; the Ukrainian localization comes back out

    A correction on the last entry: HeavenGames' misc-downloads listing and Emperor's Nexus Mods page were places to browse for tools and mods, so they belong in Tools & Mods, not filed as Community links under a new category invented for them. The Ukrainian localization mod found while researching those sources is removed - a source worth linking isn't the same call as every mod behind it deserving its own entry.

  14. Tools and Mods fuse back into one section; Emperor's built-in map editor finally gets listed

    The Tools/Mods split from a few weeks back is reversed - one "Tools & Mods" section per game now, each row labelled Tool or Mod. Emperor also gains its shipped-in-the-box Campaign Creator, a Ukrainian localization found while researching, and two community source links for browsing further.

  15. Tools and mods get the same Repository/Website/Play in browser row the engines do

    The Website and Play in browser links added to engine cards only covered the engineProjects collection. Tools and mods carry the same idea now, and it surfaced a link the site was missing: the Zeus customiser has its own gitlab.io page, same as Emperor's, that the data never pointed at.

  16. Four engine projects turn out to have a website, or a browser build, or both

    Julius, Augustus, Akhenaten and the Caesar II port each carry something beyond the bare GitHub repo - a project site, a WebAssembly build you can run with no install, or both. Checked by hand rather than guessed from a github.io URL pattern; the other seven engine projects genuinely have neither.

  17. Naming the people behind the engines, and checking their commits live

    Every engine project and tool/mod now credits who built it, sourced from the GitHub account behind the repo rather than invented. Hub pages also run a small script in the browser that refreshes each project's last-commit date against the GitHub API directly, on top of the build-time snapshot the update script already wrote.

  18. Reading the save file straight out of the loop that writes it

    Two Caesar II format pages, .SAV and .ENG/.HELP, sourced entirely from the decompilation's own save/load code and the port's text pipeline - closing the gap the last entry left open the same day it was opened.

  19. Caesar II leaves the wanted board

    A clean-room decompilation of Caesar II, byte-exact against the original executable, plus a native and browser port built on it - the first of the two undocumented earlier titles to get an open engine, found through a community post rather than a search of this site's own making.

  20. A second link pass, after the first one aged

    Three community links removed, one repointed at a live site instead of an old forum script, one added - the same triage as before, run again because a list of links is never really finished.

  21. Cheat codes, read the same way as everything else

    A sixth category per hub, and one more case where reading the engine beat trusting a list - this time catching a fan page's own arithmetic not adding up.

  22. Manuals, and the site that wouldn't let curl through

    Every game's own instruction manual, added as a category on its hub - and a lesson in the difference between a dead link and one that just doesn't like scripts.

  23. Link-rot triage, and three kinds of redirect

    Every outbound link checked. Nothing is dead - but reading the results properly mattered more than the headline, because most of the redirects were not what they looked like.

  24. Production chains, and the page that could not be extracted

    Thirty-nine production chains read from configuration, and then the first page on this site that is an argument rather than a table.

  25. The housing ladder, and the one that took two sources

    Four games' housing ladders, three of them straightforward. Zeus needed a fansite and an engine together, and the join between them is what makes it trustworthy.

  26. Dating the status dot

    Saying an open-source project is dormant is a core value of this site. Until now that word had nothing behind it, and two of the nine claims turned out to be wrong.

  27. Campaigns, a misread array, and ten missions in the wrong game

    Reading mission lists out of engines rather than walkthroughs produced something no guide has — and caught two errors, one of them mine.

  28. Credits, a blocked door, and the shape of a lie

    Putting whole development teams on each hub meant working around a source that could not be reached, and changing the data model twice to avoid saying something untrue.

  29. Buildings are generated, not written — and one column was dropped

    Two hundred-odd buildings read out of two engines by a script that asserts its own work, plus a field that was parsed, understood badly, and deliberately thrown away.

  30. The format reference, and four things the research corrected

    The technical layer is the reason this site exists. Writing it properly meant contradicting the project's own planning document four times.

  31. A shell, a search box, and a base path that broke everything

    Home, six hubs and Pagefind went up in a night. Then the first deploy to GitHub Pages turned every hand-written link into a 404, and the fix was a nine-line helper.

  32. Starting from a design that was already finished

    The project began with three briefs and an approved design canvas, which is an unusual place to start and made the first real decision an easy one: build what was drawn, and don't redesign it on the way.