Monday, April 27, 2009

Georgia Tech Students Make Atari Games Look Like Atari Again

One of the main themes of Racing the Beam is the strong affinity between the Atari VCS and the CRT television. The system was designed around the TV and it interfaces with that display in an unusual and specific way.

In today’s world of huge, sharp LCD monitors, it’s hard to remember what a videogame image looked like on an ordinary television of the late 1970s. Emulators like Stella make it possible to play Atari games on modern computers, serving the function of archival tool, development platform, and player for these original games. But unfortunately, they also give an inaccurate impression of what Atari games looked like on a television.

An Atari game played on a television would exhibit a number of visual characteristics that cannot be seen on an LCD display:

The display itself is not constructed out of pixels like a monitor, but out of the phosphorescent glow of an electron beam as it shines through a focusing grate. The result produces slightly separated colored dots on the screen, which become less visible as the viewer moves away from the set.

The phosphor glow padding a bit of time to “burn off” and leaves more of an afterimage on the human retina compared to an LCD display. As a result, images might linger after they had moved or changed. Atari programmers took advantage of this feature to “flicker” objects between frames.

Color Bleed.
The edges of sprites and scanlines appear as sharp edges in an emulator. But on a television, luminance from these areas would bleed into neighboring sectors, both softening the hard edges of pixel-objects and blending colors together.

A television transmission is sent via RF, so a natural amount of noise is introduced into the image ... this is hard to see in a normal TV broadcast, but the large, flat areas of color in a videogame will exhibit slight vibration.

Many of today’s players may only experience Atari games in emulation. Indeed, many of my students may have little to no memory of CRT televisions at all. Given such factors, it seems even more important to improve the graphical accuracy of tools like Stella.

In Spring 2009, I tasked a Georgia Tech Computer Science capstone group to modify Stella, adding settings to simulate the CRT behaviors described above. The group consisted of five committed and talented CS seniors: Edward Booth, Michael Cook, Justin Dobbs, Will Rowland, and Prince Yang.

The results are, to my eyes, fantastic.

Despite being mighty impressive, the results in a live game are far more remarkable. Edward and his colleagues have done a fantastic job.

They are currently working with the maintainer of the free, open-source Stella emulator to patch their changes into the main build, where the effects will be available as a configurable option. Expect to see it there shortly, where hopefully it will benefit players, creators, educators, and archivists alike. Given that we'll be placing the code back into Stella’s repository, I’m also hopeful that this software might be extended for use in other emulators for computer systems that used televisions as their primary output.

Georgia Front Page
Fayette Front Page
Follow us on Twitter: @GAFrontPage

No comments: