Gameboy Advance Projects

Designing and developing interactive experiences for retro hardware

My Role

Designer + Developer

Tools

C · Visual Studio Code · Docker · Usenti

Overview

Designing within constraints

I designed and programmed a series of experiences for the Game Boy Advance, exploring how different kinds of interaction could work within the constraints of retro hardware.


Working with a limited set of inputs, display capabilities, and system resources meant thinking about design and development together. Controls, visual feedback, animation, audio, game logic, and performance all had to work as parts of the same experience.


Across the projects, I experimented with different forms of interaction, from transforming the GBA into a music player to building platforming and combat mechanics.

01 · GBA Music Player

Reimagining the GBA as a music interface

I designed and programmed a music player that transforms the Game Boy Advance into a handheld audio interface.


The experience combines music playback with track information, progress feedback, playback controls, and animated visual elements. Building it required coordinating user input, audio, timing, and changing interface states while working within the GBA's limited controls and display.


Rather than treating the hardware as a limitation to work around, I used its physical controls and visual constraints as the foundation for the interface.

KEYBOARD CONTROLS

Enter

Power On / Off

Z

Play / Pause

<-

->

Browse Songs

02 · Crazy Castle

Recreating a retro platformer for the GBA

I designed and programmed a two-level platformer inspired by Bugs Bunny Crazy Castle, building the gameplay, character interactions, and game states for the Game Boy Advance.


The goal is to clear both levels by collecting every carrot and defeating the enemies using throwable items. Building the game meant coordinating player movement, enemy collisions, collectibles, lives, and state changes within the GBA’s limited controls and hardware.

HOW TO PLAY


OBJECTIVE
Collect every carrot and defeat the enemies to clear both levels.


LIVES
You start with 3 lives. Colliding with an enemy costs one life.


ITEMS
Throw boxing gloves to defeat enemies. The invincibility potion temporarily lets you defeat enemies by running into them.


USING DOORS
Press to enter doors with visible stairs and to enter doors without stairs.

KEYBOARD CONTROLS

Enter

Start / Pause / Restart

Z

Throw Boxing Glove

<-

->

Move Left / Right

Climb Stairs / Ladders

03 · HxH Heaven's Arena

Designing a Character-Based Combat System

I designed and programmed a Hunter × Hunter fighting game for the Game Boy Advance, featuring two playable characters, five progressively difficult levels, and combat systems built around attacking, dodging, health, and Nen.


Players choose between Gon and Killua, each with different attributes, then fight through five enemies with increasing health. Successful attacks build the Nen meter, which can be activated when full to temporarily deal 2× damage.


OBJECTIVE

Defeat the enemy by depleting their health before they deplete yours. Winning advances you through five increasingly difficult levels.

BUILDING THE GAME


COMBAT SYSTEM
Built attack, dodge, damage, and collision logic alongside dynamically updating health bars for both the player and enemy.


CHARACTER SYSTEM
Created two playable fighters with different attributes. Gon has higher health but lower speed, while Killua has lower health but increased speed.


PROGRESSION & NEN
Built five increasingly difficult levels by scaling enemy health, plus a Nen meter that charges through successful attacks and unlocks a 2× damage boost.


VISUAL FEEDBACK
Added sprite animation, parallax scrolling, tilemap changes, and palette effects that provide feedback when the player takes damage.


DEMO NOTE
The Nen meter can be instantly filled by pressing both shoulder buttons. This shortcut is used during the recording to demonstrate Nen without waiting for the meter to charge naturally.