How I finished my first video game!
Written and Published: January 31, 2025
This is the exact ROM i sent to AtariAge when getting the game put on to a cartidge in early 2013.
Our initals are in the game, light dox there.. Also, you're free to download (4kb) the game, but I'd rather you not share the ROM file with others. Instead, please point people to this webpage so they can get the full story :). Plus if I ever do come accross the source code (probably lost due to multiple hard drive failures.. though I may have a paper copy of it somewhere), I'd like to do a full code review, and even fix the many issues the game has.
Bug! Is an Atari 2600 game my brother and I made during the winter between 2012 and 2013 when my brother was ~8 years old, and I was ~12 years old. It's very near and dear to me, so I'm happy to report that the ROM has been rediscovered(again)!
I've always had an intrest in arts and engineering. And after a while of researching, I realized that making video games was the perfect marriage between those two passions. After I learned about making games for old game consoles (which were very inexpensive in the late 2000s), I was bewitched. I felt like all my interests were aligning and making games for old platforms was where I was needed. So, for about 2 years before we made Bug, I was obsessed with retro games development. I was trying to get my hands on anything that had a BASIC or C compiler, and I poured over dozens of manuals and indie titles from that era. However, there was a problem. I was about 11 years old, and my attention span was about a hundred times worse than it is today. Finishing projects, or even really learning anything of depth was out of the question. So I sort of orbited the retro scene as an observer instead of really really diving into what I wanted to do. Resources like GB-Studio did not exist back then, and the attention span issue really did make it difficult to pour over the not-so-easy-to-use compilation toolchains, 20 year old libraries, and other vaporware projects that really tantilized my imagination.
Enter the (now outdated) Tinkernut Atari 2600 video tutorial.
Easy to follow. Easy to understand. Entertaining to watch. No linux* nonsense. This was one of those things that I just got, or felt like I could comfortably build an understanding and get good at. This is feeling was very empowering, and I flocked to it. Within an afternoon, I recreated the game Tinkernut made. And in the coming weeks, I continued to tinker with the engine to make other things. I also read through the source code of the games it came with, the kirby demo, the squirrel demo, gosh I'm getting nostalgic just thinking about it, fun times!
I spent about 3 months making Bug. The (now lost) source code is about 200 lines of Batari BASIC, and the rom is of the standard 4k size.
I don't really remember everything about the process, but I do know that I developed a large portion of the game after school on my laptop. At that time, Batari BASIC was VERY buggy, and it tried my patience many times. Fun quirks like some comments causing the game to not compile, there must be at least one space ahead of every line that isn't a label, or the classic fuck you the game compiles but it's a black screen with no error message among many others brought me inches from quitting the project. I remember coming to a point where I would just delete stuff until the game works, and slowly rewrite all the deleted functions, and change/alter things slightly so I could feel out when the IDE would crash, and when it would let things work. I would say it was somewhat spite driven too.. You've gotten so far! It is nearly done, why not complete it! Through these methods, I was able to finish the game.
SO you play as a bug, and you must get through the maze and reach a flag at the other end. If you hit a wall, you get sent back a level. Very simple. The player moves very fast, so you must be light on the controller in order to get through the maze. You can beat the game in under a minute if you're perfect, though I recon a casual attempt can take quite some time due to how punishing it can be.
I remember being quite pleased with how I animated the sprites. Both the flag and player animation uses the same code, and just constantly cycles through two frames every so often. I never found out why the player sprite gets fucked up though. I was really pleased with the flag animation, it really makes it stand out on the screen. I forgot the flag doesn't animate... I did do a flag animation for atari not long after though.
As for map design, I ran out of ideas pretty quickly. I started re-using concepts.
My younger brother tested all the levels for me, and even made the final stage before the credit scene himself. It's a pretty chill stage compared to the other mazes, I probably should have put it near the beginning. It's also the only one with multiple routes. The big vertical pixels I was using made it difficult to do anything too complicated without making the mazes even harder than they already are.
The player sprite gets fucked up if you move up and down someitmes.
Although the flag is the goal, the level will advance if you hit the edge of the screen. THis is problematic, as sometimes the game forgets to reset the player's location properly, and you can easily spawn into a wall and speedrun yourself back to the beginning of the game. Screen edge advancement was a big mistake that i should have taken better care to avoid.
I actually showed this game off a lot. When I was 13, I had an internship at my local library, and on the last day, I brought my atari 2600 and let all the other interns play the game. TBH I don't remember any of the feedback, but the reception was generally positive. I showed it off at my middle school as well, similar response.
THe game is WAYY too hard with a joystick though, and is REALLY EASY with a genesis controller. Balencing difficulty was not my strong suit. We originally developed this with a PC D-Pad in mind, since thats what I was developing with on the emulator. I never realized how much I don't like the atari joystick until I played this game LMAO!
Sound effects can really bring a project to life. I remember being shocked at how much more fun the game was once I added a nice BEEP when you win and a burly CRASH when you hit a wall. I actually synced this with the animation script, so if the frame counter is nearing an end, the sound effect would be very short. If the cycle just started, the sound effect would be much longer - about 7 frames longer.
Atari devs have it easy - collision detection is baked into the game console's hardware, so chhecking for collisions with walls or sprites is trivial. I really missed that when I started doing sega genesis stuff later on.
Getting a cartidge made thru AtariAge was a great cherry on top of the project, it really meant a lot to me. Hell, when I was interviewing for private boarding high schools in 2014 (yes this is a thing and no it was not fun), I brought this cartidge to show off during the interview. I wanted to prove to them that I was a really versitile student with good grades and refined eclectic hobbies. They didn't know what the fuck I was talking about and didn't get into any of the rich boy schools I wanted to go to. I don't think that was due to the game, though, I think it was probably due to my mediocre SSAT scores and being born in the wrong zip code and having the wrong skin color. One of them told me I would have gotten in if they didn't meet their quota of black boys already! Funny thing was, after they denied me, that school got a rat infestation. That's what you get =) ! I'll save the silly school adventures for another time. Anyhow, I'm still very proud of the game. Working on it was a lot of fun, and I learned a lot from the process.
Rapidfire changes after 12 years of life experiences:
I tried to make a sequel for PC with Game Maker 8.1. I didn't really like where the project was going, so I abandoned it. Sorry! That project was not really far enough along to post about here. I made like 20% of a maze and realized that the game was ass and I didn't have as much of a vision as a had before. It happens!
Thanks for reading! This was a nice memory to look back on. I also have a history with Sega Genesis programming that's.. well.. longer but not as triumphant as this. Maybe I'll write on it. Maybe I won't.. we'll see!
What's your favorite retro system to make games on? I find myself getting that retro bug over and over again, though my 2 job life certainly isn't doing this hobby any favors. Either way, let me know your thoughts on my neocities comment section or on bluesky!
*No hate on linux, and I say this as someone that uses Ubuntu every day at work, but my kid brain could not comprehend any of those linux-based programming tutorials or readmes. I didn't want to spend 2 days learning another command line, I just wanted to make games. If there's one thing you need to know about me, there's only so much complexity I can comprehend at once before my brain burns out. When making games, I need to be firing on all cylinders to design all aspects of the game. Coding, art, map design, testing, I want each process to be as easy and seemless as possible. I can only really do 2-3 tasks at once, and if I have to fight my OS to get things to compile at any point in time, I just lose all energy and the project dies. When I was a kid, I was quite impatient and didn't really plan anything out, so getting constantly hit by steep learning curves was very demoralizing. You must understand that using programs like Game Maker 8.1, and eventually Visual Batari Basic were very helpful in providing the space for me to prioritize making games right off the bat. My real goal was to point at a screen and to be able to say "i made that :D". That's it. It would've been way more official if it was on a TV screen, since I was a console gamer. Not to mention the angst against game engines of the era was also something I picked up on from reading game dev forum posts, and that pushed me to at least try to go outside of my comfort zone when I could. Working with the Atari was also a slick way to make games without any data structures knowledge too, as soon as I started doing any other language, my inadequacies as a programmer hindered me at every step. Anyway yeah. This is what happens when you're 12 years old and "just want to make games" without learning any of the general dev prereqs you need to do that sort of work. We live and learn chat, we live and learn.