Implementation of the Pandemic cooperative board game in node.js and AngularJS. The point was mainly to learn more about Angular, but so far the server side has received more attention, and the UI is more of a barely functional stub.
There is also a Perl implementation of Pandemic that appears to be more feature complete.
This implementation of Pandemic is copyright 2013-2014 by Gert van Valkenhoef. It is free software under the GNU GPL v3. See LICENSE.txt for more information.
sudo apt-get install nodejs npm sudo ln -s /usr/bin/nodejs /usr/local/bin/node # for bower sudo npm install -g bower bower install npm install
Point your browser at http://localhost:8080 -- note that you need two players to create a game.
Run tests using:
Make sure you have jasmine-node installed:
sudo npm install -g jasmine-node
Tests are also run on TravisCI
- special events [x] resilient population [x] government grant [x] one quiet night [x] airlift [ ] forecast
- share knowledge UI
- make ui-sortable work on touch devices; http://touchpunch.furf.com/
- keep private information private (e.g. hand cards)
- more input sanitation (e.g. location / player IDs in action)
- move research centers when they run out
- ensure nothing else can happen during approval phase
- give reasons for action rejection
- display of raw IDs / JSON / etc. must be eliminated
- the UI needs a LOT of work
- also display names of offline players that have a role in game
- display more information about ongoing games (status, active players)
- live update list of ongoing games
- remove stale games after a time-out
- close websockets after a time-out, with dynamic re-opening as needed
- for ended games, serve the state over plain HTTP instead
- Refactor the horrible Game.act() blob and simplify tests
- Factor out action preconditions so they can also be calculated client side
- The map SVG is very unreadable, use more directives for it
- Split the client side up into require.js modules