Inspiration-

We wanted to make something that actually felt different from the usual hackathon project. Instead of making another website, we decided to make a real Game Boy Advance game based around SteelHacks and Pittsburgh. The game is about trying to assemble a hackathon team while everything keeps going wrong. Your teammates are sleeping, at the gym, or straight up talking about skipping the hackathon.

The whole game is meant to feel like an old GBA game, but the locations and characters are based on stuff around Pitt and people we know. You start in Nordenberg, go through a Pittsburgh-inspired map, find your teammates, work out at the gym, and eventually end up on top of Cathy for the final boss scene.

What it does-

Fernvale is a playable GBA ROM, not just a game that looks like one. You can open the .gba file in an emulator and play it with normal Game Boy Advance controls.

The game includes:

  • A full scrolling Pittsburgh-style map with buildings, water, bridges, trees, collision, and interiors
  • A starting dorm room based on Nordenberg
  • A red house with a full Jibb cutscene and a mission to get him an energy drink
  • A gym with Nick, a bench press minigame, and custom character sprites
  • An Abheek boss scene on top of Cathy with dialogue, screen shake, flashes, and a fight animation
  • An opening driving scene where the player heads toward Pittsburgh
  • Small interactive stuff around the map, like a couple sitting on a bench where you can press A and get a heart chat bubble

How we built it-

We made the game in C for the actual Game Boy Advance hardware. We built the map, movement system, camera, collision, dialogue, transitions, cutscenes, interiors, and minigames ourselves.

The artwork was converted into the format the GBA needs, including limited color palettes and the right pixel data. We also had to make all of the collision data for the map so the player could walk through paths and bridges but not through water, buildings, trees, cliffs, or random parts of the map that should be blocked.

We used Python tools to convert the art and build assets, then compiled the game into a .gba ROM. We tested it in a GBA emulator to make sure the cutscenes, doors, collisions, gym minigame, and boss transition actually worked.

Challenges we ran into-

The biggest challenge was getting everything to work like a real GBA game instead of a normal computer game. The GBA has limited memory, limited colors, and very specific rules for graphics. Stuff that seems easy, like adding another sprite or a fading chat bubble, can cause weird glitches if it uses the wrong memory or palette.

Collision was also a big issue. It is easy to make a map look right, but it takes way more work to make every area actually feel right to walk through. We had to keep testing places where the player got stuck or could walk where they were not supposed to.

Another challenge was making the sprites look good at the same scale as the map. We had to keep simplifying and adjusting sprites so they did not look too detailed, blurry, or messed up next to the pixel art world.

Built With

Share this project:

Updates