Skip to content
Go to file
This branch is even with yomogimaru:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Porting a shmup "i-20000" to Arduboy. Original version (for Windows) we made is here.

You need an Arduboy to play. Or you have an Arduino board and modify a source code, so you may be able to play (more details).



Demo playing on Youtube.

How to install

  1. Install ArduinoIDE.
  2. Download ArduboyLib and install.
  3. Clone or Download this repository. If you download the ZIP, extract it.
  4. Connect your Arduboy to a PC with a USB cable.
  5. Open "i4arduboy.ino" with ArduinoIDE.
  6. Click "Upload" button at the upper left.
  7. Enjoy!


  • Weapons: you can use guns and topedoes to defeat enemies.
    • Guns fire automatically. You can destroy small enemies with them.
    • Torpedoes are launched when you push A or B button. This is the only way to defeat big enemies.
    • Only one torpedo can be launch at a time.
  • Game Field: there is the invisible area in game field.
    • Enemies may exist as far out as two screens away from the screen you can see.
    • Torpedoes can attack them in this area.
    • But a miss of torpedo's attack will alert the target, so it will close in...
  • Sonar: in order to know where enemies locate at.
    • Dots flash on the right side of the screen periodically; these indicate locations of enemy.


  • Directional buttons: Move submarine / Move cursor
  • Button A: Launch torpedo / Confirm
  • Button B: Launch torpedo / Cancel
  • A+B+Left (only in level): Return to title

Build options

There are some build options in constants.h you can configure with macros.

  • LOW_FLASH_MEMORY - If in short flash memory (program space), you should define this macro in order to get memory space (several hundred bytes) instead of omitting some features.
  • USE_RANKING_EEPROM - If you want to keep the score ranking while power off, define this. This feature uses EEPROM and several hundred bytes in flash memory.
  • DISABLE_MUSIC - If you define this, flash memory get a margin of about 500 bytes instead of music score data.

In addition, you can configure constant numbers involved with the game level, e.g. maximums of each characters, your submarine's extra lives, etc.

How about other Arduino hardwares?

You have another ways in order to output an image from Arduino, e.g. graphics LCDs, composite video output.

If you display i4arduboy with these devices, please re-implement the following functions and macros in gamecore.h.

You can find output libraries in ArduinoPlayground/Output.

Technical informations

Coming soon.


Porting a shmup "i-20000" to Arduboy




No releases published


No packages published
You can’t perform that action at this time.