Skip to content
Ercan Labs
← All workGAME · PRIVATE · prototype

Foundry Tactics

A turn-based tactics prototype set in an abandoned factory where robots fight over the assembly line.

95
Files
11
Tests
tactical grid
Scenes
prototype
Status

How this was measured: File and test counts from the repository tree; no performance claim is made for a prototype.

Architecture11 tests
  1. INPUT
    • oyuncu
    • yapay zekâ
  2. QUEUE
    • inisiyatif kuyruğusıralı liste
  3. MAP
    • ızgara
    • siperhücre durumu
  4. DATA
    • birim tablosu
    • yetenek tablosu
Cover sits on the map cell, not on the unit. Destruction changes the map for everyone.

Problem

A tactics game is a grid, a turn order and a damage model; everything else is presentation. The prototype question was narrower: does a small factory map with destructible cover produce interesting decisions in ten turns?

I built it to answer that, not to ship it.

Constraints

  • Runs in a browser with no engine: the grid, the turn queue and the AI are written directly.
  • Each unit needs a readable silhouette on a dark floor; no texture budget.
  • Content is data: units, weapons and cover are rows, not classes.

Architecture decisions

01

Turn order is an explicit queue

Initiative is a sorted list that is recomputed only when it should be, so the player can always read who acts next. Hiding this behind timers made the prototype unreadable in playtests.

Cost: Less fluid than real-time, and that is the point.

02

Cover as a state on the tile

Cover is a property of the map cell, not a per-unit buff, so destruction changes the map for everyone. This made the factory layout the real design surface.

Cost: Every ability has to query the map; the AI needs path awareness.

03

Data-driven units

Units, weapons and abilities live in data files; a new enemy is a row and a sprite, not a new class.

Cost: A runtime validator is needed to catch a typo before the game crashes.

Proof

  • Files95
  • Tests11
  • Scopesingle factory map
  • Statusprototype, not shipped

Known limits

  • No playtest data beyond my own sessions; no claim about fun.
  • Art is placeholder; the silhouette work is the only presentation decision evaluated.
  • Not balanced, not localised, not released.

What I learned

A prototype earns its keep by answering one question. Mine was whether cover changes decisions; the answer was yes only after the cover became part of the map, and that cost two rewrites of the ability system.

Stack

JavaScriptCanvasTurn-based engine