Even though the Atari 2600 is one of the oldest game consoles around, it has a vibrant homebrew scene. These coders produce a remarkable amount of new material, with everything from RPGs to bizarre puzzle games up to altered updatings of classics. Best of all, the Atari 2600 scene seems to exist in an atmosphere of harmony and mutual understanding, with no beefs, group wars, or other shenanigans.
How can you learn how to create new game levels, or even entire games, for the 2600? Good question. | |
Click the video to see how to create your own Atari 2600 games. Creating homebrew 2600 games
Suppose you're fed up with merely playing homebrew marvelousness (though shame on you if you are). Maybe you want to create your own levels for games. Maybe you want to go whole hog and code entire homebrew titles from scratch. Either way, you have several available resources.
Using 2600 custom level creation tools
If you just want to mess around with level design, Atari Age runs a series of excellent contests in which you can create new levels for games under development. Often, the finished and produced homebrew cart will include the winning levels. More importantly, entrants often make their tools available for others after the contest closes.
In particular, the
Indy 500 XE Track Designer is a lot of fun if you're a wannabe race driver. The "easy-to-use Windows-based track editor...allows the easy creation of new tracks, loading and saving of tracks...and the ability to generate a binary so you can immediately test your creations." The
Combat Redux Playfield Design tool works similarly. It's a whole lot of fun to block out a level, then test it straightaway in an emulator.
These two appear to be the only fully featured level-design tools currently available.
Other tools require complex, time-consuming binary hacking or are more unwieldy and general, such as
Hack-O-Matic II.
However, it looks like the development community may produce further advanced tools, with an Adventure dungeon editor under serious development as we write--and more tools planned.
Changing graphics in existing games
I mentioned before that binary hacking is a can of complex, time-consuming, and unwholesomely difficult worms, especially if you want to rewrite large chunks of the game. If you'd rather mess around a little with an existing ROM, perhaps changing the sprites in your favorite 2600 game, that's somewhat simpler.
Adam Trionfo's
Changing Atari VCS Graphics--The Easy Way (click here for PDF) is a perfect beginner document. It modifies a Space Invaders ROM, explaining how to use two programs called ShowGFX and EditGFX (available from
The Lizard Master's Software Development Page) to create plain-text files listing all vital information in the 4,096-byte ROM. The magic is in the following DOS command:
C:\> showgfx spaceinv.bin 0 4096 > spaceinv.txt
Because it's a pixel-by-pixel representation of each space invader, you can then load the text file and look for the graphics hidden within the information. The tutorial points out that you can change the player's ship to a smiley face simply by replacing the appropriate
Xs in the text file and converting the text file back to a binary again with the following command:
C:\> editgfx spaceinv.txt testspac.bin
You can then run the binary in an emulator or via another method of your choosing.
Coding 2600 titles from scratch
The exhaustive Atari Age even has the last word with regard to coding resources, with an excellent
2600 coding page that links to
Kirk Israel's superlative "2600 101" basic tutorial. The introduction notes that the Atari 2600 is "a very quirky beast [since] it has very little memory or other resources to work with" before explaining the vagaries of the game system. You'll obviously need to program using assembly language all the way--no wimpy C++ here.
If you want specific coding tools, try the
DASM Assembler or the
Distella disassembler. They're both excellent tools, providing plenty of functionality considering the age of the console. Adam Trionfo's previously mentioned tutorial actually helps a great deal by describing ways you can disassemble existing Atari 2600 ROMs and change their content.
Many homebrew developers also provide their source code for free, with highlights including the source to
SCSIside and
Space Treat Deluxe. Sorting through someone else's successful game code should help you out.
As for already produced homebrew titles, to find Atari Age's list of 2600 homebrew games, go to the
search page, pick Homebrew from the Rarity drop-down menu, and hit the Search button. Although Atari Age has the best overall set of homebrew games, links, and information, Erik Eid has
the best single Atari homebrew Web page. It lists the available homebrew 2600 games with basic info about each title. Though it's slightly out of date at the time of writing, it provides a good general look at the diversity of the 2600 scene.