Revolt is a bidding game based around the theme of a 19th century revolution. Each turn, players "bid" on public figures by bribing them with money, persuading them with blackmail or compelling them by force. By gaining control over a figure for that turn, a player gains public support, influence over locations in town or the ability to have more money, blackmail or force at their disposal the following turn. The game ends when all of the locations in town have reached their influence limit. Whoever has the most support at the end of the game wins.
Prerequisites:
- Java 1.9+
- Leiningen
Instructions:
git clone git@github.com:rkoeninger/revolt.git
lein test
lein figwheel
npm install -g phantomjs-prebuilt
phantomjs scenarios.js
or open 1+ tabs with the site. Default URL is localhost:3449
The server is written in pure Clojure and is built on Ring/Compojure. It has a simple clojure.test test suite.
The client is written in pure ClojureScript and is built on Om (ReactJS) and my own hyjinks library.
The server and client communicate via websockets and both make use of core.async to handle messaging.
Figwheel is used to run the test server.
Automated feature tests are run using PhantomJS.
- Get some client-side unit tests written
- Expansion selection (Base set, The Palace, Anarchy!)
- Customizable/optional house rules
- More elaborate graphics, maybe some animations
- More elaborate lobby area so games can be arranged
- Android, iOS clients?
Revolt is intended to be a learning project for me and is not a commercial product. It will not be sold. Imagery, names and other trademarks are property of Steve Jackson Games.