Skip to content

Interface team ​

Use this team for the screens the player sees: menus, windows, the HUD, dialogs. It lists every screen, captures each state, rebuilds the screens and compares them with the captures.

Steps ​

OrderAgentBriefHands on
1re-cataloguer"Make the screen inventory"One row per screen: how to reach it, its code or layout, states, inputs, text, font; captures in derived/
2re-decoder (data-driven interfaces)"Decode the layout format"The layout format and a reader
3re-tracer"Trace <screen>'s drawing and input"The screen's code: what it draws, what it reads, what commands it sends
4re-porter"Port <screens>"The screens in the port, reading the game's state and sending commands
5re-verifier"Compare <screens> with the captures"Pictures compared pixel for pixel (or with a threshold for streamed captures); the same commands
6re-lander"Land <screens>"A commit

Outcome ​

  • An inventory of every screen, so none is missed.
  • Ported screens that match the captured pictures and send the same commands.
  • Interface code kept apart from the game's rules, so tests can drive the rules without it.

Choices for the main session ​

  • Decide with the user how exact the interface must be (Who drives), before re-porter starts.
  • For a large interface, run steps 3 to 5 once per screen or group of screens.

Code: Apache 2.0. Content: CC0 1.0. No game material: bring your own copy.