Hacker News new | past | comments | ask | show | jobs | submit login

> It's theoretically possible to build up so many extra cities that you can actually take a 30 minute break in the game

It's not only possible, it is fairly routine for good players. This is because of an interesting bug in the game which has a big effect on the skill progression of developing players.

The bug is commonly called the "810" bug, because on most machines it occurs when you get 810k points. It actually occurs at 800k + B, where B is the score that gives a bonus city, but 10k was by far the most common setting for B [1]. Hence, "810" bug.

What the "810" bug does is give you a huge number of bonus cities--something in the neighborhood of 170. Even if you just barely made to 810, with 170 cities you've got around 20 minutes of play even if you never save another city.

The typical progression of a developing player went something like this. Your first few games are overwhelming, and you die quickly. After a while, you are reaching the 6x stage (Missile Command has 6 levels of difficulty. It starts with, if I recall correctly, 2 stages of 1x, then 2 of 2x, then 2 of 3x, and so on, until you reach 6x, which is the top difficulty).

Once your games start regular reaching 6x, you go through a long stage of steady improvement, as you get better at 6x play. Things are still going pretty fast for you, and you have to rely on some probabilitic play. For instance, at this stage you probably heavily rely on using one of your slow side bases to lay out a line of missiles after you see the first incoming wave. You aren't really aiming at specific targets--you are trying to lay down a fence basically that will catch much of that incoming wave. Then you use the fast center base to deal with any smart bombs or any missiles that got through the fence that you don't think you can take with a side base. Then, if you haven't panicked yet and thrown away the missiles from the other side base, you do another fence to try to catch the second incoming wave.

When you are down enough on cities that you only have 2 or 3 at the start of stage, you probably switch to concentrating on saving those cities, so you depend less on making a missile fence, and more on trying to pick off specific targets that are coming to the cities. In particular, you are probably trying to make sure to save a city next to the center base, to make sure you stay alive.

You get better and better, so that you keep six cities on the ground, and even build up some in resevere, for longer and longer, and you start to put more thought into your missile fences--you start being able to recognize as soon as you see an incoming wave where there will be convergence points, and your fence starts to become not a solid line, but a few well placed obstacles.

Then the day comes when you manage to hold on long enough to reach 810. Your reward is at least 20 minutes in which you get to play 6x and cannot die. You can practice precise targeting, or practice making perfect fences, or practice using your side bases for things you would normally use the center for.

This practice is very fruitful. Next time you play, you will find you are noticeably better. You might not get to 810 on the next game, but you will in the next few games. And then after that practice, you'll find the gap to the next 810 even lower. Sometime in here, you'll find that you can regularly reach 810.

Now you start to get really good. All those immortal practice sections let you get to where you can pick off anything with any base, and you never need to use a missile fence because you can quickly see where to place the minimum number of shots to kill everything on the screen.

You will soon reach the point where you regularly get to 810 with 6 cities on screen and 70+ cities in reserve, so when you hit 810 and get the bug's bonus, you have around 250 cities. Congratulations, you are now at the "walk away and the machine plays itself for half an hour" milestone.

I don't recall for sure, but I think when you wrap the machine you hit another bug that gives you a bunch more cities. There's also some point in there, maybe on the second wrap, where the machine gives you two waves labeled 0x, where everything comes down real fast and you don't have any control, and then the machine starts over at 1x, but you still have whatever bonus cities you had left.

When you've reached this stage, the only limit to how long you can play Missile Command is your endurance and any bugs farther along in the game. Many players at this stage would just play to 810 (just to maintain their skill) and then walk away to go play some other game. I had a kid follow me around all day once picking up my Missile Command leftovers [2].

If you were lucky, an arcade in your area had a Super Missile Attack. That was a third party hack that modified Missile Command to go to 10x, and added an orbital laser platform. We had one in my area for a short time, and none of the Missile Command players (who all could 810 with essentially no cities lost on the way to 810) got past 100k on Super Missile Attack. It was wonderful.

Unfortunately, it was also very very rare. The company that made it was sued by Atari and stopped making them. (It worked out for them, though...Atari was impressed enough to hire them to write a couple new games).

[1] I think I only encountered a non-10k machine once. There was an arcade in Pasadena, California on Colorado Blvd named Pak Mann Arcade. It was a pretty good arcade. I went their one night a day or two before the Rose Parade, when Colorado Blvd is already full of people camping out for the parade. Pak Mann cranked all the games up to their hardest settings, so they had the Missile Command at 20k bonus. Even more brutal was Defender. Not only was it 20k bonus, and a couple less starting ships than normal, as soon as the first wave spawned, they went straight for the humans at high speed, and in about 10 seconds your planet was gone and you were in a space wave. Me and my friends were all "can play forever" Defender players at the time, and none of us got past 30k that night.

[2] Senior Ditch Day, Caltech, 1982. As a senior, I had to stay off campus all day. I went to an arcade and started playing Missile Command. Some kid, maybe 11 or 12, was watching. I hit 810 and immediately walked away to go play Defender. The kid happily jumped on the Missile Command to get some 6x practice. A little later, I left to go to another arcade. I noticed the kid was following me, at a respectful distance, trying not to look like he was following me. At the next arcade, I went to Missile Command, and the kid took up a position where he could watch. I 810'ed and walked away to play something else. The kid again took over. Long story short (too late, I know!), that kid followed me all day, to benefit from my Missile Comamnd leftovers.




Let me add a few more things I just remembered.

1. The 810 bug is interesting in that there is no obvious reason for it. There's nothing interesting about that number that would lead one to expect to find bugs occurring there. It's not at any interesting boundary in decimal or binary, for instance, where it might hit some special case that is easy to botch.

I've never heard any explanation for what the devil was happening.

2. Speaking of botched special cases, Defender also had a bug that gave you a lot of bonus ships, although the Defender bug actually made sense.

Defender wrapped at 1 million. If the bonus was 10k, as soon as you hit 990k it started giving you a bonus ship every time you did anything that scored points. This lasted until you wrapped. You then stopped getting bonus ships until you scored enough points to earn all those bonus ships you had gotten from the bug between 990k and wrap.

I've read that the reason for this bug was pretty simple. Every time you scored, the game did something like this:

   if new_score > next_bonus
      award_bonus_ship()
      next_bonus += 10k
So consider when next_bonus == 990k. You hit or cross 990k, get a bonus ship, and next_bonus gets bumped up to 1 million...but that's the wrap point, so next_bonus actually gets set to 0. Now you earn some more points, but are still between 990k and 1 million. Your score is greater then next_bonus (which is 0), so you get a bonus, and next_bonus goes to 10k. Repeat until new_score finally wraps.

3. The most spectacular bug I've seen in an arcade game was in Battlezone, the vector graphics tank battle game, the one where you fought another tank on a plane littered with cubes and pyramids, with jagged mountains in the distance.

After a while, if you evaded the shots from the enemy long enough but failed to kill him, the enemy tank would go away and a missile would come for you, which was much harder to kill than a tank.

Some clever people figured out that if you timed it right, you could get it to send the missile while the last shot from the enemy tank was still in transit. If you then died on that shot, when the next round started, the damn missile would still be there. This was pretty anoying, until someone got the bright idea of doing this ON THEIR LAST TANK.

The game then gives the GAME OVER screen, and then it goes into attract mode where it runs a demo script showing game play. That leftover missile ends up in the demo, where it kills the demo tank, and the demo round ends. Apparently, whoever wrote the demo script did not expect the demo tank to ever die, so the demo ending at this point was unexpected, and according to the story we heard, the machine crashed and needed a hard reboot.

We knew someone who owned a Battlezone, and told him about this. He put some free games on and let our best Battlezone player try to set this up. It did indeed work, and the left over missile did indeed kill the demo tank.

And then we smelled burning electronics and the monitor burned out. Apparently, the software was responsible for the monitor timing, and could put it in states that were very very bad.

Of course, this one example doesn't prove that our experiment actually killed the hardware--it could have just been a coincidence. The owner was a Caltech student, and so understood what it took to do a proper experiment, but for some reason refused to let us do the experiment again once he replaced the monitor.


O.O


This is an awesome writeup, thanks for sharing!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: