Ard-Drivin - Fast Paced Racing Sim

Yes, we can! :stuck_out_tongue_closed_eyes: all voices can be temporarily taken over and volume, frequency and square wave duty cycle can be changed programatically.


I forked the repo and already added base music to it from Evade 2 as a quick test. I still have to compose music, but the test is successful. :slight_smile:

I suggest using ATMLib2 (we’ll publish it this week) over ATMLib because there are several key advantages.

Questions for you @remz:

  • In “Rad Racer”, there was a concept of a radio where players could choose their favorite tracks. Any thoughts on this or will there be different “tracks”?
  • The sprites are rather huge and given the size of the screen and seem to be off scale a bit. Have you considered reducing the size at all? You could afford more lanes of traffic with this approach.

Quick demo on my test:


Hey @JayGarcia: Nice work :slight_smile: I would love to have some “outrun” style music
(or anything that you like :)) in the game, that would be amazing. There
was plenty of storage and ram left so that should be ok.
However on the CPU side of things I am not so sure about how much we can
afford on music processing without disturbing the rendering. But your quick
demo seems to do fine!
About your questions:
Rad Racer: Tracks, you mean “road track” or “music track”? The road is
procedurally generated while you play at the moment, so there is no concept
of tracks per se. It would be possible however.
Sprite size: Yes I went a bit crazy of the sprite size just to show off the
power of the arduboy. So with some work it would be possible to reduce the
size and adjust the game parameters (speed, collision size, etc).


How close is this to being done?

1 Like

Instead of dithering, what prevents you from switching between black and white at different intervals?
If the game is running at ~60FPS, you can have 3 modes of switching instead of 2, increasing color display at while it’s still perceived as fluid motion. I mean,

3 Mode at 20FPS:
0 0 0 : Black
0 1 0 : dark grey
0 1 0 - 1 0 1 : Intermittently switching between dark and light grey = grey (10FPS)
1 0 1 : light grey
1 1 1 : white

2 Mode at 30FPS:
0 0 : Black
0 1 : Grey
1 1 : White

Our eyes perceive motion at 20+ FPS, but color gradients are much harder to catch for the eyes.

On the other hand, you could also double 2 mode at 15FPS, adding colors:
00 - 10 Dark grey
10 - 11 Light grey

If you do use dithering, can the pattern be coded to vibrate 1 pixel across the screen? If so, one could use the dithering pattern to switch on and off a whole block of pixels.


I want to publicly apologize to @ for not being able to help. :frowning: my attention and focus was demanded by work and family events.

Who is ‘@’?

(Unrelated: the 20 char minimum is silly.)


What? :smirk:​​​​​​​​​




there is an empty Ard-Drivin.ino in github repo (
is anywhere full source code?

I see they use their own version of the Arduboy library and have a main.cpp with a loop() and setup(). This might not have been compiled with Arduino IDE.

it’s done! just renamed main.cpp to arddrive.ino )

As simple as that? Cool.

and port few new class methods from the custom Arduboy lib as a functions to the .ino, custom font… and about 4hours of other small manipulations ) but it works now )


You could have just compiled the blank .ino file. Arduino IDE includes/compiles .ino, .cpp and header files in the same directory as the .ino

1 Like

I tried to upload this game to my homemade arduboy with Mr.Blinky’s custom arduboy package and alternate wiring but nothing comes up on the display, can anyone help me ?

I presume your custom Arduboy is using a different screen?
E.g. an SSD1309 instead of an SSD1306?

If so, that will be why.

This game does custom rendering, so it possibly won’t work properly with other screens.
Presumably there would be a way to make it work, but I have no clue how much effort it would take without knowing the specifics of the problem.

This game has its own version of the Arduboy library as part of the source therefore the mods MrBlinky made do not get applied. Furthermore, I thinks its the original library not Arduboy2.

1 Like

I’m using the SSD1306 128x64

1 Like