Dodgem is a Python package for playing and analyzing the board game Dodgem. It provides:

  • A command-line interface to play games, build an offline MongoDB evaluation database by perfect analysis, and traverse the game tree
  • Perfect-opponent play on 3×3, 4×4, and 5×5 boards using the MongoDB database with a simple Tkinter GUI
  • A compact gzipped JSON file (a curated subset of the MongoDB database) that can be fully loaded into memory, eliminating the need for a large on-disk MongoDB instance
  • A Python API for programmatic use
  • An online Dodgem page that uses the JSON file

Dodgem GUI

Get started

Deep dives

Source code

  • GitHub
  • Created by sekika aka Katsutoshi Seki. MIT license.

Reference

  • Berlekamp, Elwyn R.; Conway, John Horton; Guy, Richard K. (2003), “Dodgem,” Winning Ways for your Mathematical Plays, vol. 3 (2nd ed.), A.K. Peters, pp. 749–750, ISBN 978-1-56881-143-7.
  • Discussion thread, rec.games.abstract (1996). David desJardins created win–loss tables for 4×4 and 5×5, concluding they are draws.
  • Wikipedia article