Mr Speaker

Plops!

Welcome to the Plops! work-in-progress by Mr. Speaker. This is an actual Atari 2600 game I started making many moons ago. Space to start (click on the atari to focus!), arrows for movin and jumping (to collect "stones"), and space for throwing collected stones. It's bloody hard to get used to jumping that purple thing. Good luck, and story after the break (and flaky Java Applet)...



Your browser doesn't seem to support applets.

The Atari 2600


Wow, Atari 2600s, 2D games, Java applets... talk about a retro post! What you see above is the JStella Atari 2600 emulator, running a game of my own creation. It all started (and ended) some time back - the year was 2006 and I was enjoying 6 weeks off work for a spot of brain surgery. During one of my Internet-rehabilitation sessions, I stumbled across the Atari programming forum at AtariAge. I was astounded! "Make your own Atari games? That's preposterous!" I thought, in a wondrous internal monologue voice. As I followed more and more links, and read more and more documentation, I understood that I must undertake this programming journey.

You see, the Atari 2600 is a machine not to be taken lightly. It is a hell-beast of a piece of hardware, and it's surprising that ever a single game became available for it, let-alone the 1000 or so that were commercially produced. The complexity lies attempting to push the boundaries of what is possible with the meager hardware on hand: 128 bytes of RAM (bytes!), no frame buffer at all and a debilitating palette of sprites: 2 sprites for player, 2 one-pixel sprites for "missiles" and a one-pixel sprite for a "ball". The machine was never meant to make anything other than Pong.

But the hardest part - the part that will have you wake up in the middle of the night swearing - is the timing. To draw things in the right place you actually have to wait until the beam (the beam!) that draws the screen is in exactly the right place, and issue a command to draw. This means you need to do any game calculations and code when the beam is not on the screen: you have a few rows of beam above and below the visible area of a TV to do your game code! If you take too long (or not long enough), then the whole screen goes wonky. You can see I've bodged things at the bottom of the screen in my game, as the lines don't match up properly. I decided to concentrate on that spiffy intro screen tune, rather than make the game work properly.

The fact that people had to work within such a hardcore environment - without debuggers or emulators - is truly mind-boggling. I gave up on my game after about 6 weeks, but I did walk away with a real sense of achievement. The only thing I regret is not getting an eeprom burner so I could make it into an actual cartridge and play on my real Atari. Ah well, maybe next major operation.

Here's the Plops! bin file, and the code if you're interested. I know you are...

Trying to load...

4 Comments

  1. This is one hard game! Nice one!!

    Friday, May 29, 2009 at 2:14 pm | Permalink
  2. I can’t believe you picked this up again since the Relate days! Good to see!

    Friday, May 29, 2009 at 10:43 pm | Permalink
  3. Stirling game, Mr. Love the name to!

    Wednesday, June 3, 2009 at 1:39 pm | Permalink
  4. Ha ha, looks like I wrote “Mr.Love”

    Wednesday, June 3, 2009 at 1:39 pm | Permalink
Captcha! Please type 'radical' here: *
How did you find this thingo? *