Frame 12A game 2024

Blue Boy Adventure

A top-down pixel RPG written in plain Java, engine and all

blue boy, overworld

The story

A 2D adventure game I wrote in plain Java to learn what game engines actually do for you, by doing all of it myself: the game loop, tile maps, collision, NPC dialogue, an inventory, and save/load. You explore a pixel world, fight orcs and a skeleton lord, and collect gear to level up.

What I learned

  1. 01Collision is the thing engines save you from. Doing tile collision by hand is where most of the time went and where most of the bugs lived.
  2. 02Save and load forces you to be honest about your state, because anything you cannot serialize was never really modeled.
  3. 03Writing the loop, the tile maps, the dialogue and the inventory myself is the only way I understood what an engine is actually doing for you.

Stack · as built

Frontend

  • Java
  • 2D Graphics
  • Tile Maps

Backend

  • Game Loop
  • Collision System
  • Save System

Infra

  • Desktop (macOS)

More prints

the overworld
combat

Want the full story behind this one?