SHONEN SHOWDOWN
A multiplayer first-person Trading Card Game prototype — players physically hold cards, declare attacks, and watch monsters spawn as 3D holograms on the board. Built in Unity 6 with Photon Fusion 2 networking.
At a glance
My Role
Lead developer responsible for battle rules, turn flow, networking, and card-data architecture
Team
Three-person student team with separate ownership of scenes and systems
Stack
Unity 6, C#, Photon Fusion 2, ScriptableObjects, and shared-mode networking
Technical Challenge
Keep turn phases, card effects, summons, attacks, and player-visible state synchronized across the network
How It Works And What I Owned
Shonen Showdown presents a networked card battle from first person. Players hold cards, declare attacks, and see summoned monsters appear as 3D holograms on the board. Social lobbies also support proximity voice chat.
3-person team with strict scene sovereignty and Git discipline. I own the core battle logic: turn management, the chain stack, summoning rules, damage calculation, Photon Fusion 2 networking, and the ScriptableObject data architecture the whole team builds on.
Rules Engine & Turn System
- 6-Phase Turn Structure:TurnManager enforces Draw → Standby → Main Phase 1 → Battle → Main Phase 2 → End Phase, with state-machine transitions and UI feedback at each step.
- Summoning Rules:Level 1–4: Normal Summon (free). Level 5–6: Tribute 1 monster. Level 7+: Tribute 2. Successful summons trigger 3D model instantiation — the card stays flat, the avatar stands above it.
- The Stack (Chain System):LIFO priority resolution — Attack → Trap → Quick-Spell resolves in reverse order. Max 3 conditional effects per card enforced at the data layer.
Data Architecture
I designed the CardData ScriptableObject schema — ID, name, frame type, rarity, attribute, level, ATK/DEF, keyword references, and full effect text. The battle engine queries the SO directly; the team populates new cards by following the template.
Keywords like Piercing and SpecialSummon live as separate assets, so balance changes propagate instantly across every card that references them — no merge conflicts, no script edits required.
Game Modes
Classic TCG rules. 8,000 LP. Players sit across the table.
16,000 shared LP. Alternating turns. Voice chat open to all.
Asymmetrical. 1 Boss player (double LP + bonus cards) vs. 2 challengers.
4-player free-for-all. Last player with LP wins.
Team & Responsibilities
Georgi
Lead Developer
- — GameScene.unity — core battle logic
- — MainMenu.unity — lobby & UI (current)
- — Photon Fusion 2 networking
- — Turn/Phase state machine
- — CardData SO schema & keyword architecture
- — VR interaction handling
Ricardo
Art Lead (in production)
- — Custom 3D monster models & animations
- — Environment design (Share House)
- — Card illustration import
- — UI/UX polish & menus
Sam
Data & Audio
- — CardData entry
- — Keyword asset population
- — Game balance & stats
- — SFX/BGM selection & QA
Tech Stack
- — Unity 6 (URP) — primary engine
- — Photon Fusion 2 (Shared Mode) — real-time networking
- — Photon Voice — proximity voice chat
- — C# — all gameplay and networking scripts
- — ScriptableObjects — card data, keyword assets, game settings
- — TextMesh Pro — UI text rendering
- — GitHub (private) — version control with scene sovereignty
Systems Built
- — Full 6-phase turn state machine
- — LIFO chain/stack resolution system
- — Level-based tribute summoning rules
- — ATK/DEF damage calculation with LP tracking
- — Drag-to-target attack declaration UI
- — Cinematic "Showdown Phase" for boss monster clashes
- — ScriptableObject card registry with keyword references
Live Card Database
The card roster is managed in a shared Google Sheet maintained by the team's Data Lead. Each row maps a card's Card ID to its Unity Prefab Name, Frame type, Rarity, Attribute, Level, ATK/DEF, Keywords, and full Effect text. A custom Anime Race column sits alongside Standard Race — so a card can be both a Spellcaster (game rule) and an Arrancar (lore). Card art thumbnails are embedded directly in the sheet for fast visual review.