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

Why's it so hard to create a character generator that rocks?

Again, I am in almost complete agreement with barsoomcore. PCGen is a mess because it has no focus and tries to do too much. My 'programmer's challenge' (build a generator than can perfectly handle just the PH core rules) is, in my opinion, where PCGen should focus it energies. If that means blowing away the existing code and starting from scratch, then so be it. Because right now there are so many nonstandard d20 products in there that god knows what works and what doesn't.

As a lazy DM (again like barsoomcore), I just want to be able to create NPCs quickly and accurately. I am even willing to sacrifice some of the core rules if they are too confusing to implement -- e.g. sorcerers who always polymorph themselves into green hags or wacky stuff like that. But I sure as hell better be able to build a 17th level half-gnome/half-fiend sorcerer to being with, and have his spells/day come out correct.

Obviously, people will pay for D&D computer tools -- look at Campaign Cartographer or e-Tools (the new version, not the horrible horrible old version). But I have yet to find a character generator that was worth my money... because I have different requirement than what's out there.
 

log in or register to remove this ad


andargor, I've taken a look at your program. I agree that making the code javascript is better than something you need a compiler for. I've just taken a quick look, would you explain me a couple of things?

<object>
<category>race</category>
<name>Elf Size</name>
<value>Medium</value>
</object>

If I've understood correctly, this is a conceptual "object" which is attached to the "Elf" container. Isn't there a lot of redundancy here? What's the use of the <category> tag? Also, how is this size connected to the stuff Size does (modifiers to hit, to AC, to Hide, to carrying)?
 

barsoomcore said:
You miss my point, Mynex. I'm not saying that having such features is bad in and of itself. I'm saying that the fact that PCGen includes such complex features goes a long way to explaining why other elements of the program like its interface, its reliability and its performance are so awful the thing is almost completely unusable.

If the programmers had taken on a smaller task, and then worried about polishing the product, the usability would be so much better than it currently is it would hardly be recognizable.

Of course, they didn't, because they're programmers and want to do the FUN stuff. :D

Thing is, you *asked* for something that lets you skill up a character fast, and add feats and so on without worrying about the app preventing you from doing this because of various rules. You *can* do that in pcgen. That was mynex's point. We do have features that support you beign able to ignore prerequisites if you don't want that level of hand holding.

barsoomcore said:
I just need to be able to assign skill points quickly, stat up characters and have their bonuses come out right. I need to be able to choose feats and have their impact get added right away.

I DON'T need a "rulebook in a box" -- PC Gen goes WAY overboard in this regard. Just give me a way to specify character stats (preferably via point buy at a level I can set), and track the consequences of the classes I take insofar as BAB, saves, skill points, spells, feats and so on increase per level. Then let me assign my skill points (tracking class skills per class, sure), and keep calculating my modifiers as I choose feats. That's it.

PCGen does solve this problem. Now, does it potentially have bugs in it's calculation? yes. I, along with a bunch of my peeps are there to solve that. and really, the production releases are pretty damn solid. Do people find bugs in the RSRD? yes. any anyone honestly expect that we can predict every situation? no. remember, 5.6 (I think) was the first release with RSRD support - to expect it top be perfect, even if we didn't have other sources is kind of unreasonable, if not downright impossible. For software of the magnitude of accuratly supporting the RSRD to be bug free in it's first release just doesn't happen - that's the reality of software.

As far as the call for pcgen to dump everything but RSRD, you have a problem there, because for me and many of the other coders, that makes pcgen worse then useless. Not a single game I am in uses even an unmodified RSRD, not to mention multiple external sources. If pcgen didn't suppor the usage of other sources, I know for a fact I, along with probably half the programming staff wouldn't be working on it. Don't take this as a rebuke, but it's just a simple fact - who is going to work on software that they don't get paid for that is utterly useless to them?

There are plenty of apps out there that take a stab at the simple, RSRD only problem domain. PCGen was created to solve a different, but still very specifi problem domain. The creation of a character generator that can work with the sources people actually play the game with. Is the RSRD important? damn straight - but it's only a *part* of the problem domain, not the entirity of it.

That all being said, I have been put in charge of developing a completly new, simple UI for pcgen for the 6.0 release, so we *do* recognize that pcgen needs to be easier to use, and there is activity on that front - but this stuff is not fast to develop.......

What I ultimatly would like to see is this: PCGen to continue it's support of generating characters for PCs with a wide variety of rules. Some other app (or a cut down interface for pcgen, or a module for GMGen) be created that works *with* us to make something compatable to quickly create npcs and stat up enemies - that are still usable in the PCGen framework, so that when the enemy needs to be fleshed out (cause the became important for some reason) it can be done with the heavyweight app.

For all y'all doing external apps that meet a different problem domain, have you considered working with us? I know for a fact that the pcgen project can be very open with people who are creating open source apps that are compatible (because that is how GMGen started, before it got rolled into PCGen). Hell, many things can easily be implemented as GMGen plugins, including entuire new programs - that can run on their own, or execute inside pcgen when needed.

Note, on a poll of pcgen users, the vast majority complained that we don't have enough (new) sources. Bug free RSRD support was second. (If I recall correctly, it's been a while) The users spoke, and we are trying to meet those needs. But we *do* ask, because we *do* want to know.

Devon Jones
PCGen BoD
GMGen Silverback
 
Last edited:

WingOver said:
So what is your profession (if you don't mind me asking)?

Right now, "Job seeker". ;)

Normally, Software Engineer, Database Administrator, Data Architect, or some combination/variation of those.
 

Zappo said:
If I've understood correctly, this is a conceptual "object" which is attached to the "Elf" container. Isn't there a lot of redundancy here?

Oh, yeah, way too much redundancy. The objects could be defined by a base template, and the specifics could be just a reference to the template, which gets built into an object when it's added to a character. But it's just a demo :)

Zappo said:
What's the use of the <category> tag? Also, how is this size connected to the stuff Size does (modifiers to hit, to AC, to Hide, to carrying)?

Category is totally arbitrary right now. I use it to find objects using XPath and to build the object name with it. Conceivably, it could be a namespace tag instead. I do think that something more descriptive is needed, particularly if it's used to refer to an object template... But since the code to "read" the object is in JS and not C++, it can be anything, really.

It's not tied in to anything right now, I haven't implemented everything yet. I could've added a "getSizeBonusToAC" function in system.xml, included a "Size Bonus To AC" object in abilities.xml with that function as the default interface which points to "Armor Class" using "targets", and pointed the "Elf Size" object at it using "targets" tags. That's all there is to it. :)

Andargor
 
Last edited:

soulcatcher said:
Thing is, you *asked* for something that lets you skill up a character fast, and add feats and so on without worrying about the app preventing you from doing this because of various rules. You *can* do that in pcgen. That was mynex's point.
I got Mynex' point. Neither Mynex nor you are grasping my point, for which I apologize.

It is my opinion that an application development team that didn't try to code in all the restrictions and regulations around classes, feats, skills and so on would be able to do a better job of implementing the interface and producing a reliable product. Granted, a less powerful product compared to one that DID have all that (and did it reliably), but it would be a BETTER product.
barsoomcore said:
I just need to be able to assign skill points quickly, stat up characters and have their bonuses come out right. I need to be able to choose feats and have their impact get added right away.
soulcatcher said:
PCGen does solve this problem.
It WOULD solve this problem if assigning skill points, statting up characters and choosing feats could be done QUICKLY. But it can't. It takes forever, firstly because the interface is so spectacularly obtuse, and second because the performance of the application is so terrible.

Again, if the developers weren't worrying about trying to code in a host of complex regulations and restrictions, they'd be able to spend more time getting what DID work to work better.

I've been in this business I'm sure as long as you have, and we both know that software ships with bugs and that interface design is really really hard and when developers can choose what they want to work on they generally work on what they think is fun -- which may not have any connection to what NEEDS doing. I understand the difficulties you guys face and as I've said, I think you've done tremendous work. You should be proud of PCGen.

But it doesn't meet my needs and what I'm saying is that one of the reasons it doesn't is because of a design decision to include a bunch of features I don't need. Had those features been left out, the resulting application could have been made far more reliable and usable than the current one -- and it would have met my primary need.

So the fact that PCGen lets me turn off the feature is frankly, just worsening the problem. You're making the product even MORE complicated by letting the user set the runtime conditions. Design it right the first time.
soulcatcher said:
I have been put in charge of developing a completly new, simple UI for pcgen for the 6.0 release, so we *do* recognize that pcgen needs to be easier to use, and there is activity on that front - but this stuff is not fast to develop.......
Good news. And good luck. And have fun.

And don't expect me to lighten up anytime soon. Feel free to ignore me -- if your primary market is not saying what I'm saying then fair enough. Go after your market with all you've got. But I know what I want and I'll just keep bugging you for it....

:D
 

barsoomcore said:
Good news. And good luck. And have fun.

thanks. Personally, I design guis with one thought in mind. How simple can this be? From there, I look to where one can add features *without* interrupting that simple flow. Hopefully, I can bring that to pcgen - and better performance would be nice.....(actually, I'm hoping to use JUnitPerf to make it clear to the developers where our bottlenecks are....to hopefully clean that up.)

barsoomcore said:
And don't expect me to lighten up anytime soon. Feel free to ignore me -- if your primary market is not saying what I'm saying then fair enough. Go after your market with all you've got. But I know what I want and I'll just keep bugging you for it....

:D

No, you are a part of the audience, and your position is noted. We can't be all things to all people - but we can consider ways to make pcgen *better* for most people, and that deffinitly includes the 3 primary things you have asked for (at least in my interpretation): Speed, Simplicity and Stability.

It'll take months, maybe even a year or two - but the resulting pcgen I firnly believe will accomplish this.

Devon
 

soulcatcher said:
No, you are a part of the audience, and your position is noted. We can't be all things to all people - but we can consider ways to make pcgen *better* for most people, and that deffinitly includes the 3 primary things you have asked for (at least in my interpretation): Speed, Simplicity and Stability.

It'll take months, maybe even a year or two - but the resulting pcgen I firnly believe will accomplish this.

Devon


I hope it works out and I'm looking forward to seeing it. For me, one of the biggest barriers to adopting any of the available chargens has been the GUI. From what I've seen, I like how PCGen handles prereqs and stuff, and as a user I want that. But I couldn't understand the interface so I gave up.

I once heard that for any given software project, you can expect the first version to serve as a prototype and have to be thrown away eventually.
 

Silveras said:
Right now, "Job seeker". ;)

Normally, Software Engineer, Database Administrator, Data Architect, or some combination/variation of those.

I'm sorry to hear that! I hope you find one soon...
 

Into the Woods

Remove ads

Top