Take the 2-minute tour ×
Role-playing Games Stack Exchange is a question and answer site for gamemasters and players of tabletop, paper-and-pencil role-playing games. It's 100% free, no registration required.

I wanted to build an app to read .monster files exported from the D&D 4E builder, joining the data in some fashion, and rendering them for print. I've heard one complaint about the system is that you can only print one monster stat per page. Apart from this, it looks like a good project.

I was wondering where is the XML schema to interpret the files, though, if there's one, or if I have to interpret the content myself. Is this as bad as the situation in this question about hacking dnd4e files?

EDIT Frabjous day! power2ool now can adjust monster powers! And it's free!

share|improve this question
    
You might get in touch with these people: iplay4e.appspot.com/characters, as they have figured out the Character Builder files and see if they have any pointers as well. –  Cthos Oct 1 '11 at 0:31
    
Why the -1? would be nice to know... –  Adriano Varoli Piazza Oct 3 '11 at 12:55

3 Answers 3

up vote 3 down vote accepted

Given the lack of support from WotC, your best bet for self-interpretation is to write the app in a language that makes working with XML trees as easy as possible so you can rapidly detect weird things and outrun the changes that are made. Python or Scala would probably be good choices--Python has better XML support, but Scala is better for building robust and flexible programs. If you're familiar with either of these already, I'd say just grab PythonXML (for Python) and go! If you're not, the learning process will probably make it not worthwhile unless you have other reasons to learn one of these.

share|improve this answer
    
yes, I'll probably do this in Python. –  Adriano Varoli Piazza Sep 30 '11 at 17:46

I did something similar that addresses the printing part of your question rather than the question itself. Instead of editing the xml, I copy plain text from DnD Insider and highlight bits and pieces of it with a script. This method has the advantage that you don't have to use WotC software to get the monster files. Just use the site and copy whatever you need.

Here's a link to the script on github: https://github.com/sagotsky/.dotfiles/blob/master/scripts/4E2latex.pl

It's a perl script, but I don't think I used any weird libraries. It produces latex output, which I convert into pdf using pdflatex from Debian's texlive-latex-extra package. I have no idea how to do any of this on Windows or OS X, but I'm pretty sure it can be done.

Here's a page with the output: http://files.sagotsky.com/sysadmin.pdf It could be prettier, but it works for me and doesn't use a ton of color ink.

share|improve this answer
    
Yes, actually, for this, power2ool.com has me covered. But for modified monsters (the whole point of the MB) I can't do this. –  Adriano Varoli Piazza Oct 1 '11 at 16:30

WOTC has little reason to release the DTD/Schema files, and plenty of reasons to not do so.

  1. Wizards is apparently under orders to minimalize the impact of the GSL and OGL.
  2. A public schema would support 3rd party apps.
  3. A public schema would support 3rd party supplements.

Those, in combination, would reduce demand for D&D Insider, which is their stated prime income from 4E.

Don't expect one soon; when you see it finalized and released, expect 5E soon.

share|improve this answer
    
Shame. I thought there would be a difference because they stated, for the multiple-print issue (or a similar one, can't find the quote now) that they confided in the inventiveness of the users. –  Adriano Varoli Piazza Sep 30 '11 at 17:35
    
They've given pretty good support for the new tools for 3rd party developers. I'd say that they aren't going to give support for the older tools (monster builder included), but the newer ones might give a shred of hope. –  wraith808 Sep 30 '11 at 18:40

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.