teaching
Atari Hacks, Remakes, and Demakes
Special Topics in Game Design and Analysis, Spring 2010

In this intensive seminar, we will explore every aspect of the Atari VCS (2600), the most important early home videogame console. Based on a critical-technical practice Nick Montfort and I call platform studies, we will investigate the way the Atari VCS influenced games and game design through a thorough analysis of its technical properties.

In addition to learning about its history and its games, students will learn about the hardware design of this very weird computer, including the 6502/6507 processor and TIA graphics and sound chip.

In tandem, we will investigate two key artistic practices that relate to early console systems and contemporary design issues alike: hacks and demakes, along with the latter's associated concept of the remake.

Hacks are works produced by making modifications to existing games by disassembling binaries, analyzing the meaning and purpose of the resulting source code, identifying desirable changes (whether slight or significant) and implementing those changes.

Remakes are recreations of earlier works, irrespective of the hardware platform of original creation or recreation. Remakes have a long history in other media, particularly in film and television, as well as in commercial videogames.

Demakes are retro-inspired reimaginings of modern games, as if they had been created on earlier hardware. Demakes are not necessarily created to run on older machines, but their design and behavior are constrained by the real or perceived constraints of vintage systems.

All three practices offer provocative examples of video game art, as well as interesting frameworks for learning to critique and program a machine like the Atari VCS. We will explore numerous examples of hacks, remakes, and demakes, on and off the Atari platform.

As a part of this process, students will learn to program games on the original Atari VCS hardware, using 6502 Assembly. Students will create hacks of classic Atari games, demakes of more recent games, as well as original works entirely of their own devising.

Previous programming experience is required, but no previous knowledge of assembly or the Atari VCS hardware is necessary (we will cover all this in the course).

Course Plan

This course is unique in that we will do both seminar-style readings and discussion and hands-on programming instruction and practice each week. Most weeks this material will be distributed equally, with one part of the class devoted to readings and discussion and the other devoted to programming techniques, presentations, and questions. In some cases, in-class time will be used as open studio time.

We will take a short coffee break around 3:30pm.

Required Materials

The following books are required, and available for purchase either from the Engineer's Bookstore or your favorite online bookseller (Amazon probably has the cheapest prices):

  • Nick Montfort and Ian Bogost, Racing the Beam: The Atari Video Computer System (Cambridge, MA: MIT Press, 2009).
  • Jennifer Forrest and Leonard R. Koos, editors, Dead Ringers: The Remake in Theory and Practice (Albany: SUNY Press, 2002).

Additional readings, noted in the schedule below, will be provided in handout, reserve, or electronic form.

In addition to the above materials, students should have (and bring) a laptop computer to work on in class.

Assignments and Grading

This is an advanced level graduate seminar, so students are expected to be self-motivated. Excellent work will require considerable effort outside of class. A variety of reading assginments, class discussion, writing assignments, weekly exercises, presentations, and programming projects are required in this course. It demands a well-rounded student. It is not possible to do well in this class by only writing, or only reading, or only programming.

Weekly homework and critique: 10%

Each week students will be assigned simple homework assignments meant to help them practice programming concepts discussed in class. Most weeks, students will be asked to demonstrate previous weeks' efforts to their colleagues for critique and discussion. This grade is given primarily based on completion rather than quality.
Final presentation and critique: 10%
During the final week of class, each student will be expected to prepare and present for approximately 10-15 minutes (TBD based on enrollment) on any aspect of their work in the class. Students can choose to present a suite of work, do a talk corresponding with the paper, present and justify a game, or any combination. It's up to you.
Atari hack: 20%
Students will create one coherent "hack" of an Atari game by altering the code from a disassembly.
Atari remake/demake: 20%
Students will create one original Atari game that remakes or "demakes" an earlier game in an interesting way.
Written paper: 20%
Students will write one research paper of approximately 5,000 - 8,000 words, on a subject of their choosing related to the themes of the course. I'm not going to tell you what to write; you're graduate students, you ought to be clever.
Class participation: 20%
In addition to critique, students will participate in disucssions of the readings and topics for each week of class. It goes without saying that class participation requires class attendance.

This is a graduate course so I'm not going to baby you with due dates. I'll accept your work at any time during the course, up through the Wednesday of final's week (May 5). I encourage you to demonstrate work early (either in our weekly critiques or in private meetings), get feedback, and rework it. The goal of this course is to help you accomplish excellent game making and writing through refinement.

Schedule

This schedule is split into two columns for each week, one for readings and discussion material, one for programming and technical topics. It may change as needed to accommodate the normal sway of the term.

Note: where Atari games are to be played, physical copies will be available in the EGL (Skiles 354) in addition to the ROM files linked. It's always better to play on the real hardware if at all possible.

Week 1: January 13, Introductions
Week 2: January 20, Platform Studies, Universal Computation
Racing the Beam, chapter 1, afterword
Ian Bogost and Nick Montfort, "Platform Studies: Frequently Questioned Answers" [PDF]
Alan Turing, "Computing machinery and intelligence"
Stanford Encyclopedia of Philosophy, "Turing Machines"
Turing Machine Simulator
Week 3: January 27, Combat, Pong, 6502 Assembly, the Atari Dev Environment
Racing the Beam, chapter 2
Henry Lowood, "Videogames in Computer Space: The Complex History of Pong" (handout)
Combat
Video Olympics
Assembly in one step
6502 Instructions
6502 emulator
Week 4: February 3, Adventure, Remakes 1, Initialization, Memory Management, the Kernel
Racing the Beam, chapter 3
Dennis Jerz, Somewhere Nearby is Colossal Cave: Examining Will Crowther's Original Adventure in Code and in Kentucky"
Dead Ringers, chapter 1
Adventure
Harold, Demon Attack
Harold, Demon Attack Postmortem and Retro Gamer review
6502 Addressing Modes
Smarter variables
Week 5: February 10, Pac-Man, Demakes, the TIA, the Screen, Color
Racing the Beam, chapter 4
Pac-Man
Ms. Pac-Man
Nuckey Shay, Hack 'Em
Racoon Lad, Crazy Otto
Phil Fish, de-makes
TIGSource Bootleg Demakes Competition entries
Stella Programmers Guide, TIA §1.0-4.0 [PDF]
TIA Color Chart
Week 6: February 17, Graphical Hacks, Disassemblies, Playfield Graphics
Racing the Beam, chapter 5
Yars' Revenge
Nukey Shay, Space Invaders Deluxe (Space Invaders)
Tim Snider, The Blair Witch Project (Haunted House)
neotokeo2001, Pong 2D (Tennis)
Stella Programmers Guide, TIA §5.0 [PDF]
VCS Disassemblies
DiStella disassembler
Week 7: Feburary 24, Functional Hacks, Sprites, Collisions
Racing the Beam, chapter 6
Pitfall!
Nukey Shay, Bottomless Pitfall
Steve Engelhardt, Pitfall Trainer
neotokeo2001, Death Race (River Raid)
Stella Programmers Guide, TIA §6.0-10.0 [PDF]
Week 8: March 3, Remakes 2, User Input
Racing the Beam, chapter 7
Dead Ringers, chapter 2
Constantine Verevis, Film Remakes, chapter 1 (handout)
Star Wars: The Empire Strikes Back
Harold, Empire Strikes Back, for Calculator-me-do compo
TCK, Vector's Revenge
Retro Remakes Starter Kit
Stella Programmers Guide, TIA §12.0; PIA §1.0, 4.0-5.0 [PDF]
Week 9: March 10, NO CLASS (write. make games.)
Week 10: March 17, Audio Hacks, Sound
Racing the Beam, chapter 8
Paul Slocum, Mr. Roboto (Berzerk)
Paul Slocum, Combat Rock (Combat)
Stella Programmers Guide, TIA §11.0 [PDF]
Atari music guide
Paul Slocum's Sequencer
Paul Slocum's Synthcart
Week 11: March 24, SPRING BREAK
Week 12: March 31, Art Hacks, Asymmetrical Playfields
Cory Arcangel, I Shot Andy Warhol
Cory Arcangel, Super Mario Clouds
Cory Arcangel, Super Mario Movie
Interview with Cory Arcangel
2600 Cookbook: Asymmetrical Playfield Graphics
Week 13: April 7, Origin and Imitation, Animation, Splashscreens, Saving Space
Brett Camper, "Fake Bit: Imitation and Limitation"
GR3 Project, La-Mulana
Corbie Dillard, La-Mulana Coming to WiiWare
TIA Playfield Painter 2600 Cookbook: Graphical Pointers and Indirect Indexing
Week 14: April 14, Industrial Hacks, Playfield Scrolling
David Scheff, Game Over: Press Start To Continue, chapter 12
Mia Consalvo, Cheating: Gaining Advantage in Videogames, chapter 3
Dead Ringers, chapter 4
Playfield Scrolling
Week 15: April 21, Autoremakes and Sequels
Stuart Y. MacDougal, "The Director Who Knew Too Much: Hitchcock Remakes Himself," in Andrew Horton, Stuart Y. MacDougal eds, Play It Again, Sam: Retakes on Remakes (handout)
Pac-Man
Pac-Man Championship Edition
Rez and Rez HD
Pitfall II: Lost Caverns and Pitfall: The Lost Expedition (aka The Big Adventure on Wii)
Balance of Power and Balance of Power: 21st Century
Chris Crawford, Chris Crawford on Designing the Game "Balance of Power"
Week 16: April 28, Presentations and Critique