Fork me on GitHub

dominiate by rspeer

A simulator for Dominion card game strategies

Dominiate is a Dominion simulator, in which you can program bots to follow strategies that you define and see which one wins.

It is inspired by Geronimoo's Dominion Simulator. It shares the feature that, to define many possible strategies, you may simply list cards and conditions in which to buy them in priority order.

The code is meant to be open and extensible. Many other aspects of a strategy can be overridden, including its preferences for how to play actions. If this system doesn't allow you to define the strategy you want and you're okay with writing more code, I encourage you to fork the simulator and change it so that it does.

Dominiate is written in CoffeeScript. This means it runs inside a JavaScript interpreter (such as node.js or your Web browser), but uses a nicer syntax than JavaScript for defining both its code and its AI preferences.

Play it now!

Dominiate runs in your Web browser.


Some of the modules in Dominiate are written with "literate code" that documents itself as it goes, which I've made into nice web pages using Docco.

A good place to start is, which defines Dominion cards and their effects. The navigator in the top right brings you to other modules from there.

Bugs and feature requests

Use Dominiate's issues page on GitHub.


To run Dominiate at the command line or to edit its Web interface, you need node.js, CoffeeScript, and Less CSS. To use it, you only need a current Web browser. (I've tested it on Firefox 6 and Chrome 12.)


Dominiate is licensed under the Affero GPL, version 3. In short, you can copy it, change it, and redistribute it, as long as your version is also under the Affero GPL version 3 and you make the source code available to anyone who can play it.


Rob Speer



You can download this project in either zip or tar formats.

You can also clone the project with Git by running:

$ git clone git://