Satori Mountain is a 32-bit game built in C to explore how hardware constraints can inspire creative design and further understanding of machine-level programming. Developed for my Media Device Architecture course (CS 2261) at Georgia Tech, this game uses my original pixel art, tile maps, and sound to create an interactive and nostalgic game experience.
CONSTRAINTS
This project required building a playable game from scratch while operating within the Game Boy Advance’s hardware limitations. Working with bits, bytes, and registers required that every design decision—sprite size, palette count, and animation speed—was constrained by memory and hardware access timing.
PROCESS
This project began with an exploration of how familiar game worlds can be reinterpreted through new visual languages. I was particularly drawn to a pixel art reimagining of a location from Breath of the Wild, which highlighted how shifts in aesthetic can reshape atmosphere and narrative tone. From this, I set the goal of translating a portion of an expansive 3D world into a 2D format while maintaining its sense of quiet exploration.
I then built the core game logic using placeholder shapes and flat backgrounds. Working in this low-fidelity state allowed me to focus on movement, collision detection, and item interactions without being distracted by visual details. Prioritizing functionality first ensured that the core mechanics were stable and responsive before introducing art and other animation assets. This staged approach helped maintain clarity in the development process and minimized any potential costly rework later on.
Milestone 1: early development
To design the map, I used tile-based tools and created the sprite artwork in Usenti. I wanted the world to feel open and calm to explore, similar to the quieter moments in Breath of the Wild. Because of that, I chose not to place enemies early on. The player can move around freely, get their bearings, and discover items at their own pace. You can only really “lose” if you decide to approach the boss area, which makes that moment a deliberate choice.
Milestone 2: map tiles and spritesheet
The map took several iterations to get right. I spent time adjusting paths, sightlines, and small hidden spaces so that the environment naturally led players forward without instructions. For example, the parts of the map that lead towards the final battle use cherry blossom petals that contrast the regular greenish-blue grass. This color shift draws the player’s attention as well as suggest a movement towards a more significant part of the map. I also had to be careful with sprite dimensions and memory placement to make sure everything displayed correctly on GBA hardware.
Milestone 2: finalization of maps
I introduced audio toward the end of my development to help define atmosphere and reinforce player feedback. The opening area uses calm ambient music to support a sense of exploration, while short melodic cues highlight item collection and interaction moments. Character sounds and light chimes add personality to small discoveries, and a more tense track plays during the boss encounter to signal the shift in stakes.
Once the audio was in place, I made small timing adjustments to sprite animations and interaction events—such as increasing the player’s frame rate and speed—so that movement, sound, and visual response felt cohesive.
Milestone 3: fully implemented game
Throughout the game, I wanted the experience to feel familiar to fans of Breath of the Wild while still being its own small world. I recreated certain armor sets and environmental motifs in pixel art, and shaped the map so that exploration feels calm and self-directed.
To guide players without instructions, I added subtle trails and visual hints in the landscape—small shifts in color, texture, and tile placement that gently suggest where to go next. These cues let the environment “show” the player how to move through it rather than telling them outright.
I also used small interaction indicators, like an exclamation mark that appears when the player is near an item or hidden object. These signals helped players notice points of interaction and discover a secret mechanic I had hidden in the map.