← AI lab

Concept. Not built; this page describes a proposed design.

What it would do

  • Run a few simple arcade-style games (for example Pong or a maze game) on a cabinet or in a browser.
  • Let a visitor play against a reinforcement learning agent, or watch two agents play.
  • Retrain the agents between sessions on recorded games.
  • Show a leaderboard of human and agent scores.
  • Show, after each match, what the agent was paying attention to.

How it would work

  1. The game runs at a fixed frame rate. Human and agent inputs go through the same input path, so neither gets a timing advantage.
  2. During play the agent only runs inference. It does not learn mid-match.
  3. Each match is logged: frames, inputs, scores.
  4. Between sessions, the agent is trained further (for example with PPO) on new self-play games.
  5. A new version replaces the old one only if it scores better on a fixed set of test games.

Parts

PartRoleCandidate tools
GameRules, rendering, inputBrowser canvas or a small game engine
AgentPick an action each frameSmall neural network policy
TrainingSelf-play and updatesStable-Baselines3 or RLlib on one GPU
Match logStore games for training and replaysFiles or a small database
LeaderboardShow scoresStatic page plus a small API
Match summaryShow agent attention and rewardsSaliency maps, reward-over-time chart

Data it would need

  • Game environments with a clear reward (score, win or loss).
  • Self-play games for training. Human games are optional extra data.
  • A fixed set of test games to compare agent versions.

Risks and open questions

  • Agents often find bugs in the game and exploit them. Each game needs checks for this.
  • An agent that always wins is not fun. Difficulty may need to be capped or matched to the player.
  • Attention maps look convincing but can be misleading about why the agent acted.
  • A public leaderboard needs name filtering and a way to remove entries.
  • Accessibility: slower game speeds and remappable controls for human players.