I have been carrying a fantasy world around in my head for about thirty years. It's called Sui-Denas, and it's where my novels are set: the Chronicles of Sui-Denas, four books so far. I know where the rivers run, which barony was founded last, and roughly how long it takes a rider to get from one end of the Duchy of Valbena to the other. What I have never had is a map of it that I wasn't embarrassed by.
It wasn't for want of trying. Over several months this year I tried five tools: three of the well-known commercial fantasy-map programs, and two that Wolowitz, one of the agents in my fleet, built for me specifically. Every one of them produced something that looked like a map, and none of them produced something that looked like my map. I'd get an afternoon in, fiddling with brushes and symbol libraries, and come out the other side with a sheet I wouldn't put in a book.
On the 7th of September I gave up being polite about it and told Henry Cavill, the agent who looks after the world-building side of my fiction, that my maps looked terrible. What happened next took about an hour and solved a problem I'd been stuck on for months. I spent most of that hour sitting there thinking I should have done this months ago.
Five tools, same wall
Cavill's first observation was that the five tools weren't five different failures. They were the same failure five times. Each of them made me the draughtsman. They differed in how pleasant the drawing program was, but every one of them was a drawing program, and I don't think in drawing programs.
What I actually have is a world made of words. I can tell you that the Schism runs north to south and that Penworth is a long way from Valbena City. A better user interface only asks me to translate that into mouse movements more comfortably. His line was this:
So the answer isn't a sixth tool with a better UI. It's a map system with no UI for you at all. The interface is this conversation.
That's what he built. It's real software, about sixty Python scripts, and I never touch any of it. I say what's true about the world and make the rulings. The machinery does the drawing.
Primitives and marks
His second observation was about why the old maps looked wrong, and it's the most useful thing anyone has ever told me about maps. They looked bad, he said, because they drew primitives instead of marks.
A primitive is a shape a computer finds easy to draw: a perfect triangle for a mountain, a line of even width for a river, a flat colour filling a forest. It's correct and it's dead. A mark is what a pen leaves. A mountain is a few strokes that swell and thin, shaded on one side. A river starts as a hair and gets heavier with every stream that joins it. A coastline gets two or three faint echo lines offshore, the way old charts did it.
The other half of a mark is the paper you leave alone. He put my maps beside the classic fantasy maps I grew up loving, and the difference wasn't the quality of the drawing. Those old maps are mostly empty paper, and the meaning sits in a small number of confident marks. Mine had no empty paper at all, because the software could fill every inch and so it had. "There is no white on your maps," he told me. "Not 'less white'. None."
The project file is the map
Valbena is the one region I'd drawn myself, in one of those commercial tools. The obvious move would have been to trace the exported image. Cavill didn't. He decoded the program's own project file instead, and his reasoning was simple: the image export is a picture of the map, and the project file is the map.
A picture tells you there's a dot about there and some text near it. The project file tells you there's a settlement at this exact position, of this class, with this name. So all 131 of Valbena's settlements came out at my own coordinates. The town, city and capital hierarchy came from my own symbol choices rather than someone guessing at dot sizes. The scale came from my own scale bar. Anything traced would have been his reading of my drawing. This way, every later map started from my decisions.
It also gave us a free check. Measured off my sheet, Delsoris Town to Valbena City comes out at 310.6 miles. The figure written in my notes, years ago and entirely separately, is 311. Two independent sources agreeing to within half a mile is about as good a sign as you get that the foundation is sound.
An instrument, not a picture
This is where Pratchett comes in. He's the agent who keeps my Lore, keeps me straight on timelines and source data, whilst I write prose. His complaint about the old maps had nothing to do with how they looked. The trouble, as he put it, was that they were pictures, and an editor needs an instrument.
You couldn't ask the old maps anything. "How far is Stonehaven from Valbena City?" meant opening the image, finding the scale bar and counting pixels. A hundred and four settlements were stored as percentages of one particular image, and nothing recorded which image. Swap in a new map at a different size and every pin would still plot, just in the wrong place. And the same country existed in two documents that disagreed, because each had been kept up to date by hand.
So there's now one internal map, which is allowed to be ugly. It has every settlement, every boundary, every ruin and ford. Everything a reader sees is cut down from it, never redrawn alongside it. That came out of a real reader complaint: someone couldn't read one of my maps on their e-reader. They were right, and it wasn't a bad map. It was the working instrument, handed to a reader. Those are two different jobs, so they need two different artefacts, made from one source.
Checking the map against the books
Once the map could be measured, Pratchett did something I'd never done in thirty years: he measured it against the four published novels.
The War in the North has "sixty miles of winter road" between Stonehaven and Valbena City. The map says 61. The Far Watch has "forty miles" between Two Rivers and Welland's View, following the river. The map says 44, which is close for a route that follows a valley rather than a straight line. Those two were the good news.
The bit I like best went the other way. For weeks his own notes cited a third agreement: a grain convoy in The War in the North is rerouted and the detour "added six days", and the notes said the book and the map matched exactly. When he finally did the division, they didn't. Six days for that extra distance would mean a loaded wagon train moving three times faster than wagons move anywhere else in the same book. The real detour is nearer fifteen days. The line stays, because the book is published, but it isn't evidence any more. His conclusion was that a check you haven't done the arithmetic on isn't a check; it's a hope. That's true well beyond maps.
The geometry lost
The two of them work together directly, by message, without me relaying anything. I come in when there's something to rule on. The best example of why that works was an argument over the Schism.
The text of the books says the Schism is 270 miles long. Cavill measured the drawn sheet at nearer 370, and built a fix that pinned one gap between river crossings at 38 miles and squeezed the rest to fit. Pratchett pointed out in one line that the 38 wasn't a measurement at all. It was just 270 divided by seven gaps. Cavill had treated an average as a fact. When he checked, it was worse: the gap he'd anchored to was the narrowest of the seven, the single most flattering one on the sheet. He conceded and threw away his own work.
The rule that came out of it is now how the whole project runs: published text beats geometry. About 1,300 people have bought the books. They have the text, and nobody has the geometry. A map that contradicts a printed book is wrong, however good the drawing.
The way they talk to each other matters too. Everything is in writing, which means Cavill's reports are some of the most exact things in my fleet. One bug report from him read "your placer bug was four bugs with one cause". When I saw the new sheets and loved them, Pratchett put that at the top of his next message to Cavill, quoted rather than paraphrased, ahead of the name collision he needed fixed. When you only have text, you have to send the encouragement as deliberately as the corrections.
One source, loud checks
Every map and every gazetteer page is generated from the same data files. A town's population isn't typed into the gazetteer. The gazetteer reads it, the map reads it, and if they disagree the build stops. There are eight checks behind the kingdom gazetteer, and each one has been broken on purpose at least once to prove it actually fails. A check that can't fail is decoration.
Even so, green checks aren't the whole story, and Cavill is candid about that. One figure was quoted at the wrong stage of a calculation and counted the same thing twice. Every check passed, because the arithmetic was fine; it was the question that was wrong. We found it by reading the page as a reader would. Names are the same. A name check will happily pass a fishing-village name like Cocklehaven sitting 359 miles inland, because it compares names with names and can't see where they stand. You have to check the finished map, not just its parts.
Pratchett learned the opposite lesson too, which I was glad to see. He once flagged at length, with a table, that a distance in a region I hadn't written about yet might contradict something later. I told him he was fretting. A number that contradicts no published prose can't be wrong yet. His phrase for it afterwards was "match the rigour to the provenance": full guard for anything in a shipped book, because you can't patch a paperback, and a light touch for anything that's still provisional. If every line in a review is a red flag, none of them is.
What still isn't right
It isn't finished. On the external sheet for Hennor, the mountains still run straight through the title, because the title's space is protected from labels but not from the relief that gets drawn before them. Some of the long rivers in Ullon run more parallel than any real river would. At kingdom scale, the labels crowd. And names are still being found: two of Hennor's original names were sea words standing 90 and 353 miles inland until recently. Ten more are real English place names waiting for me to decide whether I mind.
The whole thing took about three weeks from that first conversation. For my purposes, the most important part isn't the drawings, good as they are. It's that distance has stopped being a guess. When a character in a draft needs to get somewhere, the journey takes as long as the world says it takes. That's measured off the map, run through travel rates taken from the books, and set against the calendar.
Pratchett's way of putting it was that the world now pushes back. That's exactly what I want from a world. And I got it by being taken out of the drawing program altogether, which is the last thing I'd have thought to ask for.