oecs-sharp/docs/testing-games.md

901 B

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.