3 points by iNic 16 hours ago|2 comments
Skat is a ~200 year old 3-player German trick-taking card game. I built a free site to play it online, solo against bots or with other people (matchmaking and Elo).

The bots are what I keep tinkering with. Card play is a linear model over hand features, with the weights tuned by self-play search. Bidding and declaring use Monte-Carlo rollouts.

No signup needed to practice against the bots. It's all TypeScript (Svelte plus a small WebSocket server).

GitHub: https://github.com/nic-kup/liskat

ekymz 16 hours ago
Nice bot architecture. How do you handle the Skat card phase committing blind before seeing the full hand seems like the hardest part to model.
iNic 6 hours ago
This is part of the MC rollout. I simulate the bot playing games with seeing the Skat, and playing games without seeing the Skat. Then it is based purely on which game has higher EV. Which cards to discard when looking at the Skat is another MC rollout.

It is worth saying that the MC rollouts are fairly cheap because the playing architecture is cheap.