This project provides software for a local vttrpg / gaming setup, by managing multiple screens/clients/players/dm to help create a ttrpg experience using hardware, allowing a virtual table screen, scenery screens etc.
This project uses server driven UI, where the server written in Go, The screen (or client) side is using Pixi.js for the rendering of the screens. While connectRpc pins down the protocol between server and client. Each screen or client can connect and either login in as a viewer, device, player, or GM and either get their own screen rendered.
This allows the server and thus GM to control a TV screen on the table as battle map. Or TV or PC monitors to display scenery, maps or anything else. Intheory when also music and lightning is integrated, it will allow you to control the entire game room via browser.
For local development with Docker:
docker compose watch
This will build and start the application with automatic rebuilds on code changes. See Local development for more details.
Go server + SvelteKit/Pixi.js client, connected via ConnectRPC (gRPC) and WebSocket. See docs/architecture for a full breakdown of the server layers, client structure, and communication protocols.