Project Expedite is my attempt to create solutions, algorithms, or solvers to classic puzzle games. There are a few principles I abide by when creating these algorithms.
-
Efficiency - It is trivial to say that brute force searching can solve most problems, but where is the fun in that.
-
Elegance - The solution should be neat, clear, or clever in some specific way.
-
Robustness - The solution should be able to adapt to different "difficulty" levels of the game, whatever that may mean to the game, be it grid size or available options.
Setup an environment with any python version > 3.7
and run the command in the root directory.
python3 main.py --gamemode <gamemode> --config <config_file_index>
python3 main.py -g <gamemode> -c <config_file_index>
Run the command python3 main.py --help
for more information.
The following list shows the puzzle games for this project and their respective status in solution development.
This list will be expanded upon and updated as status for sub-projects change and / or new puzzles are being added to the catalogue.
Game | Algorithm Status |
---|---|
2048 | 📒 Backlog |
Kuromasu | ✅ Complete |
Mastermind | 🛑 Paused |
Mine Sweeper | ✅ Complete |
Nonogram | 🛑 Paused |
Numberlink | 📒 Backlog |
Slitherlink | 📒 Backlog |
Snake | ✅ Partly Complete |
Sudoku | ✅ Complete |
Tazuku | ✅ Complete |
(NYT) SpellingBee | ✅ Complete |
(NYT) Wordle | ✅ Complete |
(NYT) Letter Boxed | 📒 Backlog |
(HBM) Chimp Test | ✅ Complete |
(HBM) Aim Trainer | ✅ Complete |
(HBM) Reaction Time | ✅ Complete |
(HBM) Visual Memory | 📒 Backlog |
(HBM) Sequence Memory | 📒 Backlog |
- OpenCV computer vision for game integration
- Ability to interact with applications and solve puzzles from apps autonomously