← All projects

Case file 002 · Game jam

TWO MOONS

Narrative Card Battler

A six-person narrative card battler built and shipped in 72 hours. I led programming and established the production structure early enough for design, writing, art, and code to move in parallel.

✓ Shipped · 1st placeLead programmer72 hours · 6 people
Two Moons narrative card battler gameplay
two moons — built under a 72-hour clock
Scroll to open the file ↓
My roleLead Programmer
Team6 People
Timeline72 Hours
Outcome1st Place

01 · The constraint

Ship a content-heavy game before the clock wins.

A narrative card battler asks for a large amount of interconnected content: cards, effects, art, narrative flags, scenes, and UI. With six people working at once, the technical risk was not only unfinished features—it was blocking each other.

I treated the first hours as a production problem. The goal was to lock clear boundaries early, then let every discipline build independently.

In a jam, architecture is valuable when it removes waiting.

02 · My contribution

Programming that protected the schedule.

Card architecture

Made every card a ScriptableObject containing its stats, effects, art, and narrative flags, allowing the content team to create more than 40 cards.

Narrative state

Connected card play and progression to explicit flags so story consequences could be authored without hard-coded branches.

Parallel workflow

Established scene and prefab boundaries in the opening hours so six contributors could work without merge conflicts.

03 · The work

Three decisions that made shipping possible.

Data-driven cards

New content became an asset-creation task instead of a programming task. That moved the largest volume of work off the critical engineering path.

Stable ownership

Scenes and prefabs were divided deliberately so contributors were not editing the same high-conflict files throughout the sprint.

Scope discipline

The architecture supported the chosen loop and narrative needs directly. Under a 72-hour deadline, extensibility only mattered where the team was actively producing content.

04 · Shipped build

From cards to story.

05 · Outcome

A complete game—and first place.

The team shipped a polished WebGL game, created 40+ cards without programmer involvement, and completed the full sprint without a merge conflict. TWO MOONS placed first in the Story Mode Game Jam.

UnityC#ScriptableObjectsNarrative SystemsWebGLRapid Prototyping