But I learned TypeScript and wrote a fun little declarative syntax in YAML that maps to types and lets you write the game logic as a simple hierarchy of mathy thingamajigs evaluated on tick.