
Practising with a more solemn song this time
There are a particular few tengwar I'm struggling to write nicely, particularly romen, silme with tehtar and hyarmen. I'd like to imitate the Artano font but the ideal stroke order eludes me for now

There are a particular few tengwar I'm struggling to write nicely, particularly romen, silme with tehtar and hyarmen. I'd like to imitate the Artano font but the ideal stroke order eludes me for now
Disclaimer: I have no idea if this is actually the strongest, the only other one I found online is a part of Catanatron and I currently have no way of comparing them directly.
After burning out of chess engine programming and chess in general a couple of years ago, I got the urge to get back into engine programming with something new.
For those unaware, Catan is a popular strategy board game that involves securing resources to spend on building and developing your settlements on the island of Catan, winning by gathering enough Victory Points before the other players can. There is a significant element of randomness through dice rolls, but enough higher-level strategy to mitigate it, keeping the game interesting and the skill ceiling high.
Catan as a game has a number of features that make writing an engine more challenging than for chess:
Particularly the nondeterminism makes Monte Carlo Tree Search (MCTS) a much more appropriate algorithm than the Minimax methods of chess engines like Stockfish, and my previous project Cheers.
Catan is underrepresented in the engine development space, and existing AI players on e.g. colonist.io are not known for being strong. I would like to change that with this project.
Research from Szita et. al, 2012, successfully applied MCTS to Catan, but the implementation seems to be unavailable. They report a speed of 300 playouts per second, compared to which Monte Catano can reach >12000 playouts per second on my desktop machine (1 thread), even in the earliest phases of the game.
The project is currently an MVP, aiming to have the minimal infrastructure in place to support further refinement and testing of the engine. In particular:
I will continue working on the engine, starting by tackling the low-hanging fruit for improving the playing strength, but I am opening the project up to anyone who is also interested in contributing. Feel free to open discussions, fork the project and send in PRs.
You can find the project repo here.