I created a version of [Copenhagen Hnefatafl](https://hnefatafl.org/history.html).
It includes an engine, server, client, and AI. It is built in Rust. The server
runs over TCP with a custom protocol that uses [RON](https://github.com/ron-rs/ron)
for serialization along with plain text. A single line is a message.
The client is built with [iced](https://github.com/iced-rs/iced), so it is a
desktop and mobile application, not a browser application. The client has many
features and is translated into many languages. It also supports hotkeys for
everything that iced supports.
One feature is to review games. You can play out whatever variations you
please and use AI to suggest moves. After completing a game it is saved on the
server and to review it you just click "Get Archived Games". You can identify
the game by its ID.
I am looking for more people to play. I support real time games with a short
time to play and longer games that take place over days.
If you're interested in AI help with that would also be appreciated. I'm
currently thinking I will not work on it more until
[burn](https://github.com/tracel-ai/burn) gets support for reinforcement
learning.
dcampbell1100•1h ago
The client is built with [iced](https://github.com/iced-rs/iced), so it is a desktop and mobile application, not a browser application. The client has many features and is translated into many languages. It also supports hotkeys for everything that iced supports.
One feature is to review games. You can play out whatever variations you please and use AI to suggest moves. After completing a game it is saved on the server and to review it you just click "Get Archived Games". You can identify the game by its ID.
I am looking for more people to play. I support real time games with a short time to play and longer games that take place over days.
If you're interested in AI help with that would also be appreciated. I'm currently thinking I will not work on it more until [burn](https://github.com/tracel-ai/burn) gets support for reinforcement learning.
Any suggestions or comments are welcome, thanks!