docs play ▸

typepper's docs

Playing typepper, and how it's built.

For players

DocRead it for
play/install.mdthe browser, the installers, typepper upgrade
play/modes.mdthe six modes, levels, heat and ranks, what counts as a best
play/keys.mdevery key, the settings, playing on a phone, flags
online/share.mdsharing a round as a link
online/link.mdlinking your ssh key to your GitHub login
online/boards.mdthe leaderboards, in the game and over HTTP

How it's built

Beyond what the code says. Start with architecture; the rest goes deeper on one part each.

DocRead it for
architecture.mdthe whole system: principles, components, hosts, crates, how a round travels, what's trusted
engine.mdthe rules crate and why a round plays back the same everywhere: Round, Mode, the fixed timestep, the rng, VERSION
replays.mdthe replay format byte by byte, decoding rules, watching and sharing replays
protocol.mdwhat the game and the server say to each other, over SSH and HTTP
server.mdtypepper-server: modules, database, ids, accounts and linking, boards, the sweep, configuration
game-client.mdthe game's online side: transports, the outbox, sharing, the boards screen, local files, flags
operations.mdRailway, deploys, secrets, CI, pinned tools, local development, the runbook
decisions.mdwhy things are the way they are
roadmap.mdwhat's open

To work on typepper, see CONTRIBUTING.md.

Where online.md went

These docs replace docs/online.md, the plan the online features were built from. The migrations, which can't change once applied, still name its sections:

online.md sectionNow in
Premise, Architecture, Repository layoutarchitecture.md
Engine contractengine.md
Protocol: Replay bytesreplays.md
Protocol: Submission, Commands, Responses, Server limitsprotocol.md
Identity, Database, Boards, Sweepserver.md
Game clientgame-client.md
Deploysoperations.md
Phases, Open, Risksroadmap.md, decisions.md