A couple of days ago was our (almost) weekly Dungeons & Dragons gaming session. Our party at that time consisted of 8 heroes, although we’re only 4 players and one Dungeon Master (DM). Therefore every one of us plays two characters. This ensures a good mixture of different character types for almost every possible situation were different skills and abilities are required. My two characters were:
The other characters of our party are a few levels higher than mine. The average level was probably between 11 and 13. The main problem on the last Saturday was the fact that our DM is a little bit unconscious about taking into account the challenge rating of our enemies. So we had to fight about 15 enemies lead by a cleric with a challenge rating (CR) of about 16. For people who are not familiar with an appropriate challenge rating: an enemy group with a CR of 16 is a suitable challenge for 4 to 6 characters of the same level (16 in this case). As you can probably reason, this was a pretty tough task. At the end of the encounter 2 of our characters had passed away. Unfortunately one of them was my fighter Nethard.
So I had to create a new character for our session on the next Saturday evening. The problem with the D&D character creation is to find the right classes, races and feats. You have to browse through lots of books (I think there are almost 100 source books) for the „right configuration“. This problem and the fact that all our party members are to lazy to fill out our characters spell sheets and wanted me to create a laziness solution, resulted in what I am currently doing in my spare time.
I started to develop a d20 database (called „d20 library“), to manage classes, spells, feats, races, equipment and templates. Connected with this task is the necessity for a d20 programming library which includes abstractions of all possible d20 content. Currently I’ve started the implementation in C# with Visual Studio 2005 and the .NET Framework 2.0. I took a look at Visual C# Express 2008 and the Windows Presentation Foundation and XAML, but I didn’t liked it in the first place.
Take a look at the first 3 screenshots of my implementation. It currently only supports to manage source books.