Making Games for the Atari 2600 Making 8-bit Arcade Games in C 8bitworkshop IDE Sincere Flattery in the Early Arcade Industry ================================================== >"If I have seen a little further, it is by standing on the shoulders of giants." - Isaac Newton >"Imitation is the sincerest form of flattery." - Charles Caleb Colton >"Art is theft." - Pablo Picasso ![Diagram of connections between games](connections.svg) The pioneering days of video games saw a tremendous amount of innovation, but also a lot of unabashed appropriation. Designers were under pressure to develop novel experiences with unfamiliar technology in a new medium, and they often bet conservatively by tweaking a successful design rather than creating out of whole cloth. From the first video game in 1962, there is a clear path of derivation to the Cambrian explosion of 1979, a rapid era of progress in video game design that created the modern arcade classics we know and love. These are some of the platforms I describe in my book *[Making 8-bit Arcade Games in C](*. The Bronze Age Begins -------------- >"The game of Spacewar blossoms spontaneously wherever there is a graphics display connected to a computer." - Alan Kay Video games were invented in academia, but refined in industry. The first inventions generally recognized as video games were *Tennis for Two*, developed by William Higinbotham at Brookhaven National Laboratory in 1958, and *Spacewar!* by Steve Russell and others at MIT in 1962. *Spacewar!* was a big hit on campus, and a few students hit upon the idea of recreating the game with less expensive hardware than a PDP-1 and its dot-drawing Type 30 CRT. ![By Kenneth Lu - Spacewar!, CC BY 2.0,]( In 1971, Bill Pitts and Hugh Tuck developed a coin-operated version called *Galaxy Game*. Powered by a single PDP-11, the final version could play games on four monitors simultaneously. Despite its popularity at the Stanford student union, it never made back the $65,000 development cost, and did not progress beyond the prototype stage. ![By Tom Purves - Flickr, CC BY 2.0,]( While Pitts and Tuck were focused on gameplay, Nolan Bushnell and Ted Dabney had been trying to reduce the cost enough to manufacture. They decided to make their own hardware which was powerful enough to run a single monitor, and partnered with Bill Nutting to manufacture it as *Computer Space*. ![By Gaetan Lee - Cropped version of File:Computer Space Game on-Science museum.jpg, originally at [1], CC BY 2.5,]( Ralph Baer, Atari and PONG ------------ > "The fact is that I absolutely did see the Odyssey game and I didn't think it was very clever." - Nolan Bushnell Soon afterwards, the Magnavox Odyssey was released with a ping-pong game developed by Ralph Baer. Bushnell had played it previously, and in 1972 released a similar game under the newly-formed Atari label called *PONG*. This did not go unnoticed by Magnavox, who eventually forced Atari into a licensing deal, of which Atari got the better end. (Despite the efforts of an expensive crew of attorneys, Higinbotham's *Tennis for Two* was not recognized as prior art for Baer's invention, and there's no evidence he'd seen it previously.) ![Magnavox]( ![Atari PONG]( *PONG* was an immediate sensation, unlike *Computer Space* whose complex controls were more popular with college students than the general public. It was quickly imitated by several manufacturers, including Bushnell's former partner Bill Nutting. Several years later, Atari released *Breakout*, a brick-busting game which was perhaps inspired by another *PONG*-lookalike (*Clean Sweep* by RamTek). ![Atari Breakout]( ![RamTek Clean Sweep]( Steve Wozniak worked on a design for *Breakout* that would never be used. But the experience working on the game inspired him to add color graphics, paddles, and sound to the Apple II computer design. The system diskette included a game called *Little Brick Out* written in his own BASIC interpreter, originally called "Game BASIC". > "I knew that I had a machine with a microprocessor that could do a million things a second, move those bits around on the screen and make things move and play games and all. I thought, I wonder, with my slow BASIC, can I write a game that's playable? Breakout. I'd done Breakout for Atari. I knew Breakout." - Steve Wozniak ![Little Brick Out](littlebrickout.jpg) Gremlin Industries ------------------ ![Gremlin's Blockade](snap-blockade.png) Later known as Sega/Gremlin and then just Sega, this amusement company started making video games in 1976. Their first game *Blockade* was a big hit, inspiring many clones, and years later, the light cycle sequence in the movie *Tron*. But the flattery was not well received. >"We introduced Blockade at the AMOA show in Chicago. I watched every video game company president drag one of his engineers into our booth, point at Blockade, and say, 'that one.' By the time we figured out how to manufacture a video game we were last to market with our own game." - Lane Hauck They were one of the first game manufacturers to use a CPU -- the Intel 8080 -- and one of the first to use RGB color monitors. Their "VIC Dual" system was reused for several different games. ![Tron Light Cycles]( Space Invaders -------------- > "I was determined to come up with something that was even better than Breakout. My take was that the appeal was due to the sense of accomplishment and exhilaration involved in destroying a set number of targets and then moving on to a new level. I felt I could improve upon this by giving the targets a more interesting shape and turning it into a shooting game." - Tomohiro Nishikado > > "It was basically *Breakout* with moving bricks and a gun, instead of a ball and paddle." - Lyle Rains Meanwhile in Japan, a young engineer named Tomohiro Nishikado had developed a Pong clone *Elepong* for Taito Corporation. He had seen Atari's Breakout, and its "level clearing" gameplay inspired the descending wall of aliens in his 1978 game *Space Invaders*. ![Taito's Space Invaders](snap-invaders.png) The hardware for Space Invaders is more-or-less compatible with Midway's *Gun Fight* -- a game which Nishikado designed but was adapted for the Intel 8080 CPU by Dave Nutting (Bill Nutting's brother). This hardware had been used for previous monochrome Midway games. In addition, the *Space Invaders* code contains a sprite drawing routine also found in *Gun Fight*. Since the 8080 didn't have a barrel shifter, this routine uses the onboard Fujitsu MB14241 chip to shift the sprite's bytes by arbitary amounts before writing them to the frame buffer: 3753 1410 AF XOR A 3754 1411 D3 04 OUT (04h),A 3755 1413 DB 03 IN A,(03h) 3756 1415 B6 OR (HL) 3757 1416 77 LD (HL),A 3758 1417 E1 POP HL 3759 1418 01 20 00 LD BC,0020h 3760 141B 09 ADD HL,BC 3761 141C C1 POP BC 3762 141D 05 DEC B Asteroids and Vector Graphics --------- >"I'd played four-player >*Spacewar* >back in the early-Seventies on a >PDP machine in the Stanford Research >Lab. Down on campus >in the Stanford Forum, they had two >machines linked up and you could play >for a quarter. Was I any good? Oh no!" - Ed Logg Vector graphics didn't start with Atari, but with an MIT student named Larry Rosenthal. He had also seen *Spacewar!* at Stanford, and recreated it with a homemade CPU and a vector display adapted from a black-and-white TV. Cinematronics purchased the technology and released the game as *Space Wars* in 1978. (*Star Trek* fans may recognize that the rightmost player's ship looks suspiciously like the USS Enterprise.) ![By Video-game or computer emulator, Fair use,]( Atari developed its own vector technology, but was still looking for a new game concept, having already done *Computer Space*. They released *Lunar Lander* in 1979, but the game's concept was seeded ten years prior. *LUNAR* was a text-based simulation written in an early interpreted language called FOCAL, written by a high-school student named Jim Storer. A DEC employee named David Ahl later converted it into BASIC, later including it in his very popular *101 BASIC Computer Games* books. In 1973, DEC contractor Jack Burness created a graphical version to promote its GT40 vector graphics terminal. This is likely the version that inspired Atari's game. (For more detail, see Benj Edward's excellent article [*Forty Years of Lunar Lander*]( ![By Source, Fair use,]( Atari's next vector game, *Asteroids*, would be inspired by multiple games. Lyle Rains combined the two-dimensional approach of *Computer Space* with the eliminate-all-enemies gameplay of *Space Invaders*. Ed Logg used *Spacewar*'s basic control scheme for the ship, including the hyperspace button. ![By Source, Fair use,]( Arcade operators eventually grew tired of the fussy and expensive vector monitors, and no new vector games were produced after 1985. But these classic games inspired countless others. Galaxian -------- >"We were actually in the middle of developing Galaxian when Space Invaders came out, and the President of Namco told us, in no uncertain terms, that Galaxian had to be the 'post-Invaders' game. It was a tremendous amount of pressure. Naturally, we took a lot of cues from Space Invaders while making Galaxian." - Kazunori Sawano, Planner/Designer The marching columns of aliens in Namco's *Galaxian* were undeniably influenced by *Space Invaders*. Designer Kazunori Sawano also cites the recently-released *Star Wars* movie as having a "huge impact" on the team. Galaxian would also spawn many imitators, but its lasting contribution is its hardware design, which pushed the limit of video game designs in 1979. At its core is a Z80 CPU at 3.072 MHz. The graphics system featured RGB graphics and multicolor hardware sprites overlapping a 28x32 tiled background. (At the time, the term "sprite" had not yet been coined, so designers called them "stamps.") ![Namco's Galaxian](snap-galaxian.png) ![Namco's King and Balloon](snap-kingball.png) The designers would reuse the same PCB (printed circuit board) for *King &amp; Balloon*. Other companies like Konami licensed the video hardware to make games like *Scramble* and *Frogger*. ![Scramble](snap-scramble.png) ![Frogger](snap-frogger.png) The same basic tiles-and-sprites system would be used for many other titles -- *Pac-Man*, *Dig Dug*, *Xevious*, etc. Williams -------- > "We realised Asteroids without the vectors and spinning thing was just a bad version of Asteroids" - Eugene Jarvis, Defender *Defender* evolved from experimental riffs on *Space Invaders* and *Asteroids*, finally finding its feet when someone remarked that the best part of *Asteroids* was flying past the edges of the screen, and what if the game universe was larger than a single screen? This led to *Defender*'s scrolling planetary surface. ![Defender](snap-defender.png) ![Defender](snap-robotron.png) Williams' games featured a 36 KB video frame buffer -- in 1980, that was a lot. A pair of "special chips" acted as a primitive 2D GPU, quickly blitting sprites to the frame buffer. The Post-Invaders Era ---------- After *Pac-Man* fever had replaced *Space Invaders*, arcade game designers looked beyond the shoot-em-up for inspiration. Yet games like *Galaga*, *Tempest*, and *Gyruss* breathed new life into the old fire-button formula. *Arkanoid* juiced up the old *Breakout* gameplay, while Atari attempted to rasterize their classic rock-busting game with *Blasteroids*. Hardware designers were busy too, adding more colors and resolution, hardware sprite scaling, speech and FM audio synthesis. But the gaming platforms of the late 1970s would inspire a generation of programmers and designers. In my new book *[Making 8-bit Arcade Games in C](*, I describe five of these unique platforms (VIC Dual, Midway 8080, Galaxian/Scramble, Atari Vector, and Williams), and how to program them in C using the <a href="">8bitworkshop IDE</a>.