Classic Computer Magazine Archive COMPUTE! ISSUE 56 / JANUARY 1985 / PAGE 10

Atari Player/Missile Graphics

I have an Atari 600XL and would like to know what player/missile graphics are and how they work.

Ronald Mickle

Player/missile graphics is the Atari term for sprite graphics as found on the Commodore 64, T1-99/4A, and Coleco Adam computers. Player/missile or sprite graphics is a built-in hardware feature designed to make it easier for programmers to create and move shapes on the screen quickly and smoothly.

First, some background. There are four ways to achieve animation on computers: character graphics, bitmapped graphics, screen flipping, and sprite graphics. Character graphics is the simplest method; sprite graphics (including player/missile graphics) is the most advanced.

Practically all computers can use character graphics. Basically you just print a character on the screen, erase it, then print it again at the next position, so the character appears to move across the screen. On some computers you can redesign the character into any shape you want, so the letter A can become a spaceship or an alien creature. Character graphics are relatively easy to program, even in BASIC. But there are two drawbacks. Because the object is moving by one character position at a time, the animation looks rough and jerky. Plus, the moving character erases any other characters it passes over, unless your program reprints the erased character in its original position.

Another approach is bitmapped graphics, the most common technique used on computers like the Apple and IBM. Images are drawn on the screen (mapped) by copying patterns of bits stored in RAM. To move an object, a program must move the pattern of bits through memory. This technique is much more difficult than character graphics. In fact, it's virtually impossible without using machine language. The program must keep track of the current address of the bit pattern, erase the pattern, calculate the new addresses for the pattern, and finally recreate the pattern at the new addresses. Although the animation is smooth, so many calculations are required that you're usually limited to moving a relatively small number of objects.

With screen flipping, you draw a series of screens, each slightly different from the previous one, and store them all in memory. By instantly flipping between the screens, you simulate animation in the same way a cartoonist does with a sequence of frames or cells. The problem with screen flipping is that it requires vast amounts of memory. Also, some computers don't have built-in provisions for instantly flipping screens.

Sprite graphics are similar to bitmapped graphics, except the computer does most of the tedious calculating for you. In addition, the image of the sprite pattern is superimposed on the video output of the computer, so the pattern is not actually moved through memory. That means a sprite can seem to move above or beneath other screen images—including other sprites—without disturbing them. What's more, the computer knows when a sprite is touching another object. That's important if you're writing a game, because your program can keep track of these collisions and respond accordingly.

You probably won't find any mention of Atari player/missile graphics in the manuals which came with your 600XL. In fact, player/missile graphics was an undocumented feature when the Atari computer first hit the market in 1979–1980. The first article revealing its existence—written by Atari programmer Chris Crawford—appeared in the January 1981 issue of COMPUTE!. This issue is out of print, but the article is reprinted in COMPUTE!'s First Book of Atari. More detailed information on programming player/missile graphics can be found in COMPUTEI!'s First Book of Atari Graphics andCOMPUTE!'s Second Book of Atari Graphics.