WinDama is an open-source WPF application and reusable C# engine for Algerian / Spanish checkers. It combines a playable interface, centralized rules, AI search, benchmarking, opening books, tournaments, dataset export, and research on bitboards and FPGA acceleration.
WinDama is designed as:
- a complete playable checkers application;
- an educational board-game AI platform;
- a reusable C# rules and search engine;
- a benchmark environment for search and evaluation;
- a research platform for bitboards and FPGA move generation.
- Mandatory capture, longest multicaptures, and flying Damas
- Human vs AI, Human vs Human, and AI vs AI
- Iterative-deepening alpha-beta and real-time analysis
- Transposition tables, quiescence, killer, and history heuristics
- Benchmarks, evaluator tuning, profile tournaments, and datasets
- Opening books, game databases, and 101 passing NUnit tests
See the complete screenshot gallery.
Download the Windows x64 preview from
GitHub Releases,
extract the ZIP, and run WinDama.exe.
The self-contained package normally requires no separate .NET installation.
- Version:
1.0.1-preview - Engine:
Core engine 2026.07 - Validation:
101 passed, 0 failed - Framework:
.NET 10.0 Windows / WPF - License: MIT
WinDama separates the WPF interface from the reusable engine.
WPF application
|
v
WinDama.Core
|
+-- Move generation and rules
+-- Search and evaluation
+-- Opening books and datasets
|
v
WinDama.Tests
MainWindow
|
v
GameController
|
+-- MoveGenerator
+-- MoveExecutor
+-- SearchEngine
+-- Evaluation
+-- OpeningBook
Further documentation:
- Engine Architecture
- Move Generation and Rules
- AI Search and Evaluation
- Bitboard Design
- FPGA Research
- Responsive 8x8 board, notation, and legal-move highlighting
- Last-move highlighting, undo/redo, editor, and analysis controls
- Persistent settings and engine-status display
- Mandatory and maximal captures with flying-Dama rules
- Fixed-depth, timed, and game-clock search
- Opening books and configurable handcrafted or linear evaluators
- Tactical benchmarks, tournaments, and JSONL/CSV/JSON export
WinDama1.0/ WPF interface
WinDama.Core/ Rules, search, and reusable tools
WinDama.Tests/ NUnit validation suite
OpeningBooks/ Bundled opening books
TestPositions/ Tactical JSON positions
EvaluationWeights/ Evaluation profiles
docs/ Technical documentation
scripts/ Build and release scripts
Requirements: Visual Studio Community 2026 with the .NET desktop development workload, or the .NET 10 SDK for command-line builds.
dotnet restore WinDama.sln
dotnet build WinDama.sln -c Release
dotnet test .\WinDama.Tests\WinDama.Tests.csproj -c ReleaseExpected result: 101 passed, 0 failed.
Publish Windows x64:
.\scripts\Publish-Release-x64.ps1Use -SelfContained to create a self-contained package.
WinDama supports work on rule-based move generation, bitboards, maximal multicaptures, Boolean legality models, FPGA acceleration, evaluation learning, and tactical benchmarking.
Publications, preprints, datasets, and reproducible experiments will be listed here when publicly available.
- Extend tactical and endgame tests
- Add searchable game history and portable notation
- Implement and validate
WinDama.Core.Bitboards - Add exact move-set and perft comparisons
- Prototype Boolean and FPGA-oriented move generation
- Continue evaluation-learning experiments
This repository continues the earlier Algerian Spanish Checkers project on SourceForge.
Contributions are welcome. Read CONTRIBUTING.md before opening a pull request. See SECURITY.md, RELEASE_NOTES.md, and CODE_OF_CONDUCT.md.


