RFDGameStudio

One shared TypeScript engine behind every game in the arcade.

29
Games in the arcade
4
Arcade sections
3
Dev tools
TypeScript
Engine

The idea

Most game engines are built for one game. RFDGameStudio is a studio — a set of shared primitives that compounds across games rather than getting rewritten from scratch every time. Every mechanic that survives production in one game gets promoted to a primitive available to every game that comes after. Nothing is abstracted speculatively.

The engine

The engine is TypeScript-native. Per ADR-013, TypeScript is the studio default and Lua is retired as a mandatory layer — one runtime drives every game in the arcade, and the logic is never duplicated.

  • ts/src/games/ — each game’s logic and rendering, TypeScript end to end
  • ts/src/engine/shared/ — primitives promoted only after a mechanic survives a shipped game

How it’s built

Every feature starts as a directive:

  1. Scope defined — files listed, read-only files named explicitly
  2. Test anchors written — behavior specified before implementation
  3. Agent implements
  4. Floor verified — raw pytest/vitest output only, never agent summaries
  5. Phase certified — floor locked, next phase begins

No phase advances without a passing floor. No exceptions.

The MCP server

The studio runs an MCP server, so games can be loaded, inspected and tested live while they run. The studio is designed to be interrogated, not just played.


GitHub: RFDGameStudio

More from the studio

Studio tools