Go to file
2019-01-14 23:50:25 -05:00
example Rename and adjust example decks 2019-01-14 23:50:25 -05:00
src Allow for other deck types 2019-01-14 23:50:25 -05:00
.gitignore Switch backend to NeDB storage, fix image/json creation 2019-01-14 23:50:25 -05:00
package-lock.json Update dependencies 2019-01-14 23:50:25 -05:00
package.json Update dependencies 2019-01-14 23:50:25 -05:00
README.md Add some example input jsons 2019-01-14 23:50:25 -05:00

Deck Generator/Playfield

Currently hosted at http://adamgoldsmith.name:8080

This project has two major parts: a deck generator, and a virtual playfield. The purpose is to allow for creating and playing custom decks in a physical card game, or generation of decks for use in Tabletop Simulator. Currently, there is support for Sentinels of the Multiverse (SotM), a co-op fixed-deck card game based on super heros, though other templates could be added relatively easily.

Deck Generator

Supports generating custom hero, villain, and environment decks for SotM. Currently based on uploading JSON input files, though minimal editing in the browser has also been implemented.

Requires installation of fonts on local computer, as they cannot be distributed due to their license

Templates are based on those from BoardGameGeek user Koga, found here: https://boardgamegeek.com/thread/813176/card-templates/, but have been converted to SVG and rather heavily modified/cleaned up.

There are some example input jsons in the testInputs folder of this repo.

Playfield

Can load decks created by the generator. In theory, can play any deck from Tabletop Simulator, with minor effort (it needs to be pointed at the right part of the JSON). This allows for playing many offcial and unoffical (such as The Cauldron, a popular fan expansion) decks.

Controls:

Best on a touch screen, but works okay with a mouse.

  • primary controls are dragging, tapping, long pressing, and double tapping
  • you can drag into and out of decks, which takes/puts cards from the top of the deck
    • hold shift while dragging into a deck to put a card on the bottom
  • long press on a deck to open a listing, where you can search, rearrange, and tap to add to playfield

Libraries

  • The backend uses PhantomJS for rendering decks
  • The playfield uses interact.js

To do:

There are a lot of things still to be done here, including:

  • Making it look prettier
  • finishing the editor
  • adding a context menu to the playfield
  • adding some sort of tutorial or help to the playfield