Jeffrey M. Barber

Tombstone

Goat: The Battlestar Server

2019 · age 37

What it was

The Node.js game master at the heart of Goat: a small state-machine library plus the rules of the Battlestar Galactica board game written as commands. The library loads a JSON state file, runs the game as a series of steps, and saves the entire state after every one, so a crashed server restarts exactly where it was, kept alive by a two-line restart loop. Each rule is an async function that pushes state to a player's tablet, awaits their tap, and continues, so a multi-player turn reads as plain straight-line code. Tablets found the laptop by listening for a UDP beacon every 200 milliseconds. The rules that exist cover setup, roles, skill checks, some crises and the line of succession. The rest were thirty-two TODOs, and the server's first line required a module that was never saved, so it could not start.

Wins, for the age

What it taught

Genealogy

Ancestors: none on record beyond its umbrella. The first game master this primate wrote. Descendants: BSG Prototype: rules as awaited commands, finished on a new runtime. Part of: Goat.

Epitaph

Here lies the Battlestar server. The beacon was broadcasting, the tablets were listening, and the module that held the game was never saved.