Here is part 2 of the history of Civilization.
Ok, I was playing on a large map last night and it got to the point where it took the computer so long to process its turn that I actually abandoned the game. A lot of time was wasted hopping around the map and making me watch all these stupid irrelevant battles on the other side of the planet. There’s an option to disable the animated battles, which is only available at the beginning of the game. (And always off by default. And the game doesn’t remember your preferences. So if you’re four hours in and you find yourself watching half a minute of fights you’re not even in, then there’s nothing you can do about it. There’s also no option to show only your own fights. Thank you so much Firaxis.)
But the computer also spends a surprising amount of time simply thinking. It feels like about the same amount of time I spent waiting for turns in Civilization II, which came out in 1996. According to Moore’s Law, processors should have doubled in performance 9 times in the last 14 years. So computers are (very roughly, give or take a power of 2) five hundred and twelve times faster. I can believe that Civ V is more complex than Civ II, but it’s nowhere near hundreds of times more complicated. The simulation is several fold more complex. (Let’s aim high and assume it’s as much as ten times more complex.) That still means the game should be running fifty times faster. Turns should be instant. What is the game doing with all those cycles. (It’s not graphics, since you still get the delay when using the super-fast 2d view. Which is also a great way to crash the game, by the way.)
I’m not accusing the game logic programmers of incompetence. (I save those insults for the dunderhead who designed the interface and left out half the options.) I’m just really curious what’s going on here. My guess is that the combat AI is looking more moves into the future. As people who write programs to play chess have discovered, looking forward through just three or four turns of moves & counter-moves can burn an unbelievable number of CPU cycles. I did notice the game got slower when big wars were going on. This led me to want to make peace between other nations just so I could get back to building my spaceship without having to sit there doing nothing for half a minute between each turn.
Starcraft: Bot Fight
Let's do some scripting to make the Starcraft AI fight itself, and see how smart it is. Or isn't.
Spec Ops: The Line
A videogame that judges its audience, criticizes its genre, and hates its premise. How did this thing get made?
Batman v. Superman Wasn't All Bad
It's not a good movie, but it was made with good intentions and if you look closely you can find a few interesting ideas.
id Software Coding Style
When the source code for Doom 3 was released, we got a look at some of the style conventions used by the developers. Here I analyze this style and explain what it all means.
What did web browsers look like 20 years ago, and what kind of crazy features did they have?