Skip to content
J5 Games & TechOur own productGames · in-house product2026j5-2026.itch.io ↗

Building a shippable game in one hour, on 1982 hardware

The problem

J5 is our own label, publishing for the Commodore 64 — 64 KB of RAM, no debugger, no test framework, no error messages. A bug that only shows on level 14 is found by a human playing to level 14, and an unsolvable generated level is found by a customer. At one title a month that is merely painful. At a weekly one-hour jam deadline it is impossible.

The insight

If you cannot debug it, prove it before it ships

The instinct on a constrained platform is to test by playing. It does not scale, and it never catches the case you did not think to try. So the emulator became the test harness: a script drives a real C64 frame by frame, patches the input read directly rather than faking a joystick, and asserts against live memory. Level generators were rewritten so they cannot emit a level without first proving it solvable — an unshippable level stops being a bug you hope to catch and becomes a state the generator cannot reach. Once verification is automatic the constraint moves off correctness and onto design, which is the only reason a one-hour build is survivable at all.

What we built

  • Headless harnesses that drive a real emulator frame by frame, patch the input read directly, and assert against live memory rather than screenshots
  • Level generators that prove solvability before emitting a level, making an unshippable level unreachable rather than merely unlikely
  • Physics and behaviour contracts expressed as executable test suites, run against the emulator instead of a model of it
  • Regression runs that replay full playthroughs after every change, catching the bug a human would only hit on a lucky run
  • A reusable engine and asset toolchain, so a jam entry starts from a proven base instead of a blank file
  • A repeatable release pipeline: compression, disk-image assembly, store pages, and trailer production

Have something with a domain problem underneath it?

Those are the ones worth talking about. Describe it and you will get a straight answer about what it would take.

Start a conversation