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.
Case file 002 · Game jam
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.

01 · The constraint
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
Made every card a ScriptableObject containing its stats, effects, art, and narrative flags, allowing the content team to create more than 40 cards.
Connected card play and progression to explicit flags so story consequences could be authored without hard-coded branches.
Established scene and prefab boundaries in the opening hours so six contributors could work without merge conflicts.
03 · The work
New content became an asset-creation task instead of a programming task. That moved the largest volume of work off the critical engineering path.
Scenes and prefabs were divided deliberately so contributors were not editing the same high-conflict files throughout the sprint.
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
05 · Outcome
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.