Skip to content

Building Slot Siege as a Telemetry-Informed Multiplayer Game

As co-lead developer and telemetry/ML lead, I work across gameplay delivery, multiplayer reliability, performance, instrumentation, and balance tooling so iteration can be driven by evidence rather than intuition alone.

Co-Lead Developer / Telemetry & ML Lead · 2026-present · Godot 4, GDScript, Steam networking, telemetry, Python, Next.js, Supabase

The product problem is bigger than making a game

Slot Siege is a top-down action roguelike built around slot-machine outcomes, resource gathering, building, combat, and escalating night waves. I co-lead development as one of four developers, with specific ownership of telemetry and ML plus broad gameplay and integration work.

The game has to feel good moment to moment, but a small team also needs a repeatable way to learn which nights, enemies, systems, and difficulty settings are actually working. That changed the development problem. We were not only building gameplay. We were also building the feedback loop around the gameplay so playtests could produce structured evidence for the next product decision.

The runtime had to become dependable first

The current Godot architecture uses host-authoritative gameplay. The host owns durable world facts, while clients request actions through a network boundary and receive synchronized state. The game includes version checks, late-join snapshots, multiplayer spawning, shared world state, and regression coverage for synchronization failures.

Performance is treated as a product constraint rather than cleanup work. The project includes single- and multiplayer stress scenes, profiler capture, staged visual prewarming, and dedicated performance interpretation documentation. That matters because instrumentation is only useful if collecting it does not make the game feel worse.

Telemetry became part of the product architecture

The telemetry system records gameplay balance evidence, builds run and night summaries, and can upload completed bundles when the player has enabled telemetry. Authoritative gameplay facts are collected from the host path where possible, while local UI events can remain client-side.

The system intentionally excludes raw Steam IDs, display names, lobby codes, IP addresses, and chat text. Upload work is budgeted so it does not block gameplay, oversized event families are bounded or sampled, and local data is deleted only after the server confirms a successful commit.

Current summaries preserve evidence such as clear time, challenge mode, player feedback, enemy spawn and kill counts by level, and whether debug commands contaminated part of a run. That gives later analysis a way to distinguish useful playtest evidence from data that should be excluded.

Delivery loop

Turning playtests into structured product decisions

Slot Siege is being built as both a game and an operating system for learning from how the game actually performs.

  1. 1 · Play

    Authoritative gameplay

    Godot runtime, host-authoritative multiplayer, waves, economy, buildings, combat, and progression.

  2. 2 · Measure

    Privacy-conscious telemetry

    Run and night summaries, challenge context, player feedback, enemy-level outcomes, and bounded performance capture.

  3. 3 · Review

    Balance intelligence

    A separate dashboard plus an offline recommender turn playtest evidence into review-only balance recommendations.

  4. 4 · Change

    Human-approved iteration

    Recommendations stay outside the live game path until the team reviews and deliberately changes authored balance.

Evidence boundary

What is implemented versus what is still next

Implemented

  • Host-authoritative multiplayer and late-join state handling
  • Consent-aware telemetry with privacy and payload limits
  • Night, challenge, feedback, and enemy-level balance summaries
  • Performance capture and stress-test tooling
  • Offline review-only night balance recommender
  • Separate telemetry dashboard codebase

Not yet claimed

  • Public Steam store release is not claimed
  • Steam store assets, pricing, support, and release approval remain gated
  • ML-assisted balance changes remain a future extension beyond the current review-only recommender
  • More external playtest evidence is still needed before stronger outcome claims

Balance recommendations stay review-only

An offline night balance recommender consumes telemetry exports and the current authored balance state. It filters invalid evidence, accounts for challenge and player-count differences, lowers confidence when samples are mixed, and produces review artifacts rather than editing game resources automatically.

That boundary is deliberate. The goal is to make balancing faster and more evidence-driven without allowing an analysis tool to silently rewrite the live game. Future ML-assisted balancing can build on this pipeline, but it is not presented here as a shipped autonomous system.

The dashboard separates gameplay from analysis

A separate Slot Siege intelligence codebase contains a web application and API for telemetry analysis. It uses a modern TypeScript stack with Next.js, Supabase, tests, and deployment tooling. Keeping that surface separate lets the game remain focused on runtime performance while analysis can evolve as its own product surface.

The game creates the experience, telemetry records what happened, and the analysis layer helps the team decide what to change. The output is not "the model says so." It is evidence that can be reviewed alongside design intent and playtester feedback.

Release readiness is gated, not assumed

The repository contains a Steam release-evidence process that checks build identity, CI, multiplayer validation, exported artifacts, runtime staging, store readiness, cost review, rollback, and support. Importantly, that process explicitly does not create or publish a Steam store page and still requires founder approval before a first public production release.

This case study does not claim a public Steam release. The stronger story today is the delivery machinery being built before release: gameplay, multiplayer reliability, telemetry, performance evidence, balance analysis, and explicit release gates.

What this project demonstrates

  • Shipping across gameplay, multiplayer, performance, telemetry, and analytical tooling in one product.
  • Designing instrumentation around privacy and runtime constraints rather than adding analytics later.
  • Keeping automated recommendations reviewable and separated from direct production changes.
  • Using explicit evidence gates to separate release preparation from a public release claim.
  • Building a feedback loop that can support increasingly data-informed balancing over time.