• NOW LIVE! Into the Woods--new character species, eerie monsters, and haunting villains to populate the woodlands of your D&D games.

Jamis Buck's NPC Generator: Resurrection

Dark Jezter said:
Are there any plans to update the random treasure generator to 3.5e, or does that program even require an update?

Until now, I had no plans to update Jamis' other tools. To be frank, I did this because of the needs of our campaign... (since I'm the group geek and rule lawyer)

But I will take a peek at it, and if it is just updating the innards (like it was for the NPC generator), I may do something quick and dirty.

If it was just me, I'd recode the whole thing (and I believe Jamis agrees) to use either PCGen or XML data files, so it would be extensible. But I just don't have enough time for that.

Andargor
 

log in or register to remove this ad

I completely agree with Andargor... in fact, that's what I was ambitiously trying to do before I "fell off the face of the Earth." :) The treasure generator is more or less there, although it uses a non-standard file format. The NPC generator, town generator, and dungeon generator, though, could all benefit from a complete rewrite.

I still have a little tickling ambition in the back of my head to give it a try one of these days... However, given the current state of my free time, I'm sure someone will beat me to the punch. (I know, I know, there are already some commercial apps out there that use external, user-modifiable data files, but I'm rooting for the open-source "free-as-in-beer" solutions, myself.)

Perhaps a viable option would be to just use PCGen's data files... once they move to XML, that will be a more plausible solution, but (and Andargor and I have talked about this briefly) it would be nicer if new classes/spells/items/skills/etc. could be completely represented in the data, instead of requiring portions of the program itself to be modified. *sigh*

If I keep at this, I'll talk myself into working on it. Guess I better stop. ;)
 

Hey, I post with four kids! :) Of course, I'm done with grad school, so that helps tremendously.

My wishlist, because I really think the generator is a more useful tool than PCGen in many ways, is the ability to "mod" races and classes in the generator. I suppose if I were some kind of code god I could do that, but alas, I was only ever a mediocre html programmer (if you can even call me that) and now I'm just a know-nothing MBA.
 

JamisBuck said:
I completely agree with Andargor... in fact, that's what I was ambitiously trying to do before I "fell off the face of the Earth." :) The treasure generator is more or less there, although it uses a non-standard file format. The NPC generator, town generator, and dungeon generator, though, could all benefit from a complete rewrite.

Yeah, I took a look at the Basilisk project (within which is the treasure generator), and I have to admit that I don't feel as comfortable updating it. Mainly because I would have to learn how the thing works, and the data files are proprietary.

I would be willing to parse the PCGen files for you and output the files in your format, since the relevant info is there (and my parse-fu is strong :) ). But to ensure it works properly, etc., I would leave that up to you (sorry).

JamisBuck said:
Perhaps a viable option would be to just use PCGen's data files... once they move to XML, that will be a more plausible solution, but (and Andargor and I have talked about this briefly) it would be nicer if new classes/spells/items/skills/etc. could be completely represented in the data, instead of requiring portions of the program itself to be modified. *sigh*

I have to disagree with using the PCGen data files when they are in XML.

With all due (and well deserved) respect to the PCGen people, I have looked into this as well, but have concluded that they would be of limited use. Having worked extensively with PCGen data files, and helping them update to 3.5, I have consistently been frustrated with one fact: PCGen blurs the line between data and code.

Basically, if there is a "tag" change, the Java and LST code has to be modified. That is why there is a new version every two weeks and is hard to follow, and old data files need to be recoded, and why 3.5 is such a pain to redo (yes, redo from scratch). Heck, in 3-6 months, the NPC generator will have to be updated again to reflect LST changes for export purposes.

So in essence, LST is code that people other than Code Monkeys can change. It's a custom scripting language that changes often.

And the XML format they are working on does not change this, since they are just embedding LST "code" into tags.

But I am working with others on a generic way to represent the data sets that is independent of the tool or engine used. The concept is to transform this immuable, never changing data (except for, say, errata) to fit the needs of tools using such things as XSLT, XPath and XQuery. An XML Database, really. (See the "Suite Interoperability" thread here, and the d20-XML group for those discussions, there is even a nice diagram that I made to illustrate this)

This would be what is required to ensure that another recode of the tools is not necessary for a good long time.

JamisBuck said:
If I keep at this, I'll talk myself into working on it. Guess I better stop. ;)

Keep talking! ;)

Andargor
 

andargor said:
I would be willing to parse the PCGen files for you and output the files in your format, since the relevant info is there (and my parse-fu is strong :) ). But to ensure it works properly, etc., I would leave that up to you (sorry).

It's probably not worth the effort to "update" the existing treasure generator. The basilisk engine, though monumental (for me, at least), is also very fragile. For instance, I knew nothing about garbage collection techniques when I wrote it, and wound up reinventing the wheel... except it wasn't a very good wheel. In general, basilisk is just not very stable, or reliable, and a 3.5e treasure generator should probably be rewritten from scratch. (Or rather, should not be written using my treasure generator as a foundation.)

andargor said:
...I am working with others on a generic way to represent the data sets that is independent of the tool or engine used. The concept is to transform this immutable, never changing data (except for, say, errata) to fit the needs of tools using such things as XSLT, XPath and XQuery. An XML Database, really. (See the "Suite Interoperability" thread here, and the d20-XML group for those discussions, there is even a nice diagram that I made to illustrate this)

I'll check that out. I'm pretty hesitant about XSLT (I've learned through sad experience that there aren't many systems out there that are slower or more resource intensive--and even XML with XPath can be a real resource hog), but I'm willing to give it a try. Are they open discussions? I wouldn't mind participating in that, since I spent many (many!) months thinking through how the d20 system could be represented in data. Never came to any conclusions, but I might be able to contribute to the discussions in some small way.

andargor said:
This would be what is required to ensure that another recode of the tools is not necessary for a good long time.

Which is exactly what we need. When I wrote my generators, I frankly never foresaw another edition of D&D; at least, not so soon after 3rd edition was released. If my generators had been better planned (ie, using external data sets) there would doubtless already be 3.5e versions of them. *sigh*
 

JamisBuck said:
I'll check that out. I'm pretty hesitant about XSLT (I've learned through sad experience that there aren't many systems out there that are slower or more resource intensive--and even XML with XPath can be a real resource hog), but I'm willing to give it a try. Are they open discussions? I wouldn't mind participating in that, since I spent many (many!) months thinking through how the d20 system could be represented in data. Never came to any conclusions, but I might be able to contribute to the discussions in some small way.

Yes, they are open discussions, and you are very welcome to join. The d20-XML group is at:

http://groups.yahoo.com/group/d20-xml/

Note that there hasn't been a lot of activity there until fairly recently, until some people (like me) started stirring the pot. The original members are somewhat miffed that us newcomers dare to question what they have agreed upon for a good long time (which is basically: write what you like, and we'll help you as much as we can, but don't ask us to agree with your schema/structure/model :) )

Actually, they are a good bunch of people with a heck of a lot more experience than me in XML. I guess what is needed is a concrete example that works.

For example: I can code XML character output fairly easily in the NPC generator. Combined with the concepts of Suite Interoperability discussed here, and some concepts discussed in d20-XML, a set of transforms (scripts, XSLT, whatever) could be used to allow Twin Rose, DMF or whatever other tools to import them. Hence, the start of a common format, with the demonstration that each tool does not have to compromise on functionality because of the XML format.

That's what I would be working towards, before starting something else from scratch.

Andargor
 

BTW Andagar, I did re-parse your Monster Data and separated out the SQ and SA into a separate table. I will be releasing an updated program that uses the data shortly.

*:> Scott
 

smetzger said:
BTW Andagar, I did re-parse your Monster Data and separated out the SQ and SA into a separate table. I will be releasing an updated program that uses the data shortly.

*:> Scott

Cool! Glad it could help. I've always wanted to break it down further, and I'll probably do that with the XML stuff I'm doing.

Did you use the November version? I had found bugs while doing the PCGen monsters, and I had re-upped it.

Andargor
 


andargor said:
Cool! Glad it could help. I've always wanted to break it down further, and I'll probably do that with the XML stuff I'm doing.

Did you use the November version? I had found bugs while doing the PCGen monsters, and I had re-upped it.

Andargor

No, I used an earlier version. Not sure which one. I did compare data with what is in RPM and added stuff. Also, when I was doing statblocks for the RttToEE conversion to 3.5 and summon monster statblocks I corrected a few things.
 

Into the Woods

Remove ads

Top