The referee
Deterministic kernel
The same starting snapshot and ordered actions produce the same state on every healthy client. Seeded randomness, atomic actions, and canonical hashes make disagreement visible.
Open table / open rules
Digipology is a browser-native tabletop platform for building games, testing them with friends, and playing from an invitation—without an install.
One continuous campaign
The creator and player experience is one loop. Ideas become tested rules, published releases, hosted rooms, and invitations that open straight in the browser.
Principle 001
“A valid invite should be all a player needs.”
No native install. No renderer download. Just the table, in the browser.
A table built to agree
Digipology separates what the game is from how it looks and how players connect. The result is immediate interaction backed by reproducible rules.
The referee
The same starting snapshot and ordered actions produce the same state on every healthy client. Seeded randomness, atomic actions, and canonical hashes make disagreement visible.
The table
Babylon.js draws responsive pieces and motion, but never owns the rules. The browser can predict a gesture instantly while canonical play stays separate.
The room
A Cloudflare room sequences actions and broadcasts them. Clients run the rules; the server coordinates the table instead of becoming a second game engine.
Creator workspace / Lua v1
The desktop editor puts the table, hierarchy, component inspector, Lua IDE, diagnostics, and an in-tab playtest in one docked workspace. AI can draft a game or propose a reviewed edit when it is configured on the server.
function on_start(ctx)
state.turn = 1
refs.main_deck:shuffle()
for _, player in
ipairs(players:list()) do
if player.hand then
refs.main_deck:deal(player, 5)
end
end
end Same seed. Same order. Same deal.
Built in public
Digipology's foundations are public, focused packages. Use one piece, inspect the whole system, or help shape the platform in the open.
Specification, decisions, issues, and source live together.
Visit the GitHub repository