CatBoy

A brand new console! CatBoy is a handheld cartridge based gaming system. Just plug in a 5v mobile phone charger and play! Different games can be loaded by inserting different cartridges and rebooting the console.

During Spring Game Jam 2017 I build a small handheld game console using an Arduino Esplora. The games can be loaded into SD-cards and inserted into the system. I developed 3 games in total for it, one for each game jam theme; Ice Space (Icecream Monsters), Town Defence (Pixel Erasers) and Shool Run (Highschool Race). I made my own sprite and game data format and that can be edited using a hex editor. Since the hardware was extremely limited draw optimization was important to even get a playable game running.

Tech specs

  • 160 x 128 TFT LCD display
  • 16 MHz 8-bit processor
  • 32 KB Flash memory
  • Analog Joystick
  • Fire button
  • SD-card reader

Games

During the jam 3 games where developed, one for each theme.

School Run

Theme: Highschool Race

Help Cat Boy to get through school as fast as possible! Catch the highest grades and make sure to not fall to many classes!

Ice Kitten

Theme: Icecream monsters

Alien ice-creams are attacking the kitty planet! Shoot them down! Make sure to not crash into the enemies!

Town Defence

Theme: Pixel Erasers

Evil Pixel-Erasers are attacking Cat Boy’s town! Make sure they do not reach the ground by shooting them down!


Make your own games

It is possible to develop your own games for the CatBoy console. All you need is a SD-card reader. Cartridges should be FAT-32 formated SD-cards containing the following files. All files except splash.bmp are supposed to be edited with a hex editor.

palette.dat Palette used by the game. First 3 bytes are background color, follow are the different colors in RBG order.

enemy.dat & player.dat 8×8 sprite used by enemy or player. Number refers to color in palette.

game.dat Flags for game engine. Example from School Run
02 – Win condition
0F – Win condition value
00 – Loose condition
06 – Loose condition value
00 – Palette used for text in game
00 – Palette used for bullets in game. If 0 can not shoot
02 – Enemy speed
00 – Bullet speed
08 – Enemy spawn rate

splash.bmp A 24-bit 160×128 splash screen image for splash, victory and game over screen.