What I owned
- Product direction and staged priorities
- System and Agent ownership boundaries
- Review of multiplayer, battle, cards, identity, map and interface results
- Playable-flow acceptance and correction decisions
FightGame · End-to-End Product
Upload a reference image, generate a pixel avatar and play as that same character in a shared multiplayer world and skill-card battles.

Playable personalization loop
Select a capture to open the original image.
Six product captures show the complete path: request a custom skin, let the asynchronous generation job finish, then carry the approved avatar into the shared world and battle.






One identity, three contexts. The generated skin is not a detached demo output; it becomes the active avatar used by profile, overworld and battle views.
The difficult part was not producing another game screen. The same player identity had to survive the profile, overworld, remote-player and battle contexts. Two online players also needed to submit different actions but receive one shared, authoritative round result.
I translated the broad game direction into staged systems, set module boundaries and acceptance priorities, coordinated persistent Agent ownership, and reviewed the actual playable flows as the product grew.
Each player submits a command; the server owns the authoritative round result instead of trusting either client.
Profile, overworld, remote-player and battle views use the same player identity rather than disconnected representations.
A code-verified 79-card catalogue supports limits, elements, counters, statuses and combo setup/payoff while preserving an explainable core loop.
Product delivery map
The difficult work sits between the brief and the build: defining what “playable” means, dividing persistent ownership, integrating the parts and sending failures back through the loop.
01 · IdentityProfile & loadout
02 · PresenceShared world
03 · ResolutionOnline battle
↶UAT feedback loop Integration failures return to the responsible workstream until the full flow—not an isolated screen—passes acceptance.
Player actions are treated as submitted intentions. The server waits for the required inputs, validates and stores them, resolves the rules and persists the round. Both clients then render the same result.
Hands-on acceptance
I personally tested the complete flows. When an Agent-delivered feature looked finished but failed inside the product, I turned the failure into a specific correction cycle.
When multiplayer results differed across devices, I recorded reproduction steps, expected and actual results, and screenshots. I routed the defect to the responsible Agent, then repeated cross-device regression after the correction before accepting the playable flow.
Mechanical breadth
The complete collection board shows all 79 cards at once: 40 Common, 30 Uncommon and nine Premium cards across Rare, Epic and Legendary tiers. Together they support deck limits, elements, counters, statuses and combo setup/payoff.
The core-playability milestone was completed.
A later phase covering tournaments, live streaming and operations was planned or partially scaffolded, but the client did not commission that expansion.
This case does not claim public launch, production readiness, revenue, user count or verified business impact. The selected captures use an ephemeral guest identity and contain no wallet address, credential, client material or transaction data.
Next case
Continue with Niulai Squad, a four-Agent system with a validated technical baseline and ongoing operations.