Skip to content

A Python minimalist Othello game designed to compete against humans

License

Notifications You must be signed in to change notification settings

Luunynliny/othellia

Repository files navigation

python License: CC0-1.0 CodeQL pytest codecov Mypy


Logo

othellia

Algorithm-powered Othello program

About

Othello is a board game involving abstract strategy and played by two players on a board with 8 rows and 8 columns and a set of distinct pieces for each side. Pieces typically are disks with a light and a dark face, each side belonging to one player. The player's goal is to have a majority of their colored pieces showing at the end of the game, turning over as many of their opponent's pieces as possible.

— World Othello Federation

This project is an improved version of a previous project called ReversIA, which was a first step into learning IA while implementing one of my childhood games.

Due to previous limitations, I chose to recreate my program using Python while improving code documentation and optimization.

The rules of Othello (also called Reversi) are simple to understand, and if you have never tried it, you really should give it a go. However, it has this reputation of being "easy to learn, hard to master", which seemed like a good idea to create an AI to play against.

back to top

Roadmap

  • Game mechanisms
  • Game graphics
  • Minimax algorithm
    • Classic
    • αβ-pruning
    • Genetic weights
  • Convolutional Neural Network
  • Reinforcement Learning

back to top

License

Distributed under the Creative Commons Zero v1.0 Universal License. See LICENSEfor more information.

back to top

Resources

Genetic algorithms - crossover. Tutorials Point. (n.d.-a). https://www.tutorialspoint.com/genetic_algorithms/genetic_algorithms_crossover.htm

Genetic algorithms - mutation. Tutorials Point. (n.d.-b). https://www.tutorialspoint.com/genetic_algorithms/genetic_algorithms_mutation.htm

Mallawaarachchi, V. (2020, March 1). Introduction to genetic algorithms - including example code. Medium. https://towardsdatascience.com/introduction-to-genetic-algorithms-including-example-code-e396e98d8bf3

Official Rules for the game othello. World Othello Federation. (n.d.). https://www.worldothello.org/about/about-othello/othello-rules/official-rules/english

Sannidhanam, V., & Annamalai, M. (2015). An analysis of heuristics in othello.

back to top