Monday, 4 February 2013


One of my long-term projects is to programmatically generate game logic from the D&D 3.5 SRD.  The idea is that ideally if the required legwork was done, any time I wanted to prototype something around a game experience, it should be possible to plug in the processed data and be 98% of the way to having stock D&D gameplay.  There's a lot of hand-waving there around the phrase "required legwork", but that's not really important for the purpose of this post.

I've extracted the low level scripts I use to both extend the database and introspect it's contents, and published them on github under the project name pysrd.

The SRD is available from Wizards of the Coast as a set of RTF documents.  This of course, is not ideal, but fortunately it is possible to get the data from in different database formats, including SQLite.  Unfortunately however, not all SRD data is included in these databases.  Fortunately, the OpenSRD project includes generated HTML versions of the RTF documents, which can more easily be processed.

1 comment:

  1. That's a really good idea.
    As I develop more as a programmer and game designer I find that programming can help in every aspect of making a game. For example I made a battletech game in the past and one of the most time consuming parts was data entry for all the mechs, terrain and equipment in the game. It took 2 weeks of data entry and another week of testing to find all the mistakes I'd introduced in to the data. It should have taken 20 minutes of programming. Another example is writing code to stitch rendered images together for making sprite sheets with Python Imaging Library when I used to do it by hand in GIMP. I can't believe the amount of time I've wasted over the years by not knowing how to do simple programming.