# Testing games 1. Games are dlls. Use a standalone test project to test a game. 2. Create baseline game snapshots in textual format. Save to files. 3. Create baseline logs via the r3 observable api. Save to files. 4. Read the snapshot/logs manually to identify issues. 5. Make sure serialization roundtrip works. ## Play tests Playtests are games executed with AI players who give unexpected play commands. AI players are not LLMs here; they are typically common game AI implementations. Create static functions that analyze the game state and return a command. Each such function is an agent. Each AI player routes its decisions to a random agent in a pool of weighted agents. Agents to consider: - Random: evenly chooses every move randomly. - Greedy: uses a specific way to score actions. Always chooses the onewith highest score. There can be multiple Greedy agents wtih different scoring.