← Projects

React · TypeScript · HTML5 Canvas · TanStack Start · Game Dev

Trigger Warning TD

A 2D tower defense about staying clean: defend The Self from cravings, triggers, shame and doom spirals rolling down the Dopamine Highway, using coping tools built from a rehab arts-and-crafts room. Thirty days, one day at a time.

▶ Playable · Trigger Warning TDFullscreen ↗

Share preview

Trigger Warning TD social share image

About

Trigger Warning TD is a 2D tower defense game about early recovery, built from the limited supplies of a rehabilitation center's arts and crafts room. Intrusive thoughts — cravings, triggers, shame, doom spirals and worse — come rolling down the Dopamine Highway toward The Self. Your job is to keep them from landing.

You play thirty days. Day 30 isn't a finish line — it's where recovery starts getting real. Recovery is one day, repeated.

How It Plays

  • Integrity is your health. The Self starts each run with a fixed pool of hearts; every thought that reaches you chips away at it.
  • Commissary funds are your economy — canteen money you spend on placing and upgrading coping tools.
  • The Coping Toolkit is a pegboard of placeable tools. The Therapist opens things up with slow, heavy hits that reframe incoming thoughts and slow them down; more tools unlock as the days progress.
  • The Ability Deck gives The Self hand-played cards with cast times and aiming — Deep Breath slows every enemy on the field, and the deck grows as you go.
  • Combo streaks reward clean, uninterrupted defense.
  • The Binder tracks your collection and progress across the thirty days, and each day opens with a real recovery tip tied to that stage of treatment.

Design Intent

Every mechanic is a recovery concept wearing game clothes. Tools are supports, not weapons. Nothing eliminates feeling — you build a network sturdy enough to hold when the waves come. The whole visual identity is kraft cardboard, construction paper, popsicle sticks, bottle caps, buttons and yarn: flat, handmade, intentionally imperfect.

Stack

  • React
  • TypeScript
  • HTML5 Canvas
  • TanStack Start
  • Custom game loop, wave scheduler and entity systems

Play

The game is playable inline above. Click Fullscreen ↗ to open it in a dedicated tab for the best experience.