dominion alternatives and similar packages
Based on the "Game" category.
Alternatively, view dominion alternatives based on common mentions on social networks and blogs.
-
LambdaHack
Haskell game engine library for roguelike dungeon crawlers; please offer feedback, e.g., after trying out the sample game with the web frontend at -
haskanoid
A free and open source breakout clone in Haskell using SDL and FRP, with Wiimote and Kinect support. -
Allure
Allure of the Stars is a near-future Sci-Fi roguelike and tactical squad combat game written in Haskell; please offer feedback, e.g., after trying out the web frontend version at -
gloss-game
A convenience wrapper around the Gloss library to make writing games in Haskell even easier -
Ninjas
Haskell game where multiple players attempt to blend in with computer controlled characters while being first to visit the key locations on the board. -
battleship
Battleship... Pure.. Functional... Haskell + MongoDB + TypeScript + React... https://battleship-fp.com/ -
Liquorice
Haskell embedded domain-specific language (eDSL) for the algorithmic construction of maps for the computer game "Doom"
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of dominion or a related project?
README
Dominion
An easy to use Dominion simulator! It allows you to test competing strategies and see what works best.
Screencast
Usage:
import Dominion
import Dominion.Strategies
main = dominion ["adit" `uses` bigMoney, "maggie" `uses` bigMoneySmithy]
Or you can pass in options:
players = ["adit" `uses` bigMoney, "maggie" `uses` bigMoneySmithy]
main = dominionWithOpts [Log True, Iterations 1] players
Strategies
Here's a simple strategy, the "big money" strategy:
bigMoney playerId = playerId `buysByPreference` [province,
gold,
duchy,
silver,
copper]
The big money strategy is simple: buy the most expensive victory or treasure card you can, and repeat.
bigMoneySmithy playerId = do
playerId `plays` smithy
playerId `buysByPreference` [province,
gold,
duchy,
smithy,
silver,
copper]
It's just like big money, except now the player buys up smithys too. And the player plays a smithy whenever possible. So now we can compare Big Money vs Big Money + Smithy. And the results are:
Out of 5000 games:
player adit won 1867 times using "big money"
player maggie won 3133 times using "big money + smithy"
Just as a control, lets use the same strategy with both players:
player adit won 2444 times
player maggie won 2556 times
So clearly, adding the smithy to big money makes a big difference!
Followup actions
Some action cards have a followup action. For example, if you use throne room, you can pick another card and play it twice. Here's how that looks:
throneRoom playerId = do
playerId `plays` throneRoom `with` (ThroneRoom market)
And of course you can play throne room on throne room:
multiThroneRoom playerId = do
playerId `plays` throneRoom `with` (ThroneRoom throneRoom) `withMulti` [ThroneRoom market,
ThroneRoom market]
Documentation
See the full documentation on Hackage.