Inspiration

We got heavily inspired by Guild Wars 1 and previously built gw1builds.com, a site for putting together and sharing GW1 team builds. The part of that game we keep coming back to is the planning: you pick your party, set up each hero's skills, and then see if the plan you cooked up is actually solid. We wanted to make something small that captured that feeling, while creating a new kind of auto-battler.

The other thing we like is a good daily challenge, the kind where everyone competes within the same constraints and discusses the meta and strategies. Reddit seemed like a natural fit for that. So we tried to make a tactics game where you set your team up and watch it play out, no fast reactions required, and where there's a new one to try each day. We added "Gambits", inspired by FFXII, where you basically set up a "hook" that triggers certain skills.

That's Gambit Arena: a small, Guild Wars 1-inspired auto-battler for Reddit.

What it does

Gambit Arena is a cozy roguelite auto-battler you play right inside Reddit.

  • Build a team. Assemble a squad of pixel-art heroes (Warrior, Priest, Ranger, and more you unlock) with their own roles and skills.
  • Set their behavior. Instead of controlling heroes in the fight, you give each one simple gambit rules, WHEN <condition> → DO <skill> (e.g. "When an ally is hurt → Heal"). You arrange them by priority, like little interlocking puzzle pieces.
  • Sit back and watch. Send your squad into a dungeon and the fight resolves automatically from the rules you wrote. Enemies run gambits too, so it's your plan against theirs.
  • A new dungeon every day. Everyone plays the same daily dungeon. Clear it, compare times, and come back tomorrow for a fresh one. Endless and random runs keep the loop going between dailies.
  • Compete in the Random Arena. Every player's squad gets stored and you can compete against them, asynchronous. Win 20 battles to complete the run, get defeated and you're out.
  • Climb to the Hall of Heroes. The ultimate tournament to crown a daily champion, who gets a callout in the post. It's a chance to flex, and a target for everyone else to beat. Topping the board completes your run and is the start of a little rivalry.
  • Grow over time. Earn gold, open chests, and unlock new skills and gambit conditions so your plans get richer the more you play.

It's a friendly, low-pressure tactics game with a reason to check back every day: that "my plan worked" moment, a fresh puzzle each morning, and a leaderboard worth chasing, all in bite-sized sessions.

How we built it

  • Platform: Built on Reddit's Devvit web platform, so the whole game runs inside a Reddit post webview with nothing to install.
  • Client: React for UI and Zustand for state. The 2D battles run in Phaser, and the world map is a hybrid Phaser + Three.js scene: Phaser for the interactive 2D layer, Three.js for depth and HD-2D flourishes. Getting the two engines to share one view was one of the most exciting (and fiddly) parts of the build.
  • Backend: A lightweight Hono server on Devvit, with Redis for daily seeds, leaderboards, and player data.
  • Deterministic simulation: The combat sim is a fixed-timestep, seeded, deterministic engine. Everyone gets the exact same run from a seed, and any fight can be replayed from it. That's what makes shared daily dungeons, fair leaderboards, and replays possible.
  • Content pipeline: Data-driven skills, gambit conditions, keywords, and biomes, plus tooling to author dungeons and maps and sync design data.

Challenges we ran into

  • Making "you don't control your heroes" feel good, not passive. The gambit system is the heart of the game, so the editor had to be simple and legible. We landed on puzzle-piece WHEN → DO rules that read at a glance.
  • Two engines, one world map. Blending Phaser and Three.js into a single cohesive map (shared camera, draw order, input) took real care, but it let us get the look we wanted without giving up Phaser's 2D strengths.
  • Determinism everywhere. A shared daily dungeon, fair leaderboards, and replays mean the sim has to produce identical results from the same seed across devices. No hidden randomness, careful fixed-timestep handling.
  • Performance in a mobile webview. Running Phaser and the 3D layer smoothly inside Reddit's webview on phones took real work: culling, draw-order optimization, and plenty of profiling.
  • Balancing depth and coziness. We wanted real tactical decisions without an intimidating wall of options, so progression introduces new conditions and skills gradually instead of dumping them all at once.

Accomplishments that we're proud of

  • A gambit editor that's genuinely fun to tinker with. Reorder one rule and a whole fight plays out differently.
  • A hybrid Phaser + Three.js world map that gives the game depth and identity while keeping battles crisp and readable in 2D.
  • A deterministic combat sim solid enough to power shared daily dungeons, fair leaderboards, and replayable battles.
  • A Hall of Heroes loop that turns a daily clear into bragging rights and a friendly rivalry. Champions get called out, challengers show up.
  • A cozy, cohesive look: pixel-art heroes, themed biomes, and a clean UI that fits neatly in the post.
  • Getting the whole thing running smoothly inside a Reddit webview on mobile.
  • A complete content and tooling pipeline (skills, gambits, dungeons, maps) that let us iterate quickly.

What we learned

  • Design for the platform. Building for Reddit pushed us toward shared, daily, social-by-default experiences, and the game is better for it.
  • Constraints breed clarity. "You set behavior, not actions" sounds limiting, but it made combat readable and turned planning into the fun part.
  • Determinism paid off far beyond correctness. Once the sim was deterministic, daily runs, replays, and fair leaderboards all fell into place.
  • A leaderboard is a story, not a number. Giving the daily champion a callout did more for engagement than any stat screen. People come back to defend or dethrone.
  • Show, don't tell. Whether in the tutorial or the trailer, demonstrating one rule firing beats explaining the whole system.
  • Plenty about auto-battler balance, status and keyword systems, and mobile webview performance along the way.

What's next for Gambit Arena

  • Share your build. Post your gambit lineup straight to the comments so others can copy, critique, and remix it, and let the theorycrafting spill into the thread.
  • More heroes, skills, and gambit conditions for deeper, more expressive plans.
  • Richer daily dungeons plus seasonal and limited-time events to keep the ritual fresh.
  • More polish and quality-of-life: smarter onboarding, better feedback, and continued performance work.

Built With

  • devvit
  • react
  • phaser.js
  • three.js
  • zustand
  • hono
  • redis

Try it out

Share this project:

Updates

Submission history