Eventually the plan here is to write a system for playing tabletop games online that's geared specifically towards the less-map-oriented, more-data-oriented games. (By which I mean: maps and other details should be _possible_ but it doesn't put you into a view where it assumes you're moving tokens around a map a la D&D, but instead should have a data-first UI where it shows you, like, character sheets and data organization.) Some ideas: - a deliberately-constrained, non-Turing-complete programming language for describing the outcomes of rolls - some easy-to-customize way of building game-specific UI details # Some Ideas ## Language - maybe s-expressions or io or some other simple substrate? (LOGO?) - some kind of table mechanism ``` ``` - notion of reactive widgets (clearly objects) ``` widget FourClock: progress: number(0 through 4) on Tick: progress := progress + 1 on Reset: progress := 0 on Set(k: number(0 through 4)): progress := k ``` # Initial Test Cases: ## Dogs in the Vineyard Need to be able to handle: - adding to dice pools - moving forward in dice pools - resetting after a conflict ## Blades in the Dark ## Danger Patrol