Radical Racing: Rivalry - my first Arduboy game

Hi everyone!

This is my first attempt at an Arduboy game, it’s a tribute to Dragster, the classic Atari 2600 game but somewhat improved and with better controls (or so I like to think). I would love to get some feedback on my work. My game programming is a bit rusty (though I used to do this for a living a few years ago), so don’t expect Crysis in 28kb.

Here’s the Github page:

And here’s a link to the releases:

Latest release is here.

I’m not very good at hyping stuff, so I’ve made this image instead:


I’ve just added a gameplay video.


Nice perspective effect on the background!

1 Like

The first 16 bytes of EEPROM are reserved for sound muting and other settings.

Currently your code is overwriting them, so here’s a fix for that:

Some helpful stuff about the forum:

If the link limit bothers you again, flag your post for attention and ask for the links to be inserted via moderator intervention.

I’ve edited your post to link to the main Github page and the releases page, as well as embedding your image so it appears in the forum instead of being hosted on imgur.

You should be free to reword my edit, but if the system complains for any reason, just ask.
The limitations won’t be in place for long, after a couple of comments the system will determine that you can be trusted.

Youtube videos will embed if you just paste the link into the comment composer, and images will embed if uploaded.
If you paste a link to an image, @system will come along and embed it for you after ~5 minutes.

1 Like

Thanks for the fix and helping with the post @Pharap. I’ve merged it and drafted a new release, v1.0.1 (linked in the first comment).

1 Like

If you want a link that always points to the latest release (so you don’t have to constantly update the link), then you can use https://github.com/NK0d3R/radical_racing_rivalry/releases/latest.
At the moment it will point to v1.0.1, but if/when you make a v1.0.2 or v1.1.0 then you’ll see that the link goes to the latest (non-draft) release.

1 Like

You’re right @Pharap, thanks !

1 Like

Wow, I am absolutely blown away by this. Seriously, the parallax in this game looks beautiful!

1 Like

Looks really neat! Could you post a .hex file? Some people might prefer that. :wink:

1 Like

Added .hex file on GitHub > Right click, save as … <.

I will update the .hex on each new release but I won’t draft a new release for this .hex.


Now that you added a hex, people can play it like this. :slight_smile:


Great game - love it! :grinning:

I can appreciate the choice to leave out sound - but it would be nice to have some other indication of when the engine is about to red-line… what about using the red LED? (as it is, I find myself obsessively focussing on the gauge, and not being able to pay any attention to the scenery going past! :sweat_smile:)

1 Like

:cry: Damn long working days. Would like to try this out…


Wow, i just LOVE this game, i don’t know what it is, but it feels just right. I prefer the full manual mode by far! Really nice job! I second the red LED idea.

1 Like

I will implement the LED warning in the next update. I mean, after all, I still have a whooping 110 bytes of code available for awesome stuff like that :grinning: (and for bug fixes).

I had no idea there was an emulator for this thing. The frame rate (at least on Chrome) is too high which makes the game hard to play, but, wow, not bad. Now the only thing that’s missing is one with a debugger so I can stop stuffing my code with Serial.println(…).

I’m really glad people aren’t complaining about the lack of imperial units option. The conversion itself wouldn’t be hard to implement, in fact, if you look at the car.tga image you can see it already drawn there , the problem is that it would need an option in the main menu, possibly an “Options” sub-menu. And I really don’t have room for that in those 100 or so bytes remaining. The only thing that’s somewhat removable is the car “reflection”, I don’t know how much that would get me. It’s a subtle effect that appears once every 500m (IIRC), I doubt people noticed it. But I like it though, much more than I like the imperial system (which is funny for someone who now lives in the US).

Fun fact: the torque values were initially taken from here and the gear ratios from here. While I kept the gear ratios, the torque curve wasn’t suitable for the game. It peaked at about 5000 RPM while I needed it to peak at max RPM so the player would be incentivized to risk going to the highest end of the RPM bar.

1 Like

Finally found time to try it. I did not quite get the hang of the key configuration at first, but it is a really good game. Are you going to implement sound effects?

I don’t think I’ll add sound effects, there are several reasons for this:

  • The Arduboy lib sound code is not small, so even without any sound data, I’m looking at least 1 kbyte of code (not really sure about size though, I will check this when I’m back from work). And that’s just the lib code. I would also have to add my own and possibly some sound data. In any case, I have about 100 bytes left.

  • Enabling/disabling sound would need an options menu entry = more string data, more code

  • Sound in retro racing games is really not great to listen to, I think that we started getting nice engine sounds with the 32 bit console gen (PSX, N64, Saturn), but until then, it was like listening someone scratching a chalkboard with their nails.

Fun fact: one of the parallax layers had a patrolling helicopter which ended up on the cutting floor due to code size constraints. The environment.tga source image still has the heli but it’s unused.


Wow, stop here. A lot of people including me enjoy this chalkboard scratching. :wink:

1 Like

Not really since you can turn ON/OFF sound while booting by holding B when you turn ON the arduboy, then UP and DOWN turn the audio ON or OFF.

But i do understand that you might want to use that memory for something more important to you.

Another small idea, while it’s good to have the red light to warn us if the engine is about to blow up, a green LED when the race starts could be a nice addition, since while i look only at the RPM, i could still be able to see the green LED :wink: ( i am a sucker for those LED lights, and it’s the only way to add colors to our games)

1 Like

I love 16 bit racers. I’m just saying I wouldn’t disable the music to something like Road Rash, just so I can listen to the bike engine sounds.