How high can you get?
July 30, 2008 10:58 AM   Subscribe

Don Hodges writes scholarly (but readable) articles on the mathematics and logic of classic video games - with a special emphasis on kill screens, such as "Stage Zero" in Galaga, Level 22 in Donkey Kong, and the legendary split screen at the end of Pac-Man. More here.

FYI, for non-classic gamers: "A kill screen is a stage or level in a video game (often an arcade game) that stops the player's progress due to a programming error or design oversight. Rather than "ending" in a traditional sense, the game will crash, freeze, or behave so erratically that further play is impossible." (Wiki)

More kill-screen fun: Dig-Dug, Duck Hunt, Pac-Man, Ms. Pac-Man, Donkey Kong, Megamania, Pitfall!
posted by jbickers (30 comments total) 37 users marked this as a favorite
 
Ah yes, I remember Defender's Extra Life Bonanza. Interesting site, thanks for posting this. This information would have been even better around 1982 or so!
posted by marxchivist at 11:06 AM on July 30, 2008


Fantastic.
posted by Wolfdog at 11:08 AM on July 30, 2008


This is really cool (and by "cool" I mean "nerdy and obsessive, but in a good way...I guess"). But I think I'd call it reverse engineering rather than mathematics and logic.
posted by DU at 11:13 AM on July 30, 2008 [1 favorite]


This is utterly fantastic. I love this man.
posted by cortex at 11:19 AM on July 30, 2008 [1 favorite]


It is probably a good thing that Pac Man has this bug in its program. If it didn’t, expert players could conceivably be able to play the game indefinitely, because whenever they get tired they can just park Pac Man in the hiding places and leave the game to go eat, sleep, or whatever, and then return to the game and continue playing. The only limiting factor would have been the length of time that the game could run without a power outage or suffering from some other hardware failure.
posted by East Manitoba Regional Junior Kabaddi Champion '94 at 11:24 AM on July 30, 2008


Slightly more obscure, but just as fascinating (if not moreso) to those of us who spent months attempting to kill the wizard on our TRS-80 Color Computers: Dungeons of Daggorath Internals.

(also check out the PC port, which is 25 years worth of awesome.)
posted by bondcliff at 11:37 AM on July 30, 2008 [2 favorites]


Ah, the days before code audits, adequate testing, and an critical mass of obsessive consumers.

Late to the debug party. I wonder how they're going to roll their fixes out when they're embedded in silicon?
posted by davemee at 11:43 AM on July 30, 2008


Wow, this is some kind of nerdgasm... I'd heard about the PacMan kill screen before, but never the DK one. It's almost unthinkable that there were no testing practices that made sure the game was playable to a reasonable level before the cartridges shipped, but 8-bit arithmetic makes monsters of us all, I guess.
posted by Mayor West at 12:08 PM on July 30, 2008


I've been a computer geek for over 25 years and this is the most boring thing I've ever read. Guess I'm getting burned out.
posted by tadellin at 12:10 PM on July 30, 2008


It's almost unthinkable that there were no testing practices that made sure the game was playable to a reasonable level before the cartridges shipped

There's the question here of whether 256 levels of Pacman is actually "reasonable".
posted by cortex at 12:14 PM on July 30, 2008 [1 favorite]


There's the question here of whether 256 levels of Pacman is actually "reasonable".
posted by cortex at 3:14 PM on July 30 [+] [!]


Seriously. It's kinda awesome that most of these errors are the results of overflows due to memory constraints. Essentially, the player demonstrated unfathomable stamina and is rewarded with some truly splendid (that Defender bug is CHOICE) chaos as a result.
posted by butterstick at 12:17 PM on July 30, 2008 [1 favorite]


There's a fascinating story in the July issue of Harper's (tried to link to it, but it's behind a paywall) by one of the guys who shot film for "King of Kong." He hangs out with the most obsessive people you can imagine - guys who ship arcade game boards back and forth across the country, dissect them, study them. There's a contingent out there that really believes these old games have secret stuff hidden in them, if only they can play them right/long enough.
posted by jbickers at 12:21 PM on July 30, 2008


The article on Donkey Kong is beyond interesting, for being a rare direct insight into the mind of a young Shigeru Miyamoto, and for casting new light into the events of King of Kong.

On Miyamoto: Donkey Kong barrels turn out not to be random, but terrifically complicated. He must have been paranoid about difficulty if he invested so much effort into deciding sometime simple like whether a barrel should go down a ladder or not. It's probably good that he was, too, as Donkey Kong is one of the few old-school arcade games that's still interesting to play.

(Note on this: On further reflection, the U.S. version has different barrel behavior than the Japanese version, so it could be someone at Nintendo of America that was paranoid more than Miyamoto....)

On King of Kong: It seems evident that Steve Weibe must have discovered this, possibly through disassembling the code. Billy Mitchell must have discovered it too to get a higher score than Steve Weibe. But when did he discover it? After viewing Weibe's tape?
posted by JHarris at 12:22 PM on July 30, 2008


Wow - awesome stuff - classic video games, assembly language, detective work, mathematics and interesting writing all in one! Great find...
posted by benzo8 at 12:38 PM on July 30, 2008


It's almost unthinkable that there were no testing practices that made sure the game was playable to a reasonable level before the cartridges shipped

Just guessing here but they probably didn't have a "god mode" and none of the developers were good enough players to get that far.
posted by octothorpe at 12:39 PM on July 30, 2008


Another note: The Pac-Man split-screen discussion reveals that, to save processor time, the game uses video memory itself, instead of an internal representation of the board, to determine which dots are left to eat, and contains a hard-coded count of the number of dots on the board to determine if it's been passed.

The result is, if anything corrupts video memory so as to remove dots, the level is suddenly unpassable. And if memory is corrupted to add dots, then the level will be passable early. Of course in the game this never happens, but it could happen. I'm reminded, from my Commodore days, of BASIC maze games that the player could abort with RUN/STOP, then cursor up and "manually" add characters to the screen that represent the "dots" he wants to collect, then resuming the game with a CONT.
posted by JHarris at 12:44 PM on July 30, 2008 [1 favorite]


There's the question here of whether 256 levels of Pacman is actually "reasonable".

Hmm, that's true... there's a pretty big schism between games you play in the arcade and games you play on the XBox... nowadays, the expectation is that a user might very well spend a thousand hours playing your game, and if 50,000 people buy copies, you'd damned well better believe they're going to find your weird corner-case integer-overflow bug. Hell, when I find bugs in games, I usually get irritated at the QA department for whatever studio produced it, because damnit, if I found it on a casual playthrough (or obsessive 30th time playing it), then somebody in QA must have found it in the massive amount of collective amount of time they spent unit-testing it. Without huge worlds and dynamic gameplay, though, I guess there was no need for a big investment in QA.

Also, from one of the linked articles: a 2-byte patch to one of the overflow bugs is pretty badass.
posted by Mayor West at 12:46 PM on July 30, 2008


It's almost unthinkable that there were no testing practices that made sure the game was playable to a reasonable level

You should really watch the documentary King of Kong. It'll help you see how unreasonable getting that far into the game really is.
posted by damn dirty ape at 12:58 PM on July 30, 2008


If anybody wants to see, there's a Donkey Kong kill screen coming up.
posted by phirleh at 12:58 PM on July 30, 2008 [2 favorites]


You had me at decompiled. It's nice to see some examples of Assembly code I can actually understand.

[this is goA#3513#%@(!ASFADKNK35`2*##OVERFLOWERROR
posted by Eideteker at 1:12 PM on July 30, 2008


Oh awesome. Just awesome. For people who lose themselves in these worlds for days at a time, seeing the kill screen is like living through the eschaton - with all the holy knowledge such an experience connotes.
posted by RokkitNite at 1:41 PM on July 30, 2008


I pushed myself pretty far into some old-school games (broke a few mag records by substantial amounts). Sadly, I guess I chose the wrong games. I'm with RokkitNite. Hitting one of these would have been like a religious experience (especially with the food/water/bathroom deprivation that goes along with playing a game for hours on end that can't be paused).
posted by Durn Bronzefist at 4:05 PM on July 30, 2008


I'm just amazed at the number of games that actually had kill screens. Either it's a matter of not seeing the potential for the game to short circuit at certain spots, or it was a matter of not caring, because the programmers figured no one would get that far.

I'd like to think it was the first one, as the programmer in me would not be able to let a potential error (no matter how unlikely) be present in the code, if there was a solution available. However if it is the first one, it seems like quite a coincidence that this was an inherent problem in many games that was never considered.

I love how the author adds code to fix these issues. I've always heard of the killscreens, but never thought that it was resolvable. For some reason I never thought of it as a programming issue.
posted by Benevolent Space Robot at 4:41 PM on July 30, 2008


bondcliff writes "Slightly more obscure, but just as fascinating (if not moreso) to those of us who spent months attempting to kill the wizard on our TRS-80 Color Computers: Dungeons of Daggorath Internals."

Oh my god, I actually tried, and failed, to get my CoCo2 back from my cousins (who my parents foolishly gave it to) a couple years back just so I could play this again. I'm so glad a long weekend is imminent.
posted by Mitheral at 6:16 PM on July 30, 2008


Arcane arcade abstracts. Awesome!
posted by tellurian at 6:28 PM on July 30, 2008


Either it's a matter of not seeing the potential for the game to short circuit at certain spots, or it was a matter of not caring, because the programmers figured no one would get that far.

It's the latter. Especially in the case of Defender and its many-extra-ships/bombs bug. The game is amazingly difficult, enough so that most people who play it casually think it's impossible to get further than a few waves into it, yet a few people have gotten scores in the tens of millions.
posted by JHarris at 7:59 PM on July 30, 2008


JHarris: "It's the latter. Especially in the case of Defender and its many-extra-ships/bombs bug. The game is amazingly difficult, enough so that most people who play it casually think it's impossible to get further than a few waves into it, yet a few people have gotten scores in the tens of millions."

There is mitigation for the latter being the reason though - resources for games were so tight at the time, namely memory and processor cycles, that bounds checks would have been left out to save three or four bytes where the programmer felt they'd never be used.

It's been on MeFi before, but this is a great article by the guy who ported DK for Atari in the early 80s.
posted by benzo8 at 12:23 AM on July 31, 2008


Wow, that Dadhacker site is great - this story is fascinating.
posted by jbickers at 4:29 AM on July 31, 2008


Yeah, we've discussed DadHacker before... I love his stuff, and every time I read about his work at Atari, I get this weird sense of nostalgia for events of the distant past, when we're actually talking 20 years or so. The length of an epoch is ever-decreasing, especially in game programming.
posted by Mayor West at 7:40 AM on July 31, 2008


I feel like I should add that Defender's extra ships/bombs bug is by no means unique in classic arcade gaming. Many games from that time do something similar when the score approaches rollover, for the same reason, that the next award value wraps around before the score does.
posted by JHarris at 9:44 AM on July 31, 2008


« Older "Israel is not a country! Delist it from Facebook...   |   Unmasking the perp Newer »


This thread has been archived and is closed to new comments