4 releases

0.1.3 May 22, 2024
0.1.2 May 17, 2024
0.1.1 Dec 28, 2022
0.1.0 Jul 22, 2020

#229 in Science

MIT license

160KB
3.5K SLoC

diplomacy

Build Status Latest Version

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

~4MB
~73K SLoC