Supplements for Demon Hunters

A study of automatic generation of pretty game aids

Supplements for Demon Hunters

For a long time, I have been unsatisfied with the state of game aids in many RPGs. By “game aid” I mean physical tokens that help with or drive the mechanics of the game at the table. Most games have character sheets – beyond that, publishers usually follow one of three approaches.

  1. No game aids – not helpful, obviously.
  2. Form-fillable PDFs for free download – cumbersome and awful to manage.
  3. Ready-made character sheets, card decks, etc. – pretty, but no flexibility.

One notable exception is the Numenera Card Creator by Monte Cook Games and DriveThruRPG. Good job!

Of course, players will come up with their own aids: there are fan-made spell and maneuver cards for DSA 4.1. I drafted a character state sheet for the same game1. For Shadowrun, I created cards for weapons, and Numenera cards for the thus named game.

Some of these were drawn by hand, but I usually used LaTeX (after initial disappointments with word processors); that is, TikZ does most of the heavy lifting. For a long time, I wanted to try something new: starting with a clean data representation, automatically generate pretty PDFs. Last year, I implemented a prototype for the Demon Hunters game I was running.

You start with a JSON of a character, chapter or item. For example:

  "name" : "Spade of Digging",
  "image" : "spade.png",
  "owner" : "Everybody",
  "aspects" : {
    "function" : "Is that rock or butter?",
    "flaw" : "Where do you hold this?!"
  "stunts" : [
    "Gain **+2** when you **Forcefully** **Overcome** an obstacle made of rock.",
    "Your other stunt here.",
    "Your final stunt here."
  "certified" : {
    "use"    : true,
    "civilians" : false,
    "public" : true,
    "reproduction" : true

Being a techy myself I may be slightly biased, but I think this is a much clearer and more maintainable way of saving items (or characters, or …) than form-fillable PDFs or similar.

Some Ruby, erb and LaTeX later, we get something like this:

An automatically generated item card

I quite like how this turned out. And that is for a Fate-based system; the effect is probably a lot more impressive for more crunchy systems! Combine a tool like this with an item database and a random number generator – it was never easier to create the next encounter or crate of loot!

You can find the full tool and more examples on Github.


  1. An A4 sheet was barely enough to fit everything. Man, that game was crunchy!