acidstates

// studio

We own the whole machine.

We’re not a studio that paints skins over someone else’s math. The platform is ours end to end — server, client, runner, tools. Each game is its own repository on one shared engine.

The acid//states engine: chambers of glowing fluid, a central valve core, an engineer sealing a joint

// how it’s built

Four parts, named plainly.

  • server

    Game Server

    Math, RNG and the round state machine — the part that owes the player money.

  • client

    Game Client

    Rendering on PixiJS — mobile-first, fast, and nothing but pixels.

  • runner

    Game Runner

    Loading, transport, session. It never touches rendering — separation on purpose.

  • simbot

    Simbot

    Offline RTP and dispersion — 2,000,000 rounds per math version, before it ships.

module = deploy unit  ·  repository = game  ·  merge to main = deploy

// what it gives

Verifiable, not aspirational.

  • The pay path is sealed in tests. Change the math without re-sealing the pledge and the build fails — on purpose.
  • A round is reproducible from its log. A dispute is settled by replay, not by argument.
  • RTP corridors are checked in CI on every change — drift can’t sneak into a build.
A test bench of monitors showing round logs, RTP curves and waveforms

// how we build

A game is a machine of states — and the states are made by hand. A cascade stops not “when there’s no win” but when there’s nothing left to take off the board.

Decisions like that don’t come out of a template. That’s the difference between a reskin and a machine — and it’s why we build every state by hand.

// the bench

Want a seat at the bench?

Careers land here soon. Until then, tell us what you build and why the states matter to you.

Talk to us ↗