Skip to content
Jon Thysell edited this page Jul 26, 2022 · 19 revisions

Mzinga is an open-source software project to play the board game Hive, with the primary goal of building a community of developers who create Hive-playing AIs.

With that in mind, it is modeled after the community which builds chess AIs. Typically, a developer wanting to build a chess AI wants to focus on creating and improving their AI, not necessarily building a UI to draw and update the board and pieces on screen, handle input from human players, etc.

Instead of creating all-in-one chess programs, chess software is often divided into two types: chess engines (which contain the logic to create games, play moves, and use an AI to search for the best move), and chess viewers (which draw the board on-screen, handling input from human players, and talking to the engines). The two pieces of software use standard protocols like the Universal Chess Interface to communicate with one another.

That way, if you want to build a chess AI, you can simply build an engine that supports the Universal Chess Interface and use an existing viewer to actually play games against it. The key is that open communication protocol.

Emulating that, Mzinga also proposes dividing Hive software into engines and viewers, with the Universal Hive Protocol (UHP) for communication. Setting the stage, Mzinga provides two reference programs:

  • MzingaEngine: a UHP-compatible game engine for Windows, MacOS, and Linux
  • MzingaViewer: a UHP-compatible game viewer for Windows, MacOS, and Linux

Check out the links on the sidebar for more information.