Atlas of Bretonnia

Workshop journal · · 9 min read

The Season of Revelation, back in Warhammer III in 4 days

On 19 September 2026, CAIME (Campaign AI Map Editor), the Campaign Map Toolkit's editor, came out. Four days later, the map of The Season of Revelation was running in Warhammer III, with nine playable lords. This is the story, sleepless nights included, of a project built by a duo: me doing the judging, Claude doing the execution.

The campaign map in game: the forests of Athel Loren, their roads and, beyond, mountains
In-game capture: the Season map in Warhammer III.

A mini-campaign Warhammer III never had

The Season of Revelation came out in December 2016 with Realm of the Wood Elves, for the first Total War: Warhammer. It is a scripted mini-campaign: in spring, Orion awakens in a wounded forest while Morghur, the Shadowgave, leads his herds towards the Oak of Ages. Only the Oak at full power can break Morghur's immortality, and it all comes down to the Silver Spire.

Warhammer III never brought it back. That's a shame, because its charm is the scale: every settlement covers 12 to 14 times more hexes than in Immortal Empires. Bretonnia and Athel Loren have room to breathe, with their glades, villages and mountain passes.

I mostly do reskins. But what I enjoy most is campaign maps. So when a tool finally let us edit them, I didn't hold out for long.

The trigger: CAIME is out

CAIME is the community tool that edits the campaign maps of several Total War games, from Rome II to Warhammer III. It handles the logical half of a map: the hexes, with their regions, ground types, rivers, roads and settlement slots. Version 1.0.0 came out on 19 September 2026, from the TW Campaign Map Modding Team: MrJox (aka victimized), Maruka and Marthenil founded the project, and ChaosRobie is among its contributors.

The next day, I set up a workshop with Claude, Anthropic's AI assistant. To learn the pipeline, we started with a small made-up island that passed CAIME's checks. Along the way we hit a bug affecting French Windows, and any system that writes decimals with a comma: the Assembly Kit database refused to load, and every project opened read-only.

I reported it on the CAIME Discord, the team invited me to submit the fix, and it was merged the same day at 4:29 pm. Twenty minutes later, I reported a second issue: CAIME 1.0.0 couldn't open Warhammer I's mini-campaign maps. We fixed it in our copy of the tool and offered the fix to the team; both fixes are in version 1.0.1, released on 23 September.

That left the visual half: relief, forests, water. On the same Discord, ChaosRobie, the author of Immortal Empires Expanded, explained that he had reverse-engineered the whole Immortal Empires visual map into a campaign-type Terry project, and he shared it. That was exactly the blueprint we were missing.

The brain and the execution

I've got the brain, and you're the execution.

Charles, to Claude (translated)

That's how I summed up the way we worked, and it held for four days. I set the course, made the calls, played, and compared everything with my Warhammer I screenshots. Claude wrote the scripts, took file formats apart, read crashes in a debugger and kept the documentation.

My decisions were written down, so they wouldn't be reopened. We keep Warhammer I's scale and geography: no carving up the Immortal Empires map. The map is 100% Warhammer I, the gameplay is Warhammer III, with Warhammer I's story. CA's own campaigns must keep working with the mod enabled, and there will be nine playable lords.

Claude worked in several parallel sessions, each with its own area: build, data and scripts, map rendering. I explain that setup in the article on method. We worked in French, so every quote of mine below is translated.

Night 1: the startpos wall

On 20 September at 9:15 pm, the logical map existed in Warhammer III: 400 × 440 hexes, 61 regions (3 of them at sea), 26 provinces. Next came the startpos, the file that freezes a campaign's starting state: factions, characters, settlements, diplomacy. The game builds it itself, and it crashed every single time.

The lock broke at 1 am. The culprit was a file format: the logical map file came out in a variant of CA's ESF format that Warhammer III doesn't read, one field off at the end of the file. On the 21st at 12:08 pm, the first startpos was generated, and at 12:20 pm the game accepted the campaign. Its selection screen was empty, so we rebuilt it on CA's model within the hour.

Day 2: “it works!!!!”

In the afternoon we tackled the terrain. BOB, the Assembly Kit's builder, refused to process a map it didn't know, without a single error message. Around 5:50 pm, the terrain finally compiled.

My next two tests crashed on loading: 18 Athel Loren regions had no settlement slot at all. Then came the AI's pathfinding data, then a faction with no AI personality. Each time, Claude analysed the crash in a debugger and found what the game had been looking for.

It works!!!! […] the map looks like nothing, but at least it loads.

Charles, 21 September, 8:31 pm (translated)

The evening cooled things down fast. At 10:50 pm, in game, I wrote “this is a bit of a mess”, then “I don't recognise the map”. Chaos where there had been none, the winter glade's snow wiped out, Warhammer III objects instead of Warhammer I's.

I made the call: the real Warhammer I objects, and no visual delivered without checking it on screen. By 11:40 pm, they were in place.

Day 3: a map that is 100% Warhammer I

On the 22nd we first fixed a crash I hadn't even reported: the night before, my game had died at the end of turn one. Claude found it the next day, somewhat by chance, in the crash reports. The campaign's battle terrain was missing, a second terrain the game reads from the very first battle.

At 2:40 pm I set the bar: “a map that's 100% WH1, with no WH3 equivalents”. In came Warhammer I's real ground, its textures, its lighting, its trees, then its 514 mountains, placed between 9 and 10 pm.

At 10:40 pm, another cold shower: there was “stuff flying everywhere”. Claude's audits only found 45 floating objects. The cause was a coordinate frame: objects and terrain aren't read on the same grid, and our objects had been squashed 13% towards the south. At 11:23 pm, in Terry, the waystones were back in the ground.

Night 3: water, rivers and six lords

The night of the 22nd was the longest. Warhammer I's rivers, a pixel-accurate coastline, lighting: at 2:53 am, the lighting zones were “every colour going, it really hurts your eyes”. We removed them.

At 3:40 am, in game: “by the sea there's no water, just the sandy bottom”. A coastline tweak had put the water surface at the height of the seabed. The water came back at 4:06 am, and the rivers became smooth and connected at 5:37 am.

At 5:47 am, six lords were waiting on the selection screen. At 6:20 am, Claude delivered the river currents, and I finally went to bed.

Day 4: nine lords and self-playing games

By early afternoon, all nine lords were in: Orion, Durthu, Alberic of Bordeleaux, the Fay Enchantress, Morghur, the Red Duke, Drycha, Heinrich Kemmler and Grom the Paunch. Orion and Durthu keep Warhammer I's victory; the other seven will follow the per-lord goals of the game's next update.

Then Claude set up automated games: the game launches, picks a lord and plays turn after turn. Orion lasted 30 turns without an error, in the mode where the AI plays everything, at about 36 seconds a turn. The next runs crashed for Durthu, Alberic and the Fay: a grass effect recreated from Warhammer I was bringing down Warhammer III's renderer. It was switched off straight away.

  • 45,611 Warhammer I objects in place, 80,457 trees and 514 mountains
  • 61 regions, 57 of them with a settlement (the rest: 3 at sea, and one land region with none), over 176,000 hexes
  • 73 missions, 34 campaign scripts and 1,125 text entries per language
  • 9 playable lords; text in French and English

What it changes for modders

Since 19 September, the logical half of a campaign map is open to everyone through CAIME. For the visual half, Terry and BOB, CA's own tools, do the job once you learn how to handle them. Immortal Empires Expanded proved it at scale; this port shows it for a whole map brought over from another game.

The other change is pace. The plan written on 20 September at 5:45 pm counted 22 half-day sessions, with a first in-game test at the tenth; the campaign loaded the next evening. An AI that takes apart a binary format or a crash dump changes the economics of a mod, as long as someone judges the result in game.

Everything we learned is written down. The step-by-step method is in the tutorial, and the nine biggest obstacles are in The 9 walls.

What's next?

On 24 September, Warhammer III's 9.0 update lands, with the Vampire Counts rework and per-lord victories. It will probably break part of the mod, so we took a snapshot of the current game state to compare afterwards. There are also long games still to play, and rendering to polish: lakes, bridges, Warhammer I's roads, a few mountains.

And then there's the next chapter: expanding the map to all of Bretonnia. For now it's a plan on paper, and we're drawing it with you. Explore the map, suggest an idea, or read how we'll go about it.

Suggest an ideaSee the map