Asteroids: By the Numbers

By 1979, arcade games were rapidly becoming more complex and colorful, and a game like Asteroids might have seemed quaint by comparison to the likes of Galaxian, Star Fire, or Radar Scope.  But beneath its simple exterior lies a challenging shooter with surprisingly complex physics.  The image below shows a sample still from it, including the player's ship (the triangle on the left), three sizes of asteroids, and an alien ship.


The goal of the game is to maximize your score, destroying as many asteroids and aliens as possible before you run out of ships.  When an asteroid is hit by something (usually the player's bullets), large asteroids turn into two medium ones and medium asteroids turn into two small ones, while small asteroids and aliens are destroyed when hit.


For the designers of the game, balancing the relative sizes of the objects would have been important in such a dense field, because it determines how often things run into one another other.  The table below outlines the sizes of the objects in Asteroids, expressed relative to the length of the player's ship.

The approximate horizontal lengths of objects in Asteroids
Object Length (in player ship lengths)
Screen 25 x 36
Large Asteroids 2.4
Medium Asteroid 1.2
Small Asteroid 0.6
Alien Ship (large) 1.5
Alien Ship (small) 0.75

Notice how the medium asteroid is twice the size of the small one, and the large is twice the size of the medium.  If you think about it, this doesn't actually make much physical sense -- you can break a two-dimensional object into four pieces half its size, not two.  But the size ratios do make game sense, because what really matters to the player is not how much area an asteroid takes up, but how likely it is to hit them.


In the picture above, you can see that while the four small asteroids take up less area on the screen than the big one, they present the same cross section to your ship.  This means that breaking up the asteroids doesn't greatly increase the probability that the player will be struck by one.  If the asteroids had been broken up into four half-sized pieces at each blow, each large asteroid would result in sixteen small ones (that's four times the cross section!) and the player would be quickly overwhelmed.  Note that the small asteroids do move faster than the large ones, and speed increases the chance of getting hit, but I'll return to that in a moment.

Another big reason that size matters in Asteroids is that it determines how close something has to be before you're likely to be able to hit it.  In 1979, vector arcade cabinet screens had an effective resolution of 1024 x 768, and the player's ship was only connected graphically by about 20 points.  This meant, in turn, that there were only a limited number of orientations that they could render for the ship, in this case intervals of 5 degrees.  To see how this might affect gameplay, imagine your ship is located at the fixed position shown in the picture below.  Anything located entirely between the two solid lines will not be accessible by your bullets because your ship can't turn to the appropriate angle to hit it.  This restriction isn't a big deal for large asteroids, which are still accessible over most of the screen, but small asteroids can be out of reach of your guns at relatively close range, sometimes as close as 7 ship lengths away!  So even if you aim as accurately as possible, chances are you won't be able to hit a small asteroid on the other side of the screen, at least not on your first shot.  This is probably one of the reasons that Asteroids allows you to fire up to four bullets in succession: even if you can't hit an object right away, it will eventually move into your line of fire.


And what about speed?  There is some variability in the speeds of individual asteroids, but small asteroids can move as much as 63% faster than large ones (see the table below), meaning that even if four small asteroids present the same cross section for hitting your ship as a large one does, their higher speed means they're more likely to hit you.  The reasoning for this is simple: the faster something moves, the longer the path it can traverse in a given amount of time, and the larger the likelihood that you'll be in that path.  Fortunately, even the fastest asteroids are much slower than your ship, which can traverse the screen in about two seconds; so if you're skilled enough, you should be able to maneuver around the asteroid field without a problem.

The approximate speeds of objects in Asteroids
Object Speed (in ship lengths per second)
Your ship 0 - 17
Asteroids 4 - 6.5
Alien ships (both sizes) 4 - 6.5 (depending on your score)
Bullets 17 (ship at rest) 

One other interesting thing about speed: notice in the table above that the speed of a bullet, when fired at rest, is the same as your ship's maximum speed.  This means that when you're moving rapidly and fire a bullet in the opposite direction of your motion, the two speeds should cancel for a stationary observer and the bullet should appear roughly stationary.



Sure enough, when I fire a bullet while moving quickly in the opposite direction, it just floats near where I fired it, allowing me to place bullets like mines for the asteroids to run into.

The developers of Asteroids wanted the game to simulate the real laws of physics (see here), and I think in many respects they succeeded, at least compared to most other arcade games of the time.  It's not entirely realistic, however.  In my article on motion in early arcade games, I discussed how the acceleration of the ship in Asteroids is too rapid for a human-occupied vehicle.  We might suppose that the vehicle is automated, but even then, engineering spacecraft to withstand 30+ g's of acceleration is a non-trivial challenge.


Another issue is the way the asteroids break up.  In physics, there's a principle called the conservation of momentum that says that when objects interact with one another or break apart, the total mass times the velocity must remain the same after the interaction as it was before.  In layman's terms, this means that things can't suddenly go from moving one direction to moving in another unless there is something else carry its previous momentum.  In the example shown below, an asteroid does just that, and the only thing that could have absorbed its previous momentum is the bullet.  But the bullet is so tiny that it's difficult to imagine how that would be possible.


These are mere quibbles, however, and shouldn't dissuade you from giving the game a try.  Asteroids ended up being one of Atari's biggest arcade hits, selling over 70,000 cabinets, and remains one of their most recognizable games to this day.  Many gamers who grew up in the '80s, myself included, are more familiar with the Atari 2600 version of the game.  Unfortunately, the designers had to make a lot of sacrifices in game physics in order to make it work on a home console, so I think the arcade version is really the way to go.  Outside of visiting a vintage arcade, your best bet is probably the Multiple Arcade Machine Emulator (MAME).  Happy hunting!

NOTE:  A previous version of this article stated that the game has limited pixel resolution, but Asteroids uses a vector display that is not composed of pixels.  The resolution of the Asteroids vector display is 1024 x 768.


Comments

  1. I recently ported/simulated this on the 8bit BBC Micro https://youtu.be/1zH4hdREcTE One day I may re-write it from scratch and your article will be very useful.

    ReplyDelete

Post a Comment

Popular Posts