The Altar of Attap, why chargen development has failed

Zortag

First Post
First of all, I AM a professional software developer. I've been doing it since the 8-bit world (more than 30 years). I have designed, built, produced, and supported more than 12 "shrink-wrapped" applications over the years.

I have watched in horror and amusement for the last 7 years as chargen projects have floundered and failed. Each product bombed or is limping along for one or more of the classic reasons for software project failure.

Most of the chargen projects have been sacrificed on the altar of ATTAP - All things to all people. I have watched numerous chargen development teams spend large amounts of resources on marginal features. It should surprise nobody that the vast majority of the target market for a chargen are english-speaking and Windows users. Spending resources to make the app multi-lingual or Mac/LINUX compatible forces the majority of your customer base to pay for features they will never use. Sounds, pretty graphics and animations are nice, but they do not sell the product nearly as much as functionality does.

Trying to target more than one operating environment is folly, especially on low-budget projects like a chargen. Multi-platform code is much harder to maintain, especially if you do it the right way and have separate code bases for each platform. If you decide to use a "cross-platform" development approach, you usually end up with a system that does not work quite right on any of the platforms.

The other problem the projects have faced is lack of professional design and project management. It does not seem that a serious design document or process has been applied to these projects. It also looks like the lead programmers are in charge of the projects; a recipe for failue. I never run my own projects - most programmers suck at project management.

Because there never seems to be a formal description of the project, the dreaded scope creep rears it's ugly head. Adding a lack of strong project management, means that problems cannot be anticipated, resulting in missed milestones and late or never-released projects. So, the project keeps getting bigger, more expensive and later.

"OK, big shot", I hear you ask, "how would you do it?"

Assuming I was getting paid to do it, I'd start with a formal requirements definiton. Anything not in the document would not be in the product's first release. I would collect a team of 1 or 2 good programmers, a DBA, a group to build rules, a project manager, a documentation specialist, and a tester.

I would target the product for a Windows XP platform. Using standard Microsoft languages, building for a .NET environment and using the built-in XP operating system facilities for data storage, printing, and display. This is a rich environment for development, with a well-known user interface. Most importantly, more than 90% of the target market has hardware that could run the app.

I'd have to ballpark the development time as 6-8 months from initiation gate. Total cost to develop is around $80-100K. Figuring that this product could be sold for around $30.00 each
about 25,000 units would have to be sold to break even. Not too bad.

Of course, I would not do this without WotC's support. I would expect them to assist in marketing the product, give advanced releases of rules, and grant access to the game developers. To keep Wizards interested in maintaining the product, I would have them implement a subscription service that would allow users to download rule updates and software patches.

In short: one good team, using good development tools, with real design and project management could produce the product for about the cost of one printing of a hard-cover book.

-*Andy*-
 

log in or register to remove this ad

2WS-Steve

First Post
I think one problem is that the only company that can do it is WotC -- because the products has to have their closed content sourcebooks to justify anything beyond a hobbyist development expense.

And WotC has really been pretty half-assed about it so far. They hired some guys they had do another project to take on the E-Tools task. Then, when that didn't work out, hired some people they met on the internet (!!) to patch the job.


Zortag said:
Assuming I was getting paid to do it, I'd start with a formal requirements definiton. Anything not in the document would not be in the product's first release. I would collect a team of 1 or 2 good programmers, a DBA, a group to build rules, a project manager, a documentation specialist, and a tester.

...

I'd have to ballpark the development time as 6-8 months from initiation gate. Total cost to develop is around $80-100K.

That sounds like at least 4-5 contractors for over half a year, which at Seattle IT prices must cost close to 200k even before you get around to health care, office space, matching taxes to the Feds, and so on.
 

trancejeremy

Adventurer
I dunno. I think part of the trouble is that many of the ones were written by people in their spare time, most of whom aren't full time professional programmers, either. It doesn't help that d20 is probably the most complicated RPG in terms of character that I've seen (thanks to the sheer amount of options).

I mean the basics are easy enough. But once you hit feats it starts getting vastly more complicated (especially if you want to let users add their own). And then the different types of bonuses, keeping that straight. And stuff like familiars. It's not hard, it's just very boring to program and I think most people just lose interest.

I know, I've written one myself. The woefully unpopular "Icosahedron" which I haven't even touched since 2002. Still, if someone wants to give $50k and a year, I could have it working 100%.
 

kingpaul

First Post
Zortag said:
Assuming I was getting paid to do it, I'd start with a formal requirements definiton. Anything not in the document would not be in the product's first release. I would collect a team of 1 or 2 good programmers, a DBA, a group to build rules, a project manager, a documentation specialist, and a tester.

<snip>

I'd have to ballpark the development time as 6-8 months from initiation gate. Total cost to develop is around $80-100K.
Hunh? At 1 programmer and a rules group of 1, you're talking 6 people. By your time/cost analysis, that's, on average, an annual salary of

Code:
Time       Cost    Salary
6 months   80k     ~27k
6 months   100k    ~33k
8 months   80k      20k
8 months   100k     25k

You think you can find people to generate the program you're talking about with that as compensation?
 
Last edited:

Gnal

First Post
Yea, I was going thru that same analysis.

6 people * 26 weeks * 40 hours/week at 80000 is $12.83 an hour.

If you are willing to work for that, I have a *LOT* of jobs for you!!!

-- david
 

Ilium

First Post
Yep. A good character generator is a non-trivial app. I don't disagree with your estimation of how much work it might take (depending on what features are in that initial spec) but the budget is way too low for a really professional job.

One viable way to approach this might be (talking off the top of my head) to start small. Take a REALLY small feature set that you or your friends need. Build that (in a solid, professional-grade, extensible manner) then add in features as needed.

Do that whole iterative development thang.

Or you could roll up your sleeves and pitch in with PCGen or some other open project, fixing the things that irk you most first. Of course, I have no room to talk, since I haven't done that myself. I'm just a little intimidated by the size of the project and the amount of time it would take me to get up to speed. :)
 

Zortag

First Post
This is what you get when you don't show your work.

OK, I'm a programmer, I suck at math :D . Actually, I whipped up a spreadsheet and looking at it now, I see that I hosed up at least three things. So, let me try again and I will show my work:
Code:
	Function		Project Hours	Months used	Rate	Cost
1 Senior Prgrammer Analyst	960		6		120	115200
2 Programmer/Analyst		1280		4		100	128000
1 Project Manager		480		3		100	48000
1 DBA				320		2		100	32000
3 Rules editors			1440		3		50	72000
1 Documentation Specalist	320		2		60	19200
2 Testers			640		2		60	38400
	Totals			5440					452800

I thought my first estimate looked a little low :\. It's really bad when you can no longer divide by 30.

So the actual cost is around $500-650K. Selling at $30.00 per copy means between 16,000 and 24,000 unit sales for break-even. Pretty do-able.

Sorry again for my bad figures...
-*Andy*-
 

thpr

First Post
Ilium said:
Or you could roll up your sleeves and pitch in with PCGen or some other open project, fixing the things that irk you most first.

Which is what I do because I don't think it's viable to do a chargen in a pure commercial sense ... love for the project has to be your payback.

Ilium said:
Of course, I have no room to talk, since I haven't done that myself. I'm just a little intimidated by the size of the project and the amount of time it would take me to get up to speed. :)

I see another volunteer :D

Seriously, I respect your concerns over the size of the existing codebase... However, I've only been on the project for about a year... and it's not that bad: no one expects you to know it all. Besides, there are plenty of places you can help without actually delving into the core part of the code if you want to avoid it.

If you really want to help out PCGen, let us know. I'm sure a number of us - myself or others - would be happy to carry on a discussion of potential things to do, either coding or not.

While such a discussion is probably best kept to email (this really isn't the place for it), here are a few thoughts:

Since this is of personal interest to me :), you may have seen the PCGen architecture proposal Devon linked to in a previous thread (the latest version - now 0.2 - is at http://www.geocities.com/thpr/ ). There are a bunch of opportunities around that: Reviews of the document and solving some of the unresolved issues (architectural work) as well as developing future components (coding).

Heck, having someone review the document when that person doesn't know the PCGen code base - but does have devlopment experience and some rules knowledge - would be of great value. Forcing us to explain it to someone else forces us to think about things in a different way, and that's part of how we learn. That's also part of why I'm in an open source project - I'm here to learn and teach. So if anyone out there wants to read the arch doc and ask questions, I'm happy to explain what the thoughts were around any part of it.

If you're really into code, some of the new components will be greenfield development (does not depend on the existing codebase). It's not impacting the current version, but it would be a key component of the next version. That could be another place to participate.

Participating in token development and feature discussions (especially if you have ever worked in LST files) in the pcgen_experimental Yahoo! group is also a good place to be involved and help out (no coding required).

Just challenging your size concern... I understand that may not be the sole reason for not joining the PCGen team (but simply the sole publicly stated one), so consider this simply something to think about.

TP.
--
Tom Parker
PCGen Architecture 2nd
 

Andre

First Post
Zortag said:
Most of the chargen projects have been sacrificed on the altar of ATTAP - All things to all people.

While there is some validity to this observation, you miss the most important issue with designing a 3e (or d20) character generator - the rules are not fixed. They are constantly evolving. They are inherently inconsistent. They are completely exception-based (They give us a clear rule, then a bunch of features that violate that rule in one or more ways). By the time anyone has created a clear, coherent, fixed design document, there will be a few dozen new features from WOTC that (some) people will be clamoring for.

Of course, one could design just for the SRD, but without very strong support for the average user to customize the program, it would be of limited use to many gamers. Virtually all groups add or tweak something in the game - that's a huge part of the attraction of RPG's vs. board and computer games. That flexibility is liberating, allowing a good group to create something that the original designers never imagined. And even if you ignore your customers' tweaks and try to stick to just the SRD, it keeps changing too. (How many FAQ and Errata have been released?)

So we want an electronic tool to make designing characters (or monsters, or treasure, or whatever) much easier, but we also want it to have all the official rules that we use, and be easy to modify to include our (sometimes silly) house rules and tweaks, and we want it to work reliably, and lastly, be relatively affordable. And every one of those features you leave out, you reduce the product's value to the potential customer, which costs you sales.

Just my opinion, but it seems to me that choosing an operating system and language for the program are the least of your worries...
 

Tharian

First Post
Zortag said:
OK, I'm a programmer, I suck at math :D . Actually, I whipped up a spreadsheet and looking at it now, I see that I hosed up at least three things. So, let me try again and I will show my work:
Code:
	Function		Project Hours	Months used	Rate	Cost
1 Senior Prgrammer Analyst	960		6		120	115200
2 Programmer/Analyst		1280		4		100	128000
1 Project Manager		480		3		100	48000
1 DBA				320		2		100	32000
3 Rules editors			1440		3		50	72000
1 Documentation Specalist	320		2		60	19200
2 Testers			640		2		60	38400
	Totals			5440					452800

I thought my first estimate looked a little low :\. It's really bad when you can no longer divide by 30.

So the actual cost is around $500-650K. Selling at $30.00 per copy means between 16,000 and 24,000 unit sales for break-even. Pretty do-able.

Sorry again for my bad figures...
-*Andy*-
I like that someone has taken the time to perform an analysis of the topic, but I get concerned when I see what appears to me to be so little testing. I've seen a few projects go way off course when testing was only performed at the last stages of development instead of being involved from the beginning.

The other part I wonder is where are the requirements coming from? What sort of guidelines are being followed, aside from what the architect has devised? Where would the architect get starting information? I don't believe it can come straight from the SRD (or whatever you happen to base the product on) since there's much more that would need to be detailed in high-level documentation or requirements before the architecture and coding could begin.

[OT: Yay, post #100!]
 

Remove ads

Top