8Bit Rogue

Atari Game

Atari Game

Image processed by 8BitWorkshop's Dithertron

Hello there


One of the few good things to come out of the new Twitter algorithm, was the account @pikuma appeared in my feed. Run by Gustavo Pezzi, he has a number of programming courses available, including learning some assembly by making a wee game for the Atari 2600. (You should definitely check them out, he’s a great teacher.)

I’ve started 8Bit Rogue so I can use game development to upskill and learn new software languages and techniques. What better way to upskill for the modern software environment than learning assembly for the MOS 6502 processor released in 1975?

I come from the world of the Web; my day job is developing a web application using PHP and JavaScript. These are very high-level languages, the underlying architecture is (almost) meaningless for many of the tasks we wring out of them. The web is a world where a 200 ms execution time is considered pretty good. (I’ve just been working on a particulary heavy function that involves processing a very large dataset — getting it to finish under 10 seconds was considered an achievement). Following the Pikuma course, I am measuring the algorithms execution time in CPU cycles.

What interests me is not only can I learn something that works very differently to how I’m used to thinking, but also, the constraints are kind of exciting: The Atari VCS offers an extremely limited toolset to build a game from; can I use those constraints to make something fun? What’s the most that I can squeeze out of it?

I already know that all my ideas are going to be too big to fit inside the VCS. I’ll have to pare them back as I go. But I also know my starting points:

The Atari VCS (2600) has: a Playfield, two player, two missiles (one belonging to each player), and one ball. That’s all you get to build a game from. And the game has to fit inside a 4K ROM (that’s all code and graphics), and the VCS has 128 bytes of RAM.

Let’s go. 🔥


Share: