Reversi42: Fast AI Reversi
Project description
Reversi42
Tournament-grade Reversi with AI-powered opponents
50-100x faster • 11 AI players • 644 opening sequences • Modern web interface
🚀 Quick Start
pip install reversi42
reversi42
Open http://localhost:8000 in your browser and start playing!
✨ Features
🎯 High-Performance Engine
- Bitboard architecture - 50-100x faster than traditional implementations
- Advanced AI algorithms - Alpha-beta pruning, transposition tables, parallel search
- Configurable depth - From beginner (3 ply) to expert (16 ply)
🤖 11 AI Opponents
- ELO ratings: 1250-1880 (beginner to expert)
- Unique strategies: Adaptive, defensive, aggressive, tactical, chaotic
- YAML-based configuration - Create custom AI players without coding
📚 Professional Opening Book
- 644 tournament sequences - Derived from professional play
- Trie-based lookup - Instant move suggestions
- Multiple evaluation modes - Balanced and tactical openings
🌐 Modern Web Interface
- Real-time gameplay - FastAPI + WebSocket for instant updates
- Game management - Save/load games in XOT format
- Live analysis - Move evaluation and position visualization
🏆 Tournament System
- Automated competitions - Benchmark AI players
- Statistical analysis - Comprehensive performance metrics
- Custom configurations - Flexible tournament setups
🎮 AI Players
| Player | ELO | Strategy | Depth | Style |
|---|---|---|---|---|
| DIVZERO.EXE | 1880 | Adaptive | 8/12/16 | Maximum strength, parallel processing |
| The Oracle | 1850 | Endgame Focus | 7/9/14 | Endgame specialist, parity evaluation |
| Apocalyptron | 1850 | Balanced | Adaptive | Strong balanced AI |
| Fortress Eternal | 1800 | Defensive | 10 | Defensive specialist |
| The Executioner | 1770 | Aggressive | 9 | Aggressive, mobility-focused |
| The Strangler | 1750 | Mobility Control | 11 | Restricts opponent mobility |
| Corner Reaper | 1720 | Positional | 8 | Corner control specialist |
| Glitch Lord | 1500±200 | Chaotic | Variable | Unpredictable, randomized |
| Lightning Strike | 1400 | Speed | 4 | Fast-playing |
| Blitz Demon | 1350 | Rapid Fire | 5 | Ultra-fast |
| Zen Master | 1250 | Balanced | 3 | Beginner-friendly |
📖 View detailed player profiles →
📦 Installation
From PyPI
pip install reversi42
From Source
git clone https://github.com/lookee/Reversi42.git
cd Reversi42
pip install -e .
Requirements: Python 3.9+
🎨 Custom AI Players
Create your own AI opponents using YAML configuration files—no programming required!
cp config/players/00_AI_CONFIG_TEMPLATE.yaml config/players/enabled/my_ai.yaml
# Edit the configuration file
reversi42 # Your player is automatically discovered!
📊 Performance
- Speed: 50-100x faster than array-based implementations
- Search Depth: 4-16 ply (configurable)
- Parallel Processing: Multi-core support
- Memory: Optimized data structures
📖 Documentation
- User Guide - Getting started, rules, strategies
- API Reference - Complete API documentation
- Architecture - System design and technical details
- Tutorials - Create custom AI players
- Tournament Guide - Tournament system usage
🧪 Testing
# Run test suite
./scripts/run_tests.sh
# With coverage
pytest --cov=src tests/
400+ tests covering unit, integration, and characterization scenarios.
📈 Project Stats
- ~17,000 lines of Python code
- 400+ tests with comprehensive coverage
- 40+ documentation files
- 11 AI players pre-configured
- 644 opening sequences from professional play
📄 License
GNU General Public License v3.0 or later
See LICENSE for details.
👤 Author
Luca Amore
🌐 www.lucaamore.com
📧 luca.amore@gmail.com
🙏 Acknowledgments
- Donato Barnaba and Federazione Italiana Gioco Othello (FNGO) - Reversi expertise
- PointyStone3 Project - Opening book contributions
Reversi42 - Professional-grade Reversi for players and researchers
GitHub •
PyPI •
Issues
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file reversi42-7.0.10.tar.gz.
File metadata
- Download URL: reversi42-7.0.10.tar.gz
- Upload date:
- Size: 40.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7184d2866712809595bed29465d23e340d29485a13ade78519bc3bd0a478ffec
|
|
| MD5 |
89cc0aa22e124b5e2fb1fa48856c40ce
|
|
| BLAKE2b-256 |
d05d84bb83d373dadc6166c7ad505ba2c6b0262791fcd53e187b5d8b24385a93
|
File details
Details for the file reversi42-7.0.10-py3-none-any.whl.
File metadata
- Download URL: reversi42-7.0.10-py3-none-any.whl
- Upload date:
- Size: 326.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cc64a8455e0f45eac9886d6400d81a30444b8472e72f6b6fb984bdaf9055081
|
|
| MD5 |
eab671339e2113fdad9837a655ae1c31
|
|
| BLAKE2b-256 |
82a5bab6d3f77ca4524eb4438fa69c95c508b5adeeded4006c54eb4a1290464c
|