KCL 6CCS3PRJ - AI opponent for the card game Ulti
Ulti-mate is a proof of concept implementation of a set of smart bidding algorithms for the complex trick-taking card game Ulti designed as part of my BSc thesis at King's College London under the supervision of Dr Agi Kurucz.
The supported list of smart bidding algorithms is as follows:
- Simple
- Simple of Hearts
- Betli
- Rebetli
- Open Betli
- Durchmars
- Redurchmars
- Open Durchmars
Ulti-mate provides an extensive CLI with various experimentation options as well as detailed reasoning behind computed decisions.
npm startto run a simulationnpm start -- [args]to pass CLI argumentsnpm start -- -hto see CLI helpnpm testto run TS module tests (concurrently)
-hfor CLI commands help-R, --max-riskto specify max risk in percentages-H, --custom-hand <card ids...>to run the simulation with a custom hand--no-opponentsto skip calculation of opponents' hands--no-reasoningto skip logging of detailed reasoning behind decisions
npm start -- --no-opponentsruns simulation with only player's handnpm start -- -R 70the bot should only play games where the winning chance is >=70%npm start -- -H 0 1 2 3 4 5 6 7 8 9sets player's hand to cards whose ids are 0-9
To run Ulti-mate simulations or develop locally.
- node.js
^14.x - min
2 GBfree memory
npm ito install project dependenciesnpm run buildto compile project- Run your choice of CLI command