#order #board-game #player #central #judge #adjudicator #adjudication

diplomacy

Adjudication library for the board game Diplomacy

2 releases

0.1.1 Dec 28, 2022
0.1.0 Jul 22, 2020

#3 in #judge

MIT license

155KB
3.5K SLoC

diplomacy

Build Status

This is a work in progress.

The diplomacy crate provides a DATC-compliant adjudicator for the game Diplomacy. In Diplomacy, players secretly submit orders to a central judge, and all orders are resolved simultaneously. Order outcomes depend on one another, making correct adjudication difficult to implement.

Goals

This project aims to make innovation in the Diplomacy user experience realm easier. It seeks to achieve that by:

  1. Providing a library that works in multiple environments, including server-side, in-browser, or in a native mobile app.
  2. Providing good feedback on why an order succeeded or failed

Non-Goals

This is not going to be a complete Diplomacy app. Any sort of persistence or UI is out of scope.

Optional Features

  • serde: Enable serialization and deserialization of many crate types.
  • dependency-graph: Add resolver tracing that generates GraphViz-compatible dependency visualizations for main phase resolution.

lib.rs:

An adjudicator for orders in the board game Diplomacy. This adjudicator will be fully compatible with the Diplomacy Adjudicator Test Cases.

Dependencies

~2.5MB
~55K SLoC