Duane Sibilly

Written by Duane Sibilly, software developer, podcaster, tabletop GM and writer. Learn more.

Loot Chest: Procedural Magic Items for AGE

30 June 2019

Tonight, as I waited for a late-night maintenance task at work, I published Loot Chest, a procedural magic item generator tool for Fantasy AGE. It is based on Scott Boehmer’s blog, where he’s been working on adapting Blizzard’s Diablo setting to the AGE system.

Loot Chest on iPhone XS

Earlier this summer he posted an algorithm for generating Diablo-like magic items, and it piqued my interest. I’ve made no secret of my frustrations with the magic items available in the small collection of published content for Fantasy AGE. Scott’s system seemed interesting enough to merit a generator, and having already helped out Critical Hits’ Danny Rupp with his Fantasy Name Generator it seemed logical that my next personal coding project should be making a generator with the Age of Terror algorithm.

I asked Scott for his permission to use his content, and he graciously approved so long as I linked back to his original post, which I have done here, on the open-source GitHub repository for the Loot Chest project, and in the generator itself.

Learning New Stuff

A new project is an excuse to play with new things that I don’t have the opportunity to play with often in the coding I do for work. While I’d built REST APIs before, this was the first time I was going to build one for static data instead of as a front-end for a database. Looking back, I could have put all the Age of Terror item data into PostgreSQL or SQLite, but that would have added complexity to the project and ultimately slowed things down. What I hadn’t done was play with React outside the confines of my Gatsby-powered blog, and that was something I very much wanted to do successfully. Of particular interest was making a React front-end interact with a REST API back-end and have it all work. I’m pretty pleased with how Loot Chest turned out in that regard.

Stuff I Used

What’s Next?

As with any project, being done enough to take it live is not the same as being done. There’s a few things I want to add to this project over time:

  • API throttling to prevent bad actors from going H.A.M. on my service.
  • InfluxDB and Grafana for real-time and historical monitoring of site and API usage.
  • More affixes!
  • Ability to generate batches of items at once instead of just one at a time.

I’m also open to ideas and suggestions. If you have one, please feel free to file an enhancement issue with your suggestion! Don’t let the fact that it’s GitHub make you hesitate; I’d love to see some conversation about where Loot Chest goes from here!

A Caveat

Some of the combinations of affixes in Age of Terror (and thus in Loot Chest) can make some very powerful items. Game Masters should use their best judgement with regard to whether a particular item is suitable for their players at their current level. The items with two affixes in particular can get downright hilariously potent. Be careful, lest you unleash the next overpowered warlord on your campaign!