Worlds and Flats
Of Compartmented Worlds
Playing The Witcher has got me thinking again about an algorithm for rendering a world which I first thought of twenty-five years ago. Then, it was a hack for dealing with the fact that the computers of the day didn't have much memory or horsepower. Now, it's a hack for dealing with the fact that — when considered against the complexity of a world — the computers of today still don't have enough memory and horsepower. Mind you, today I'm contemplating photorealistic scenes, whereas then simple line and wash would have been good enough, but...
The algorithm for rendering I'll call 'flats'. But before we get to discussing flats, lets discuss worlds. The world of The Witcher (and other games based on the Aurora engine) is composed of areas. One area is loaded into memory at a time; when the player reaches an area boundary, the area is unloaded in toto, and the next area loaded, also in toto. The result is a noticeable interruption in game play. There's also, normally, a noticeable visual disjunction at the boundary; the new area uses a different 'tileset', which is to say, set of bits of scenery. When you look across a boundary, the scenery often appears different from what you find when you cross the boundary and arrive at the other side.
The Witcher: Story telling of a high order

This isn't, by any means, a final review of The Witcher. I've played it fairly intensely over three weeks, and am only into the fourth chapter. Which is great, because there is more to come.
But, what do I think of the show so far?
The best wee act of hegemony in the world
We're all familiar with Jack McConnell's slogan for Scotland's airports. We're all familiar with the incoming nationalist government's dislike of it, and rapid deletion of it. But Jack McConnell must be laughing up his sleeve; we, the nationalists, have missed a trick — badly — and Jack has achieved all he set out to achieve.
Because we didn't challenge the truth of the slogan; we didn't notice that it needed to be challenged. So the idea — the meme — the hegemonic masterstroke that McConnell set out to achieve has been achieved. We have cast our national debate in terms of being a small nation. If you went out in any street in Scotland and asked ten passers by whether Scotland was a big country, a middle sized country, or a small country, all ten would agree, Scotland is 'wee'.
We like the notion. It's romantic, the small band against the world. Our national myth — our stories of Wallace and Bruce are cast as the brave few against the might of a much more powerful hostile world. And so we let it pass unchallenged, and thus give an unnecessary gift to the unionists. Like James the Fourth at Flodden Field, we march down off the strong hill to face our opponents on their territory.
Of Size, and Governance
If you set out from Langholm, in Eskdale, and drive in a car to Drummore in the Rhinns of Galloway, you will drive 119 miles, and — according to Google's mapping system — it will take you 4 hours and eight minutes. If you didn't fancy Drummore, you could get to Stafford, in Staffordshire, in one minute less; or Dunkeld, in Perthshire, in five minutes less.
From Drummore, driving by road (and taking ferries where appropriate), you could get to Dunoon in Argyle or Dunblane in Perthshire quicker than you could get to Langholm. Even with the ferry, getting to Dundalk in the Republic or Ireland would only take 21 minutes longer.
So what's amazing or shocking about that?
Post-scarcity Software

For years we've said that our computers were Turing equivalent, equivalent to Turing's machine U. That they could compute any function which could be computed. They aren't, of course, and they can't, for one very important reason. U had infinite store, and our machines don't. We have always been store-poor. We've been mill-poor, too: our processors have been slow, running at hundreds, then a few thousands, of cycles per second. We haven't been able to afford the cycles to do any sophisticated munging of our data. What we stored — in the most store intensive format we had — was what we got, and what we delivered to our users. It was a compromise, but a compromise forced on us by the inadequacy of our machines.
The thing is, we've been programming for sixty years now. When I was learning my trade, I worked with a few people who'd worked on Baby — the Manchester Mark One — and even with two people who remembered Turing personally. They were old then, approaching retirement; great software people with great skills to pass on, the last of the first generation programmers. I'm a second generation programmer, and I'm fifty. Most people in software would reckon me too old now to cut code. The people cutting code in the front line now know the name Turing, of course, because they learned about U in their first year classes; but Turing as a person — as someone with a personality, quirks, foibles — is no more real to them than Christopher Columbus or Noah, and, indeed, much less real than Aragorn of the Dunedain.