I have a few ideas. I never really thought of it as a token system before, but yeah this reminds me of games like Slay the Spire or Darkest Dungeon. Thinking outside of that though, what if tokens themselves got a little weird? Like:
-
a heavy token that hurts you if you don’t spend it,
-
fusing two tokens together into a one-off move,
-
the environment spitting out special tokens (lava = fire token, swamp = sticky token),
-
or even tokens that “evolve” the more you use them.
Stuff like that might keep the combat fresh without piling on too many rules.
So with generic tokens right now:
-
Spend 1 token → choose Kick or Slash → deal normal damage.
With special tokens:
-
Spend 1 Fire token → Kick or Slash → applies fire effect (extra burn damage).
-
Spend 1 Heavy token → Kick or Slash → stronger hit, but maybe costs stamina/HP.
-
Spend 1 Sticky token → Kick or Slash → move goes through, but the token lingers into next turn, eating a slot in your hand.
It’s like you’re “socketing” the token into the move. The move stays the same (Kick/Slash), but the token modifies it. That keeps the system familiar but suddenly you’ve got variety without adding more buttons.
I did some quick brainstorming with my AI tools and came up with a few lightweight ways you could wire this up in Unity without a big refactor:
-
Token data as ScriptableObjects: one
TokenTypeSO (name, cost, icon, tags like Heavy/Fire/Sticky, simple effects). RuntimeTokenjust points to that SO and tracksuses/level. -
Hand/turn loop: a
HandManagerthat holds the hand +tokensThisTurn, with tiny end-turn checks (no systems rewrite). -
Heavy tokens: if a Heavy token isn’t spent by end of turn, apply a small penalty or make it cost +1 next turn. Super simple flag check.
-
Fusion: keep a tiny recipe table (e.g., Kick + Defend → Counter). If the player selects a valid pair, remove both, add the fused one-shot token.
-
Environment tokens: a little
EnvironmentZonecomponent that, on turn start, rolls a chance to add a special token (lava → Fire, swamp → Sticky) or occasionally “eat” one. -
Evolution: when a token is played, increment
uses; at thresholds swap itsTokenTypeto an upgraded SO (e.g., Slash → Slash_Lv2 with a bit of bleed).
Basically: 1 SO type, 1 hand manager, a couple end-turn rules, and you’re off. Keeps it modular and easy to tweak in the Inspector.
What do you think?