Oh no! Where's the JavaScript?
Your Web browser does not have JavaScript enabled or does not support JavaScript. Please enable JavaScript on your Web browser to properly view this Web site, or upgrade to a Web browser that does support JavaScript.
Articles

From Restoration to Creation: Developing Games for the Atari 2600

Back to the Atari 2600 🎮: Restoring the console and creating games in Assembly to relive the retro gaming magic! ✨

My involvement with software development goes back a long way, specifically since the mid-1990s. Throughout all these years, I earned academic degrees in Computer Science and Electronic Engineering and worked in the corporate market in various roles and functions, always in activities related to the development of corporate software. I have always been passionate about computer programming, and a little over 20 years ago, I became interested in game development. I decided that, in addition to being a video game player, I would also become a digital game developer.


My first experiences creating games were with the Turbo Pascal language for the old MS-DOS. They were quite simple games, mostly text-based. During that time, I also started experimenting with the C language and the Allegro library, but I only created small proof-of-concept projects in that environment. I remember that I was studying at a technical school, where IBM-PC computers were used, and at home, I had a Commodore Amiga 600, which was mainly used for playing games.


As the years went by, I got my first job as an intern in a scientific research team at a prestigious public university in Brazil. Coincidentally, my work was related to the development of an educational game, and my desire to deepen my knowledge in the field grew even stronger. Since then, my studies and knowledge in game development have matured, and I focused my efforts on learning the Python programming language. I chose this technology because, although it is not the most traditional for this area, it allowed me a great deal of flexibility to create solutions for the most diverse areas and platforms. Using the Python + Blender 3D combination, I created several games, all individually (as an indie dev), and some of them are published on Steam. I haven't created any best-sellers, but all of them gave me good professional visibility and paid off financially.


Recently, around mid-2023/2024, I started reminiscing about the time when I was a student in technical school and had an Amiga 600, mainly used for gaming. I remembered that back then, as a Turbo Pascal programmer for MS-DOS, what I really wanted was to create games for my Commodore. At that time, this desire remained just an idea; however, now I could put it into practice, taking advantage of all the years of experience accumulated as a software developer. I found some articles and manuals on the AMOS Pro programming language for the Amiga and created a few games for it, which were published on itch.io. I loved the experience and will continue creating games for this amazing platform.


During my studies for developing games for the Amiga, I decided to rummage through some items that had been stored for many years at my parents' house. Besides finding an Amiga CD32 and an Amiga 1200 that I had bought a long time ago, I also found an Atari 2600 that I received from my parents when I was still a little boy. Immediately, two thoughts came to mind: I needed to get that Atari up and running, and I also wanted to develop a game for it, on a cartridge, to play on my old console. Since then, I have been studying the Atari motherboard hardware to be able to restore it on my own, and through this study, I have gained a relatively in-depth understanding of how things work internally on this platform. The console restoration process is still ongoing, and I believe it will soon be back to life. My second goal has become to create a game for the Atari 2600, and with the knowledge I am gaining from restoring my device, I thought it would be a great adventure to try creating this game using Assembly for the 6502/6507 microprocessor.


Some friends and acquaintances, with whom I share this journey of programming in Assembly for the Atari 2600, often tell me that there is currently a more "palatable" programming language option for this platform. They usually mention the bAtari compiler, which uses syntax very similar to the Basic language. Despite the similarity to Basic, I noticed that, to achieve good performance with bAtari, it is still necessary to know a lot about the internal workings of the Atari.


I am indeed considering switching to bAtari as soon as I can create at least a small proof-of-concept game entirely in Assembly. bAtari will potentially bring me a huge productivity boost and allow me to spend more time on Game Design-related issues rather than technical ones. However, before starting with bAtari, I want to fully understand the Atari 2600 architecture so that my progress with bAtari will be smoother and I can make the most of this incredible compiler.


For at least the last 20 years, I have been developing games using various technologies. More recently, I decided to get involved in creating games for vintage platforms, having created games for the Amiga and currently working on developing for the Atari 2600. My choice of Assembly for the Atari stemmed mainly from my study of its hardware to restore my old console and my desire to later start using the bAtari language with a solid understanding of the platform's intricacies.


I hope this account has pleased and inspired you to start a journey into game development for vintage/retro platforms. Best regards.


1000060614.jpg
My Atari Motherboard.


rvertulo September 01 2024 559 reads Print