I’ve said before that if game developers would back off from the bleeding edge, they could do more with less, and GTA is the perfect example of this in action. If you’ve been reading this site for any length of time you’ve heard this rant before. My big plan over the weekend was to do a video review / commentary thing for Grand Theft Auto: San Andreas on the PC, to illustrate what I’m talking about.
It didn’t work out. I’m still not sure why.
A very simplified explanation of current rendering technology is this: The software has two “buffers”, which can hold a bunch of pixels. The game will draw the scene into one of the buffers, adding a sky, a volcano, some space marines, a girl in a titanium bikini, some explosions, TIE fighters, dinosaurs, or whatever this particular game calls for. Once it’s done drawing, it then presents you with its latest masterpiece by showing you the buffer. This means the other buffer is now free. You’re no longer looking at it, and so the game starts drawing into that one. It repeats this process for every frame – usually at least twenty times a second. You can think of this like a painter with two canvases: While you’re looking at one painting, he paints on the other, and the moment he’s finished he trades you, so that you’re always looking at a finished painting and you never see the work in progress.
For video capture, I’m using Cam Studio, an open source all-purpose desktop capture program. It’s what I’ve used in the past to make my Half-Life 2 movie. I’ve tried a lot of video capture programs, and Cam Studio has been the most sensible and reliable so far. But for whatever reason it can’t capture San Andreas. It’s almost as if it’s filming the back buffer (where the drawing takes place) instead of the completed image. Now, when I’m playing the game, everything is fine. The game looks right and runs smooth. But if I film the game in action, the movie ends up with the images you see: A bunch of half-drawn crap with parts of the scene missing.
I don’t even know if I should blame GTA or Cam Studio. Cam Studio is, in theory, just grabbing the raw pixels off my desktop – which clearly isn’t the case, since what I was seeing is different from what the movie contains. But maybe GTA, being a console port, is doing something goofy in the background that’s messing Cam Studio up. I just don’t know.
I don’t even know how this is possible. If you asked me to film what was going on in the back buffer of another application I’d give you a deer-in-the-headlights look while I pondered how in the hell something like that could be attempted. I would then make every effort to unload the project onto someone I hated.
What’s even more inexplicable is how it only happens sometimes. I’d sort of understand if half the frames were messed up, but that’s not what I’m seeing. As I step through the movie, I’ll have ten normal frames, and then one of these half-drawn frames, then another string of fully-drawn frames, then a couple of unfinished ones. It really is baffling.
More to the point, I sunk most of my post-writing time into this failure this weekend, and this is all I have to show for it.
So, uh… enjoy!
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.
Why Batman Can't Kill
His problem isn't that he's dumb, the problem is that he bends the world he inhabits.
Diablo III Retrospective
We were so upset by the server problems and real money auction that we overlooked just how terrible everything else is.
What is Vulkan?
What is this Vulkan stuff? A graphics engine? A game engine? A new flavor of breakfast cereal? And how is it supposed to make PC games better?
How I Plan To Rule This Dumb Industry
Here is how I'd conquer the game-publishing business. (Hint: NOT by copying EA, 2K, Activision, Take-Two, or Ubisoft.)