Thursday, August 18, 2016

Boulder Dash on the Atari 2600 - Beginning or Continuing a Long Journey

BD2600 - Title Screen
In late 2011, a new homebrew cartridge was announced for the Atari 2600.  This would be a port of Boulder Dash, the classic computer game originally developed on the Atari 800 home computer by Pieter Liepa and Chris Gray.  Their game was bought by First Star Software, which published it for the Atari 8-bit, Commodore 64, Apple II and IBM PC & PCjr. computers in 1984 as well as for the Colecovision.   FSS also published the sequel, Boulder Dash II : Rockford's Revenge and Boulder Dash Construction Kit.  FSS's other well-known game series is the Spy vs. Spy games.

Boulder Dash was very popular, with the game being ported officially or unofficially to many different platforms.  The Amstrad CPC, BBC Micro, Epoch Super Cassette Vision, Game Boy, MSX, NES, PC-8801 and ZX Spectrum all received officially licensed ports. Except for a period from around 1991 to 2001, there has rarely been a year gone by without a release or re-release of Boulder Dash in some officially licensed form.  Today it can be purchased on mobile platforms.




Boulder Dash was never ported to other popular consoles of the pre-crash era such as the two most popular systems, the Atari 2600 and Intellivision.  While a limited edition cartridges of Boulder Dash and Boulder Dash II were released for the Atari 5200 in 2005 and 2006, the 5200's hardware is almost identical to the Atari 800, making the conversion straightforward.  But while the Atari 2600 has many hardware similarities to the Atari 800 and 5200, it is a fundamentally less powerful machine.  The Atari 2600 has far less RAM, 128 bytes, compared to the 800 and 5200, which have 16KB or more.  The Atari 2600 has fewer graphical objects at its disposal and must spend most of its CPU time telling the TIA how to draw the screen, whereas the Atari 800 and 5200 have a pair of chips, ANTIC and GTIA and a lot more RAM to handle much more of the work to display the graphics.

Boulder Dash was also recently and officially ported to the Intellivision, and that system has the graphical capabilities to show a 19x10 playfield.  Sound effects are a bit weak and controlling Rockford with the Intellivision disc is an extra challenge in and of itself.  Boulder Dash certainly gets worthy official ports.

The programmers of the Atari 2600 port, Andrew Davie and Thomas Jentzsch, spent nine years (2002-2011) developing and perfecting an engine that could play a proper version of Boulder Dash on the Atari 2600.  Boulder Dash is a game based off a grid of tiles and is not well suited for a system designed to run Tank and Pong.  The Atari 8-bit version could show 20x11.5 full tiles on a single screen.  Each tile is 8x16 pixels, stretched horizontally to appear as 16x16.  It could also scroll the screen horizontally and vertically.  Each level consists of 40 horizontal and 20 vertical tiles.  The object (empty, Rockford, dirt, boulder, jewel, firefly, butterfly, amoeba, interior wall, exterior wall, enchanted wall, escape door.) currently contained within each of those tiles must be stored in memory.  The physics of the game, namely how and where objects fall, also must be considered. The 2600 simply does not have enough RAM available to run Boulder Dash without additional hardware.

Despite formidable obstacles, AD and TJ got BD2600 to work as close to the other 8-bit versions as they possibly could.  In order for BD2600 to work, the programmers developed for a cartridge supporting 32KB of ROM and 16KB of RAM.  A typical 2600 cartridge only has 2KB or 4KB of ROM (and no RAM), which is the limit of memory addressable by the cartridge slot without extra hardware.  Even many homebrew carts do not have more than 4KB.  The bankswitching method Boulder Dash uses (3E) can support up to 512KB of ROM and 256KB of RAM, although one can only try to imagine what kind of game playable on the 2600 would really require so much memory.

BD2600 Cave M - Amoebas
Due to the limitations of CPU-fed TIA graphics only allows for 10x8 tiles to be shown on the screen at any one time and have a game which did not suffer from lots of slowdown.  BD2600 does contain all 16 caves labeled A-P from the original Boulder Dash. Each cave is playable in one of five difficulty levels as found in the original.  It also has the four intermissions played at the end of every fourth cave.

There are two demos available, unfortunately they are from the later, harder levels, Cave O and Cave M.  Talk about throwing a novice in at the deep end!  They can be downloaded here :

http://atariage.com/forums/topic/184812-boulder-dash-r-demo-release/

http://atariage.com/forums/topic/220986-boulder-dash-demo-v2/

These demos can be run in the Stella emulator, the Krokodile Cart or a Harmony Encore cart.  The original Harmony cart only has 4KB of RAM, not enough for Boulder Dash.  The Cuttle Cart won't work either because of its RAM limitations.

Even with these limitations, the full Boulder Dash game is present.  All sprites are multi-colored, and Rockford's is especially colorful and well done.  Rockford moves quickly and the scrolling is impressively smooth for a console without any scrolling hardware.  The title theme is present and sounds reasonably true to the original given the far more limited musical capabilities of the 2600's TIA vs. the Atari 800's POKEY.

BD2600 may not be the best way to introduce a new player to the greatness that is Boulder Dash.  The hardware limitations decrease the amount of the cave visible on the screen at any one time.  While the various ports of Boulder Dash often would vary the viewable screen to the screen resolution, the view was still more generous.  The NES version could show a 16x15 tile area, the Coleco a 16x11.5 area.  The Game Boy version also showed a 10x8 tile area, so there is an equivalent level of challenge available if you are unable to play BD2600.

BD2600 Cave M - Butterflies
When AD and TJ released their cartridge back in 2011, they sold it through the AtariAge website for $75.  The price was high, but they had to pay FSS a royalty on each cartridge sold.  They indicated that this was a limited release and only 250 were to be produced.  The game came in a box with a manual.  Even with a very mature 2600 homebrew and collector market, it took almost a year to sell them all.

In response to frequent demands for more cartridges, they have stated time and time again that they would not make more cartridges, for two reasons.  First, they advertised the release as limited and believe that collectors should be entitled to rely on that representation vis-a-vis the collectability and value of their cartridges.  Second, they would need to negotiate a new license with FSS.  The first time around, they had to pay FSS's royalty in advance for the 250 cartridges they hoped to sell.  Even assuming FSS would be interested in a new run, they may raise the price because these cartridges sell for several times their original sales price at auction.

Porting classic games to the 2600 can be a risky business.  Chris Spry ported Super Mario Bros. to the 2600 as "Princess Rescue." AtariAge sold these cartridges until Nintendo sent a Cease and Desist Order to Albert Yarusso, the owner of AtariAge.  Production of Princess Rescue cartridges stopped but AY released the ROMs on the AtariAge forums.  These ROMs can be downloaded and run on Stella or any of the development carts.  Spry's next project is Zippy the Porcupine, and is a port of another famous property whose identity should be immediately obvious.  Sega has also shown hostility to fan-based games over the years, but has not been quite as active recently as Nintendo.

BD2600 Cave O - Fireflies
The current estimated price to buy Boulder Dash 2600 on the used market is about $250.00 if complete in box.  AD and TJ each have their own cart and AY undoubtedly has the software since he manufactured the carts.  FSS probably has the software as well.  That means that a maximum number of people who can play the full BD2600 at any one time will not exceed an 8-bit number (or a 9-bit number for two players).  However, other people who were not able to purchase carts in 2011 and since still want to play the game.  To accommodate these individuals, AD and TJ will allow users with appropriate references to borrow their personal cart to play and review for a two week period.  TJ's cart will be kept within Europe.  I was the first volunteer for AD's cart, which has been sent from Australia to the US.  When my time period expires, I will ship it to the next person in the queue.  To deter theft, loss or mishandling of the cart, each cart borrower has to deposit $100 in escrow to AY, which will be returned when the borrower has given shipping confirmation showing that it is enroute to the next borrower in the queue.

My Boulder Dash loaner cartridge came with its box, insert, manual and extras.   I was very impressed by the quality of the box and included materials.  With the manual comes a poster showing the box cover artwork.  There is also a pair of feelies in the form of a bag of diamonds and a bag with three AtariAge pins.  The labels on the cartridge is applied well and the the cartridge plastic feels like an Atari-produced 2600 cartridge shell.  The cartridge has a retractable connector protector like Atari's original cartridges have.  Here are scans of the manual and box artwork : http://www.atari2600homebrew.com/boulder-dash.html

BD2600 - Box Contents
In addition to the instructions to play the game, AD and TJ's struggles with the hardware are well-documented in the manual.  You can see how Boulder Dash emerged from a coding exercise to a proof of concept to a series of increasingly refined demos.

To review BD2600 is really to review Boulder Dash.  Perhaps that is all that need be said about BD2600 and that statement alone should convey high praise for the game and the port.  Boulder Dash becomes increasingly more of a strategy game than an action game.  In the early levels, you have to learn how to avoid falling boulders and roaming butterflies and fireflies.  However, it will become apparent that in order to master the more difficult caves, you will have to master the falling and placement of the boulders.  It becomes quite satisfying to drop a boulder and destroy a butterflyo or a firely.  Like all classic games, it is easy to learn and hard to master.

Getting into the game, one immediately should feel at home if you have any experience with Boulder Dash.  The cartridge supports both NTSC and PAL consoles, and the system speed is switchable with the Right Difficulty switch.  PAL consoles can use 50Hz or 60Hz speeds of the TV supports it, selectable with the Left Difficulty switch.  Given that Boulder Dash was developed on an NTSC Atari 800, 60Hz is the canonical speed.  Boulder Dash is a very fast-paced game, especially at the higher difficulty levels, so 50Hz users can enjoy a slight relaxation of the difficulty level.  I would recommend using a Sega Genesis controller for most responsive and precise control for Rockford.

The difficulty level and starting cave level is chosen by the joystick on the title screen.  Pressing the Game Select or Game Reset switch will sacrifice Rockford, which is necessary if you get trapped by boulders.  Shifting the Color/B&W switch to B&W will pause the game, flip it back to Color to continue.  When the game is paused, the background color will appear red.

Because you cannot see as many tiles as you can on other versions of Boulder Dash, you can hold down the joystick button for a second.  When the background color turns gray, you will be able to view the level with the joystick without moving Rockford.  This does eat into your time.

BD2600 Running on my Atari 2600 6-switch
Interestingly, the Game Boy version had two methods of addressing this issue.  First, you could pause the game and that would allow you to view the whole level.  Second, you could press select and play the game with 8x8 tiles instead of 16x16 tiles.  This gives you a much larger view of the level with the sacrifice of a lot of detail in the tiles.  You can still look around the level by pausing the game in the 8x8 tile mode, which is something of an unfair advantage compared to users of other versions.

Boulder Dash's multi-colored tiles are really very impressive.  As I mentioned before, every tile is 21 scanlines high.  Each line for the tiles only uses one color, but by varying colors line by line, a more colorful object can be shown.  Each tile can use up to three colors plus the background color.  These three colors vary in each level, but in each level all the tiles only use those three colors, regardless of shape.  Because these tiles are being drawn with the playfield registers, they only have a horizontal resolution of four pixels compared to a player, missile or ball object.  The TV stretches these pixels so they do not look too squished.  Moreover, the playfield only has the registers for half the TVs width, so AD and TJ have to reload the registers to represent the tiles on the other side of the screen every line.

Even more interesting is the 3-line color system they used for these tiles.  Each playfield scanline only uses one color or shows black.  The second scanline shows the second color, the third scanline a third color, then it cycles back to the first color.  Each object, like a boulder or a wall, is distinguished by the black areas.  By clever use of colors, shapes and animation, the programmers make it seem like there are unique tiles on the screen where it is just a sequence of 40 off and on bits on each line.

BD2600 & IBM PCjr Boulder Dash running together
Rockford's tile looks much more detailed than the other tiles.  Each line of his tile is still only one color.  However, because the player zero registers are being used, he can have twice the horizontal resolution.  The player one registers are used for the status bar.

I would also note that Boulder Dash supports animated tiles, and those tiles are animated in BD2600.  This is very impressive for hardware that is so much more primitive than that used for other Boulder Dash ports.  While the 2600 cannot pull off the color cycling with the diamonds, the animation for the diamonds helps offset this limitation.  However, on the Atari 8-bit computer, the color cycling slows the game down a bit on caves like Cave I with lots of diamonds.  BD2600 actually is faster here.

The sound effects are very well done in BD2600 and sound even better than  of the sound effects on other versions.  Some of the Atari 8-bit sound effects sound too much like simple white noise effects, and the Amoeba sounds are irritating.  The game supports the AtariVox non-volatile storage memory for saving high scores, but it does not take advantage of that device's speech capabilities.

When you score 500 points in Boulder Dash, the empty area on the screen sparkles for a moment, indicating you have earned an extra life.  In BD2600, this looks like the starfield effect from Cosmic Ark.  This effect can also be seen on the title screen.  The Cosmic Ark starfield effect was tricky to recreate outside of original 2600 hardware.  I think that TJ admired the effect so much he included it twice in the game.

One of the less immediately noticeable benefits of BD2600 is the lack of loading times because it is on a cartridge.  Boulder Dash was typically released on disk or tape for other contemporary machines, so having the benefit of instant access is a plus here.

Of criticisms I have only a few.  First, there is no special graphical transition effect when you die or complete a level, unlike some other versions of the game.  Second, it can be difficult to tell when the game is in free view mode when playing the game through the RF cable unless your brightness is turned quite high so you can distinguish the black from the gray background.  Third, because of the relative disadvantage for BD2600 players, the game's timer should have been paused.  Fourth, a second button should have been used, such as on a Sega Genesis controller, for instant free-view.  Some 2600 homebrew titles do support or even require (Princess Rescue) a second button as found on the Genesis controller.  The free view could have been limited to only five tiles horizontally in each direction and two tiles vertically to eliminate unfair advantages for BD2600 users.

Ultimately, BD2600 was a great experiment in trying to push a console's limitations and still have a playable game instead of a demo.  The game was worth the original $75 retail price, but at $250 you really have to be a die-hard Boulder Dash or Atari 2600 fan.  Playing the game on contemporary or even near contemporary systems is not nearly as expensive.  Given the smaller graphical window, this is a game best enjoyed by expert Boulder Dash players who are looking for an extra challenge.

No comments: