Graphics in Early Arcade Games: Vector-Borne

The Problem Posed by Space Invaders

Space Invaders was a milestone for the gaming industry, demonstrating the true commercial potential of the medium and founding a new genre.  However, it also posed a problem.
  
Animation of Space Invaders (1978) with the alien sprites shown on the side.

The shoot-'em-up formula was no longer an exercise in gaming minimalism.  Mobs of enemies overwhelm the player with their bullets while the player frantically tries to survive against long odds.  The graphical requirements for Space Invaders were so intense that even with a cutting edge microprocessor, it couldn't render the pixel-by-pixel movements of all of the enemies at once without significant slowdown.  In fact, the only reason that the enemies speed up as their numbers thin is that it reduces the number of graphical elements that need to be changed by the processor.  This gradual speed-up turned out to be an effective game mechanic in Space Invaders, but if developers wanted to expand the genre beyond this single formula, they would need an alternative method of managing the graphics.

An Alternative: Vector Graphics

Nowadays, most of us equate graphics with rectangular grids of pixels, but there are other ways of constructing a display.  In the late '70s and early '80s, a number of developers made games where the action was drawn as interconnected series' of predefined points, an approach that's called "vector graphics".  This is in contrast to the usual, pixel-based approach, which is called "raster graphics."

In an earlier entry, I dissected one of the most notable examples of vector graphics in arcade games, Asteroids, so let's look more closely at how that game is drawn.


The most immediately apparent difference between a vector display and raster is that the vector display only shows the outlines of objects.  You can draw lines inside of an object, as in the alien ships, but you're not filling the object in so much as segmenting it.

If you look closely at the above image, you can see why the graphics are designed this way:


The game objects are just a series of point connected together.  Points and lines are the fundamental components of a vector display, and are continuously being drawn and redrawn during gameplay.  The animation below shows, in slow motion, how this process might have played out for the objects in Asteroids.  In practice, this process would have occurred at a rate thousands of times faster than shown here.

Slow motion simulation of the drawing of vector graphics in the arcade version of Asteroids (1979).

Clearly, one can draw and connect lines on a raster display -- you're almost certainly viewing this on one -- but does it look the same?

Emulation vs. Original Hardware

Using MAME, you can play the 1979 version of Asteroids on your computer, and it will look something like this.


However, on a real arcade machine, it looks more like this:

Brief clip of Asteroids (1979) being played on a vector monitor.

Why do the two versions look so different?

Well, it's all about the electrons.

In the late '70s and early '80s, both vector and raster games were displayed on cathode ray (i.e., electron) tubes, but where the two approaches differed was in how the electron beam was directed.  In a raster display, the cathode beam is scanned, line-by-line, from the top to the bottom of the screen.  All points on the monitor are visited at a regular interval and for the same amount of time, with the beam strength determining the brightness.  In vector graphics, however, the beam only visits the points that are commanded by the CPU, and can be held at different points for different amounts of time.

The emulated versions of the game, such as the clip from MAME shown above, are able to reproduce the points the beam was directed to, but can't easily reproduce the visual effects that occur when the beam is held at a particular point for an extended time.  This is why the most noticeable difference between the emulated and original versions is the single-point objects like bullets and the debris.  The beam is held at those points for longer than it is in the outlines of the objects, so they glow brighter than the rest of the screen and even leave a brief afterglow.

Advantages of Vector Displays

So why use vector graphics?  One of the advantages of the vector approach is that it makes objects easy to scale up and down; in fact, if you look very closely at a game of Asteroids, you'll see that the various sizes of asteroids are all drawn from the same set of shapes.  For example, see below:

comparison of shapes of small and large asteroids in 1979 arcade game

The points in the small asteroid have the same configuration as in the large asteroid, but scaled down by a factor of four.  It's the same situation with the alien ships -- one is just a scaled-down version of the other.

Another advantage, and the one cited by the game's designers (see here), is that vector graphics offered better resolution than raster displays of the time.  In the case of Asteroids, being able to display smaller spatial scales made it easier to display the fine maneuvers of the ship, and thus improved the player's ability to aim.  It's certainly true that vector graphics allowed for a greater effective resolution than raster displays of the time, but would Asteroids have been playable on a raster display?

To test this out, I made a short animation of a game of Asteroids, scaled it down to a raster resolution typical of arcade games at the time, and then scaled it back up to what it might have looked like on an arcade monitor.  Here's the result:

Animation of arcade version of Asteroids brought down to typical raster resolution in the late '70s.

It's not pretty -- a rasterized version of the game surely would have used sprites that look different from this -- but the ship's ability to aim doesn't seem much hindered.  It may be that late-70s CRT monitors weren't as good at showing fine detail, even at the same pixel resolution.

Regardless, there is one other clear advantage in using vector graphics in a shoot 'em up.  Each asteroid is only made up of 12 points, so even with 30 asteroids on the screen, the microprocessor only needs to update around 360 points at a time (plus ship and bullets).  Compared with the 40,000+ graphical elements in a typical late-70s raster display, that's a light load.  This was likely one reason that vector graphics were used in some of the most succesful shooters in the late '70s and '80s, including Tempest (1981), and Star Wars (1983).

But even in the early '80s, the vast majority of arcade games were still being made with raster graphics, even shooters.  So how were these games updating large raster grids at a rate of 60 times per second when Space Invaders had so much trouble?

More on that in Part 3.

Comments

  1. MAME's inability to show brightness variance in vector games is its biggest shortcoming, IMO. The Atari Vault uses pixel shaders to simulate this, and I find it looks pretty good on the 'Bold' setting. It's no substitute for real vector hardware (which in fact looks quite crisp even with all the glow), and I suspect you couldn't quite replicate that look without HDR and a very high refresh rate, but it's much better than MAME's dull uniform look.

    ReplyDelete
  2. I'd highly recommend the Vector Dream emulator if you want to play vector games with a closer look to the original.

    http://caesar.logiqx.com/php/emulator.php?id=vector_dream

    The author had real machines for reference.

    I have played Asteroids on a real machine. I don't think your video is quite accurate either. It doesn't come off as quite so blurry, and the shots are brighter; I'm guessing there was some artifact of trying to capture as video in the first place.

    ReplyDelete
    Replies
    1. Yes, the video probably is blurrier than the real thing, as you say. I didn’t find any high-quality extended captures — most were from a distance — but I mainly wanted to highlight the difference in relative brightness between the bullets/debris.

      Thanks to both you and DDG for the emulator recs, I’ll check them out.

      Delete
  3. I question the slowdown tax of Space Invaders, to me this seems like accepted lore. If a frame of video was slowed by the phalanx of 55 invaders, why doesn't the player's ship or the UFO, or enemies (and player) missiles slow down and speed up accordingly? Would the entire game (frame by frame) be subjected to an artificial slowdown at the beginning of a wave, including your own avatar and bullets? Why aren't you and your shots moving at light speed to match the final invader? Notice the audio "heartbeat" also increases in cadence according to the speedup. And the speedup is *always* at specific, well defined intervals.
    I don't know much about programming, but I remain convinced this phenomenon is actually a design element which Nishikado intended, rather than a happy accident.

    ReplyDelete

Post a Comment