Project 02 · Unity · C#
Bunblade
A turn-based combat game with a twist: a real-time parry sits inside the turn system. Time the input window and you cancel the hit.
Playable build not added yet.
Needs a Unity WebGL build dropped in assets/game/.
Build steps are in BUILD-NOTES.md — then this box becomes the game.
Built in Unity 6.2 · source: github.com/jjkim08 link the exact repo
The hook
Turn-based combat usually means you pick a move and watch it resolve. Bunblade keeps the turn structure but drops a timed input window into the enemy’s attack — a state machine confirms whether you hit the parry, and the turn branches from there.
- Parry system — timed windows + confirmation states
- Shop & economy with JSON save / load
- Pattern-based enemy AI
- Spells — Ignia (fire), Glacia (ice)
Under the hood
| Architecture | Event-driven; systems communicate through events, not direct calls |
|---|---|
| Turn order | Custom binary heap scheduling combatants by speed / initiative |
| Combat data | ScriptableObjects for players, enemies, spells, elements |
| Persistence | Shop / economy state serialized to JSON |
| Enemies | Ghoul, Spirit — each with its own action pattern |
// heap.cs — turn scheduler public void Insert(Combatant c, int tick) { ... } public Combatant PopNext() { // lowest tick acts first; O(log n) }
Screens