Magpie is a high-performance library for the classic board game Othello. It provides both a user-friendly API and a low-level interface suitable for AI engines.
- Built with bitboards: Uses bitboards for extremely fast board operations
- Zero dependencies: Core functionality has no external dependencies
- Optional Serde support: Serialization available through an optional feature flag
Furthermore, the library offers two abstraction levels:
- Game API: Ensures rule compliance, tracks turns, and maintains board consistency
- Board API: Provides raw board operations without validation, when performance is critical.
cargo add magpie
# If serialization with Serde is desired, activate the serde feature flag.
cargo add magpie -F serdeExamples are described here.
Curious to play? One example features a functional Othello game with a random AI opponent. Run cargo run --example human_vs_ai to start a game!
Benchmarks are described here
Simply run cargo bench to run all benchmarks.