← Back

Othello AI

June 2024 - July 2025 · Personal Project

Rust · WebAssembly · JavaScript

Built an Othello/Reversi engine around classical adversarial search, then deployed it as a browser-playable Rust/Wasm demo. The current version keeps rendering and controls in JavaScript while running move selection in Rust compiled to WebAssembly.

Othello Ai demo
  • Implemented minimax with alpha-beta pruning in Rust, including pass-turn handling and legal move generation for full Othello rules.
  • Ported the original weighted evaluator into the Wasm engine so the web AI uses the same scoring model as the native project.
  • Added an endgame mode switch to coin-parity search (final moves) when currentScore + 6 + depth >= 64 to reduce late-game wait times.
  • Structured the project so UI concerns stay in JS while AI/search remains isolated in Rust for maintainability and future tuning.

Earlier iterations used a Python Turtle frontend with a Rust backend via Maturin. The current public demo runs fully in the browser using Rust + WebAssembly.