Workshop journal · · 9 min read
All of Bretonnia: how we'll expand the campaign map
The Season's map stops short of Bretonnia's northern dukedoms: Lyonesse, L'Anguille, Couronne, Artois. I want the whole kingdom, from the coast of Lyonesse to the Grey Mountain passes, and I want to draw it with you. Here's the method, step by step, where we stand, and how you can weigh in on every choice.

Where the idea came from
On 23 September at 5:20 am, deep in a night of work, I told Claude: “in the future I'm planning extensions of this map further north, to get the whole of Bretonnia”. It suggested a “paper” map to sign off before building anything: regions, towns, rivers, forests, based on the lore. My answer: “yes please!!” (My quotes are translated from French.)
The first version arrived around 6:30 am. It was missing the dwarf holds, the orcs and goblins between the Empire and Bretonnia, and the passes, with the fortress of Helmgart. In the afternoon, a Claude session dedicated to the map produced version 2. My verdict: “I love how it looks”.
The brief
Before drawing anything, I set my conditions. They guide every choice on the map.
- True to the lore and joined to the Season: continuous rivers, valleys and passes that fit the current map.
- Playable: every region reachable, provinces of one to several towns, greenskins where the lore puts them.
- Buildable: nothing Warhammer III can't do.
- Sourced: every name has a source; without one, it's marked provisional.
- Independent of Warhammer III: no geometry taken from its campaign map.
The method in ten steps
Ten steps lead from the atlas to the game. The first eight happen on paper and are done; the ninth is defined; the tenth, the heaviest, is still ahead.
Step 1: survey the Atlas of the Old World
Our main source is the Atlas of the Old World, a non-commercial fan project by Todd Kozlowski, shared with attribution. It draws on Andy Law's maps, Émile Beguin's Bretonnia and Warhammer books such as Knights of the Grail: places, relief, rivers, forests, roads.
Claude reads it in memory and keeps only derived data: 4,663 places for our area, river and forest masks, elevation bands. The official Old World map of Bretonnia, published by Warhammer Community, was only used to place the isles and the Dragon's Maw; its image is neither copied nor published.
Steps 2 and 3: align the atlas, and find out Warhammer I cheated
Aligning means laying the atlas over our map. We took 48 towns present on both, like so many pins, and computed a flexible warp that matches them as closely as possible: moving least squares. Picture a rubber sheet stretched from pin to pin.
To judge the result, we take each town out in turn and see where the atlas would put it back. Median gap: 16.4 hexes. On the first try it was 18.8, because our pins sat at the centre of each region rather than at the town's true spot.
Five places were left out of the fit. Warhammer I had moved four north-eastern fortresses by more than 100 hexes: its mini-campaign isn't a faithful scale model of the lore. Athel Loren is enlarged, and the dwarf and orc block in the north-east sits where the lore puts the Reikland. Karak Ziflin, Montfort's neighbour in the lore, ends up nearly 180 hexes away from it.
Hence two rules. In the north-west, the atlas is used as is. In the east, anchor points push the Empire back, blended over 40 hexes, and we follow the lore's topology (what touches what, through which pass) rather than a fit.
Step 4: relief and rivers
In the east, the stretched atlas didn't give a believable range. So Claude drew the Grey Mountains: solid massifs, an impassable core in one piece, and the lore's passes carved out as valleys 4 to 5 hexes wide, like the Imperial side of the Axe Bite Pass, the Grey Lady Pass or the valleys of Karak Norn and Grimhold. The dwarf holds sit in basins.
The expansion's relief is 80% this drawing and 20% atlas.

For rivers, one simple rule: keep only those that end in the sea, at the edge of the frame or on one of our rivers. None may enter the map only to vanish, and none runs over high mountains.
Step 5: grow the regions
Each region starts from a town named after the lore, with its source. It spreads over land by least cost, like an ink blot: high mountains cost eight times more, a river two and a half times. So borders follow ridges and rivers, and every region stays in one piece.
Provinces group one to four regions. In the north come the missing dukedoms: Lyonesse, L'Anguille, Couronne and Artois, plus the Marches of Couronne and the Pale Sisters. In the east, Helmgart and Ubersreik, La Maisontaal and the dwarf holds of Karak Norn, Karak Azgaraz and Grimhold; in the south, the greenskin tribes of the Irrana Mountains.

Step 6: seas, isles and splits
The expansion adds 11 seas, using CA's names where they exist, such as the Albion Channel or the Sea of Claws. For the isles, the map suggests Aislinn, the High Elves' Sea Lord: Tor Martel is his fortress in The Old World, and he would add Tor Soleil. The Silent Isle, emptied in a single night according to Knights of the Grail, stays a ruin to restore.
It also proposes 14 splits: towns carved out of large regions, such as Aquitaine, Ceren Field or the Burial Mound of Grudsnik. Eleven touch a map that's already built, three the new part: they get decided one by one.
Step 7: roads and passes
Roads follow the cheapest path between neighbouring towns: 54 new roads. Every town in the expansion is linked by land, except the isles, linked by sea. For the passes to lead somewhere, five breaches also have to be opened in the impassable edge of the current map: 43 hexes in all.
Steps 8 and 9: the sign-off page and the new frame
It all comes together in the interactive map on this site: layers, region cards, a before-and-after view. A “For modders” box shows the proposed keys and hex coordinates. Along the way we fixed a bug in the first version: contour simplification erased every closed loop, and the map had no borders left at all.
The frame grows from 400 × 440 to 560 × 575 hexes. The new map.hex starts 120 hexes further west: add 120 to every x, and y stays the same. That frame remains the Atlas's. In the game, the Season Expanded build's grid is 560 × 825 hexes: 250 extra rows in the south for the Dreaming Wood, which puts the Season at (x + 120, y + 250). The details are in Building a map expansion.
- Regions with a settlement: 57 → 89 (+32)
- Provinces: 26 → 41 (+15)
- Seas: 2 → 13 (+11)
- Playable land: +51%
- Starting factions: 28 → 37 (+9)
Working figures, not a promise: they will change with the questions still open.
Step 10: what's left to do in game
This is the heavy part. It started on 25 September, and it's being built in public: the “Season Expanded” project. The CAIME layers have to be redone in the new frame, then everything else shifted: the Terry project and its layers, the startpos, character positions, script cameras.
The new regions also need their start tables and their terrain. Warhammer I's mini-campaign has no source for those areas: the relief will come from the atlas and the drawn range. I'm not giving a date.
How to take part
This is when the map gets decided, and I want your ideas: a name that rings false, a border in the wrong place, a forgotten town, a lore tribe that's missing. It all happens on the map.
No need to be a modder: one sentence is enough, the pin says where. And if you know CAIME, RPFM or the lore inside out, your terrain and gameplay ideas count just as much.
The questions still open
Six questions are still open, and your view can tip any of them. Share it by suggesting an idea at the spot in question:
- keep Helmgart and Ubersreik, or stop the map at the ridge;
- give the lore's greenskin tribes factions of their own, or use existing ones;
- the elven isles: Aislinn, free ruins, or Imrik at Tor Soleil;
- which splits to keep;
- whether to open the five breaches;
- confirming the names that have no source, such as Les Contreforts or the Wut Pass.
Three are already settled: Karak Azgaraz stays in ruins, as in Immortal Empires; L'Anguille gets a faction of its own; Lyonesse goes to Repanse de Lyonesse's Chevaliers de Lyonesse.
I make the final call, but I read everything. The story of the port is here, and the build method there.