An engine to play the EWN (EinStein würfelt nicht!) game developed in Pharo Smalltalk. You can track my progress on LittleGolem.
Just committed for the sole purpose of having a backup! Lots of sloppy code, experiments & stubs. But it works! Now, I can start working on a full rewrite!
As of 2019-03-10, Caerus (v0.02) was just a very incomplete (with sloppy code!) working version that will serve as a baseline for benchmarks & comparisons. Caerus has played (via Monte Carlo simulations) a few hundred million games & positions withtout a walkback since the last code fix! Now that I have a solid working engine, I can rewrite the whole thing more elegantly and have a new version that will have a solid sparring partner!
Future plans include :
-portability (at least for the headless app) with Cuis and Squeak
-a basic UI (compatible across Cuis & Squeak dialects if that is possible)
-a faster and more compact Move representation involving bit operations
-a hash table in preparation for search algorithms with iterative deepening
-full automation so the engine can play all by itself unattended on the LittleGolem server
-multiple search algorithms (MCTS, random, expectimax, etc)
-multiple search controls (time per move, time per game, time per N moves, N search depth, N Monte-Carlo simulations)
-create a tournament manager to test versions & search parameters against each other
-capability to distribute searches on multiple VMs & computers & OS
-creation of an opening book on SQLite
-ability to play headless as a "shell app"
This README is still under development.
More details on this engine's development will be found on my blog L'endormitoire.