Arduboy Jet Pac

Action_Jet Pac_Jet Pac.hex (72.2 KB)

So after about 30 hours hard work I’ve finally finished my clone of the classic ZX Spectrum game ‘Jet Pac’. I’ve tried to recreate the look and feel of the original game as best as I could. The game will get progressively faster with more objects to avoid as the game goes on.

I’ve tested the game as much as I could but there is no doubt a bug or two left to iron out so please let me know if you find any.

Make sure you have the latest Arduboy2 and ArduboyTones libraries installed.

Preview video:

Source Code, .Hex and .Arduboy files


You are an astronaut on an alien planet with a Jet Pac. When the game first starts you have to assemble your rocket by picking up the middle and top sections and dropping them onto the bottom section on the ground. Once the rocket is assembled you need to fuel your rocket. Fuel cells (Marked ‘F’) will drop down and you need to pick them up and drop them onto the rocket. A line along the top of the screen will show you how much fuel your rocket has. Once the line reaches 100% at the top right it will start to flash to indicate your rocket is now ready to board. Jump inside the rocket and take off. The level is now complete.

After a while, your rocket will land again to refuel. Again, pick up the fuel cells and drop them on the rocket as before.

You get 25 points for shooting each of the baddies trying to kill you and 100 points for picking up a rocket section or fuel cell. There are an additional 500 points each time you board a completed and fully fueled rocket.

All the while you are doing this, obstacles will be trying to kill you. You need to avoid the obstacles to stay alive. If you get hit you will die. You have 5 lives when the game starts.

Every 5 levels you will have a new rocket to build.
Every 8 levels the monsters will cycle and you will have 1 more added to their numbers (up to a maximum of 10). They will also get progressively faster as the game progresses.

Bonus items will drop from time to time and these items will flash. Pick them up for an extra 250 points.


Left Button= LEFT
Right Button= RIGHT
UP or A Button = Fire JetPac Thrusters
Down or B Button = Fire Lasers

Menu screen - Use UP/DOWN and A to choose.

Good luck and let me know what your high scores are.

Have fun.

Mike (a.k.a. @TheArduinoGuy)


Awesome work, I’ve been watching your tweets on this.

How are you producing the demo videos?


I’m using @Crait’s screen mirroring function in the Arduboy Manager program then capturing it with Snagit.

1 Like

Would love to host this on my repo! If you make a valid .arduboy file, I can add it real quick.


Looks awesome, just like I remember the original game.

1 Like

Does this need specific versions of libraries? I get not screen output. Sound works though.

You’ll need the libraries at the top of the .ino file:

#include <Arduboy2.h>
#include "bitmaps.h"
#include <ArduboyTones.h>
#include <avr/pgmspace.h>
#include <EEPROM.h>

Are you getting any error messages on upload or compile?

Thanks. I’ve added it to my GitHub

No errors, just blank screen.

How did you upload? Are you using the .ino file or something else ?

Yup, .ino using the arduino software. I assume I’m the only one having this problem?

That’s strange.

No idea if you’re the only one as nobody else has reported a successful upload yet.

Compiling and installing using the .ino file in the Arduino IDE works fine for me.

OK good. Spinal it seems to be a problem at your end.

Yeah, I got it working once I got home again. Don’t know exactly what went wrong, I re-downloaded the arduboy2 library, dropped it over the old one, got the same black screen.deleted the arduboy2 folder, the unzipped the same download in its place and it worked. Really don’t know what could have went wrong, the two situations should have resulted in the same files in the arduboy2 folder.

Anyway, excellent game, it brought back many memories. Good job!

1 Like

Why are you manually installing the Arduboy2 library? Just use the Arduino Library Manager

Sketch > Include Library > Manage Libraries...

Glad you like it. I’m already thinking of ideas for my 2nd game.



1 Like

Jonathan, I’m not sure if I did the .arduboy file correctly or not. If you wouldn’t mind trying it our and letting me know please. Thanks.

Just examining it:

  • In info.json the “companion” field is blank. It must contain a valid URL. If you don’t want to provide a URL then just leave the “companion” field out completely. Other than this, info.json validates correctly.

  • I don’t know if the loaders actually care or not but the screenshots aren’t just black and white. The background is at some level of grey and a few pixels are lighter levels of grey.

The file says to uncomment two lines to reset the high score. How do you intend for people to do this using the .arduboy file?

It would be better if you had a way for users to reset the high score from within the game.