dnd3e-devel Mailing List for DND3E
Status: Alpha
Brought to you by:
elemings
You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(18) |
Jun
(3) |
Jul
(2) |
Aug
(2) |
Sep
(3) |
Oct
(4) |
Nov
|
Dec
(6) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
(2) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2002 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Eric L. <ele...@le...> - 2002-03-13 18:29:45
|
Work is currently underway on the 0.1.x release series of DND3E. The new = releases will depend on the Open Gaming System (OGS) which is another = project here at SourceForge and can be downloaded from = http://ogs.sourceforge.net/.=20 The Open Gaming System is designed to be the foundation for new software = development kits aimed at a particular campaign setting such as Dungeons = & Dragons, Star Wars, Wheel of Time, or any other SRD-compatible game = (e.g. d20 System).=20 DND3E is one such kit. It now contains only the elements from the SRD = (such as skills, items, creatures, and spells) for fantasy (i.e. = Dungeons & Dragons) campaign settings. Since these types of games have = many, many elements, the new releases of DND3E are much bigger than the = old 0.0.x series.=20 In addition to OGS, you will need new versions of pkg-config and glib. = GLib 2.0.0 has at last been released. Go grab a copy from = ftp://ftp.gtk.org/pub/gtk/v2.0/. Pre-release candidates for dnd3e-0.1.0 = are available from ftp://ftp.lemings.com/dnd3e/. You'll need about 300MB = of free disk space to build it so check those filesystems first! |
From: <go...@ud...> - 2001-06-01 19:45:01
|
Eric Lemings writes: > Anything in particular about the design? Not at all. (At least not yet.) I was in the exploration mode, trying to figure out how things are done and why. With your comment as background, I'll (try to find time to) continue with a closer look at what your library supply. Thanks for the explanation. |
From: Eric L. <ele...@us...> - 2001-05-31 22:17:15
|
G=F6ran Uddeborg wrote: > I had been thinking a bit on how to model D&D 3e elements myself when > I found out about this already made library. My thought had gone > along the lines of OO and subclassing. Much of the game seems to lend > itself quite readily to that structure. Creatures can be divided into > monsters and characters. Characters into different classes, and, > orthogonally, into different races. Virtual methods can be used for > the computation of things like base attack bonus, methods which would > have different implementations in different classes. And so on. > > So I was quite curious to compare my early ideas to what was done int > the dnd3e library. It appears to have started along similar ideas of > general attributes and more specific. But it done "by hand" in C, > with the base class explicitly a member of the subclass. Why was it > choosen to do it this way? Why not use a real OO language, and get > language support for this? Guess I'll start from the top. ;) When I started DND3E, I wanted to use an object-oriented design but I did not want to limit the implementation to object-oriented languages. (I don't think one should preculde the other. Besides, I like to program in C just as much as C++.) So why use an object-oriented design and implement it in a procedural language? C is the "common denominator" in my view. It is much easier t= o port to other platforms and write language bindings for other languages when the native API is written in C. If you look at most popular C++ APIs, you find that they are wrappers around an underlying, native C API. A native C++ API is just not as portable or flexible. Besides, most C++ compilers still have not caught up with the C++ standard. Having said all that, I've decided to develop a C API for DSF (d20 System Foundation) in parallel with a C++ API for DSFC (d20 System Foundation Classes). I first tried doing both in one package but ran into too many problems. So now I've separated them into the DSF and DSFC packages. (For those interested in browsing through DSF, I can send a URL but I won't post it yet for all to see.) > I would be happy to read about some of the ideas behind the design. In a nutshell, here's the current design that I'm working on. At the top-level, there are two packages: DSF and DND3E. DSF provides the API for the d20 System rules (without the elements specific to a particular game or campaign setting). DND3E will be built on top of DSF and will contain all elements specific to the D&D game. Anything in particular about the design? Eric. |
From: <go...@ud...> - 2001-05-31 20:46:33
|
I had been thinking a bit on how to model D&D 3e elements myself when I found out about this already made library. My thought had gone along the lines of OO and subclassing. Much of the game seems to lend itself quite readily to that structure. Creatures can be divided into monsters and characters. Characters into different classes, and, orthogonally, into different races. Virtual methods can be used for the computation of things like base attack bonus, methods which would have different implementations in different classes. And so on. So I was quite curious to compare my early ideas to what was done int the dnd3e library. It appears to have started along similar ideas of general attributes and more specific. But it done "by hand" in C, with the base class explicitly a member of the subclass. Why was it choosen to do it this way? Why not use a real OO language, and get language support for this? I would be happy to read about some of the ideas behind the design. |
From: Eric L. <eri...@lm...> - 2001-03-26 22:46:31
|
Michael Arick wrote: > > Hi Eric: > > Yes, this seems reasonable, but what about templates > such as Vampires, where they have a class (and class > levels) and of course a race (elven Vampires can see > in the dark and can't be put to sleep, for example), > but also some concept of special abilities due to > their template creature type. Good question. I haven't given much thought to template creatures but it doesn't take much thought to know that these don't fit "neatly" into any design -- even a good one. Putting on my "pure" O-O design cap, one approach that I can think of is to use...what else...a template class to represent a template creature. To transform a creature into a template creature, you would supply the creature instance to the template creature class. The template creature class takes the normal creature instance and, if the two are "compatible", then it creates a new instance of the templatized creature class, adding its own specific capabilities and limitations. Thereafter, you'd use the templatized creature instance intead of normal creature instance. > Just to bring this into further focus, consider an > example NPC/monster: > > Normong, a 3rd level elven vampire wizard - considered > by the Monster manual to have (totally from memory > here) 7 HD. Example pseudo-code: Elf Normong; Wizard w (3); Normong.AddClass (w); Vampire NormonTheBloodSucker (Normong); Normong.Destroy (); Lich NormongTheMeanYouKnowWhat (NormongTheBlookSucker); catch (IncompatibleTemplateCreature) { // Whoops! He's already undead! } How's that look? > Also, consider the dire rat vs. the dire bear vs. a > brown bear. Clearly there is some overlap in > characteristics there. Maybe it's not important to > all characters, but it could be crucial for a Ranger's > tracking skill, for example. Well, I don't have the MM so I'm not exactly sure what constitutes a "dire" creature or what the difference is between its normal counterpart. Anybody else got an answer for this? Eric. |
From: Michael A. <mic...@ya...> - 2001-03-26 21:36:25
|
Hi Eric: Yes, this seems reasonable, but what about templates such as Vampires, where they have a class (and class levels) and of course a race (elven Vampires can see in the dark and can't be put to sleep, for example), but also some concept of special abilities due to their template creature type. Just to bring this into further focus, consider an example NPC/monster: Normong, a 3rd level elven vampire wizard - considered by the Monster manual to have (totally from memory here) 7 HD. Also, consider the dire rat vs. the dire bear vs. a brown bear. Clearly there is some overlap in characteristics there. Maybe it's not important to all characters, but it could be crucial for a Ranger's tracking skill, for example. --- Eric Lemings <eri...@lm...> wrote: > Hello all, > > It's been a while since this list has seen any > activity and I for one > would like to see more discussion. So what this > list really needs a > good topic for a thread and boy do I have a good > one. I've been > pondering the following questions over and over for > months now. Each > time I think about it, I form a different (and > sometimes better) > conclusion. (In fact, I did while writing this > message.) > > My question is basically this: what is a "character" > and what is a > "creature" in 3rd Ed. D&D? Or more specifically, > what does the > object-oriented design of a "character" class and a > "creature" class > look like? And how does the concept of "race" fit > into this design? > > So let's start with statements of fact. The Monster > Manual (MM) defines > dozens of creatures that can be used in the game > including the > "creatures" that are used as the standard "races" > available for > "characters" (except for humans I think). The term > "race" is most often > used in this context. The MM also classifies each > type of creature into > a category, group, class or whatever you want to > call it. The humanoid > category is most often used for characters. In > addition to this, the > Dungeon Master's Guide (DMG) and the MM define rules > that allow other > creatures to also be used as characters. All > creatures can advance in > one of two ways: by hit dice or by class (character > class that is). > Only creatures that can advance by class can be used > as characters. > > Here are the conclusions I've come to so far. The > method of advancement > is really the only technical aspect that > distinguishes a "creature" from > a "character". (There are other aspects that are > mostly descriptive: > frequency, climate/terrain, appearance, personality, > background, etc.) > Therefore, the two concepts have a lot in common. > What is the name of > the abstract O-O class that defines this > commonality? I'll call it a > "being". Where does "race" fit it? A "race" is not > an O-O class but > simply an interface that adds a few more operations > that facillitate the > use of a creature in the role of a character. These > operations mainly > include physical characteristics such as height, > weight, and age as well > as other details such as favored class. So any > "being" that can be used > as (but not limited to) characters is derived from > the Character class. > Other beings that advance by hit dice and are used > primarily as > advesaries are derived from the Creature class. (A > UML diagram is > attached that shows these relationships.) > > Does this sound like the right approach? Are there > alternatives? Are > there better alternatives? > > By the way, it took me quite a while to write up > this message and there > are now quite a few people subscribed to this list. > If you have any > thoughts, comments, suggestions, questions, or just > want to flame every > conclusion I've drawn (geez...I hope not), please > take a moment or two > and followup with a post. I'd like to see everybody > chime in. ;) > > Thanks, > Eric. > > ATTACHMENT part 2 image/png name=class-diagram.png ===== :):):):):):):):):):):):):):):):):):):):):) :) Michael Arick - In School! :) :) Graduate Student Housing, UCSC :) :) Santa Cruz, CA :) :) :) :) mic...@ya... :) :):):):):):):):):):):):):):):):):):):):):) __________________________________________________ Do You Yahoo!? Get email at your own domain with Yahoo! Mail. http://personal.mail.yahoo.com/ |
From: Eric L. <eri...@lm...> - 2001-03-26 18:03:45
|
Hello all, It's been a while since this list has seen any activity and I for one would like to see more discussion. So what this list really needs a good topic for a thread and boy do I have a good one. I've been pondering the following questions over and over for months now. Each time I think about it, I form a different (and sometimes better) conclusion. (In fact, I did while writing this message.) My question is basically this: what is a "character" and what is a "creature" in 3rd Ed. D&D? Or more specifically, what does the object-oriented design of a "character" class and a "creature" class look like? And how does the concept of "race" fit into this design? So let's start with statements of fact. The Monster Manual (MM) defines dozens of creatures that can be used in the game including the "creatures" that are used as the standard "races" available for "characters" (except for humans I think). The term "race" is most often used in this context. The MM also classifies each type of creature into a category, group, class or whatever you want to call it. The humanoid category is most often used for characters. In addition to this, the Dungeon Master's Guide (DMG) and the MM define rules that allow other creatures to also be used as characters. All creatures can advance in one of two ways: by hit dice or by class (character class that is). Only creatures that can advance by class can be used as characters. Here are the conclusions I've come to so far. The method of advancement is really the only technical aspect that distinguishes a "creature" from a "character". (There are other aspects that are mostly descriptive: frequency, climate/terrain, appearance, personality, background, etc.) Therefore, the two concepts have a lot in common. What is the name of the abstract O-O class that defines this commonality? I'll call it a "being". Where does "race" fit it? A "race" is not an O-O class but simply an interface that adds a few more operations that facillitate the use of a creature in the role of a character. These operations mainly include physical characteristics such as height, weight, and age as well as other details such as favored class. So any "being" that can be used as (but not limited to) characters is derived from the Character class. Other beings that advance by hit dice and are used primarily as advesaries are derived from the Creature class. (A UML diagram is attached that shows these relationships.) Does this sound like the right approach? Are there alternatives? Are there better alternatives? By the way, it took me quite a while to write up this message and there are now quite a few people subscribed to this list. If you have any thoughts, comments, suggestions, questions, or just want to flame every conclusion I've drawn (geez...I hope not), please take a moment or two and followup with a post. I'd like to see everybody chime in. ;) Thanks, Eric. |
From: Eric L. <eri...@lm...> - 2000-12-13 22:34:16
|
Hello all, In dnd3e-0.1.0, I'm planning to reorganize the file structure to accommodate all future development. After many hours of thought, I've come up with the following organization. Each name corresponds to a directory in the distribution as well as the path of installed header files. In the distribution, each directory will contain the header files, source files, and test drivers. (Currently, this are split into three separate directories which is sometimes a pain.) dnd3e/basics dnd3e/characters dnd3e/characters/classes dnd3e/characters/feats dnd3e/characters/features dnd3e/characters/skills dnd3e/creatures dnd3e/creatures/abominations dnd3e/creatures/aberrations dnd3e/creatures/animals dnd3e/creatures/beasts dnd3e/creatures/constructs dnd3e/creatures/dragons dnd3e/creatures/elementals dnd3e/creatures/feys dnd3e/creatures/giants dnd3e/creatures/humanoids dnd3e/creatures/magical_beasts dnd3e/creatures/oozes dnd3e/creatures/outsiders dnd3e/creatures/plants dnd3e/creatures/shapechangers dnd3e/creatures/vermin dnd3e/creatures/undead dnd3e/items dnd3e/items/armors dnd3e/items/artifacts dnd3e/items/potions dnd3e/items/rings dnd3e/items/rods dnd3e/items/shields dnd3e/items/staffs dnd3e/items/weapons dnd3e/items/wonders dnd3e/spells dnd3e/spells/abjuration dnd3e/spells/conjuration dnd3e/spells/divination dnd3e/spells/enchantment dnd3e/spells/evocation dnd3e/spells/illusion dnd3e/spells/necromancy dnd3e/spells/transmutation dnd3e/spells/universal dnd3e/support Notes The name 'abominations' is used instead of 'monstrous humanoids' since its shorter (and a little more eloquent). The standard races are part of the creatures/humanoids package. Eric. |
From: Eric L. <eri...@lm...> - 2000-12-08 14:23:19
|
Saphlyx wrote: > > Hey. > > I would suggest option 1 because under the new rules, all abilities are > treated the same, with same modifiers, etc. What is different is what > things use each ability. Not entirely true. For the most part, all abilities are the same but there are some differences. Strength for example still has a special table affects your carrying capacity. Intelligence has a special table that gives bonus spells for spellcasters. But those are about the only two differences I can think of off hand. > Having said that, does it make sense that an ability should be implemented > as a class? Given that all characters have the same types of abilities, > and all abilities of the same value have the same modifiers, what if an > ability was simply an integer, with its modifiers computed from a lookup table? I guess the best answer I can think of for that question is to give an example. Character has a current Strength score of 20 with magic bonuses. The character walks into an anti-magic field. What is the easiest way to determine what the characters Strength score is now? Keep track of modifiers TO the ability score. That's one example. There are others. For instance, wearing heavy armor imposes a maximum Dexterity score. What's the easiest way to handle that? Keep track of maximum Dexterity scores. And as always a class helps keep the implementation behind closed doors, forcing programmers to use the API to access and modify the score and its derived attributes. Eric. |
From: Saphlyx <sa...@po...> - 2000-12-08 02:09:18
|
Hey. I would suggest option 1 because under the new rules, all abilities are treated the same, with same modifiers, etc. What is different is what things use each ability. Having said that, does it make sense that an ability should be implemented as a class? Given that all characters have the same types of abilities, and all abilities of the same value have the same modifiers, what if an ability was simply an integer, with its modifiers computed from a lookup table? Steve |
From: Eric L. <eri...@lm...> - 2000-12-07 21:50:58
|
Which design is "better"? 1. Ability is an instantiable class. It has an attribute called Type which can have only the values Strength, Dexterity, Constitution, Intelligence, Wisdom, or Charisma. 2. Ability is an abstract class. The Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma classes are the only classes derived from Ability. Consequences: a. Design 1 has fewer classes. b. Design 2 makes the classes easier to use. Just need a little input. Eric. |
From: Eric L. <eri...@lm...> - 2000-12-05 17:16:20
|
Nicholas Ingolia wrote: > > One feature I don't see in the existing framework, though such may be > a consequence of not looking in the right place, is an ability to > write out a text representation of an object and to create objects by > reading in text representations. Such an ability could be used to > write objects to files, network streams, &c. and read them back in. I was just looking at the Java Object class and thinking about this. Perhaps the dnd3e_object class should have virtual functions that return textual and binary representations of the object. Could also add a virtual function that creates an object from binary data. Not sure about adding a virtual function to create an object from text though. Might as well add a virtual compare function while I'm at it. Eric. |
From: Eric L. <eri...@lm...> - 2000-12-05 17:15:00
|
FYI Eric Lemings wrote: > > Hello Nicolas, > > Sorry it took so long to reply: I have been gone for the holiday and > other business. > > Nicholas Ingolia wrote: > > > > -----BEGIN PGP SIGNED MESSAGE----- > > > > Hello... > > > > I am interested in working on the dnd3e SDK. I've been looking over > > it this weekend and would be interested in helping with development. > > I have quite a bit of experience with C programming, but not very much > > with the glib framework, though I expect I shall be able to get up to > > speed on it pretty quickly. > > Anybody with a fair amount of C programming experience will find it > relatively easy to use. I hadn't used it before I started working on > this project. > > > I was mostly wondering if the project were at a stage where additional > > developers would be useful and, if so, what particular parts of the > > project I might be useful in. > > Definately! One or two additional developers would be extremely helpful > thought not many more than that at this stage. Although it's by no > means complete or stable, I have a relatively complete vision of the > entire framework. (At this point, it mostly a matter of waiting until > GLib 2.0 is finally released.) One or two developers could contribute > immensely by helping to test the framework, providing some feedback on > the design of the API, helping with API documentation, and of course > fixing bugs whenever found. > > Up to this point, I've had to do all the work (not that I mind but it's > just really slow progress). > > > One feature I don't see in the existing framework, though such may be > > a consequence of not looking in the right place, is an ability to > > write out a text representation of an object and to create objects by > > reading in text representations. Such an ability could be used to > > write objects to files, network streams, &c. and read them back in. > > It is there...or was. If you look in the CVS history, you'll find some > interfaces and implementations (e.g., the dnd3e_ability and dnd3e_dice > classes) which converts objects to and from text or binary data. I have > removed these interfaces (or left them unimplemented) in the latest > version so I can focus on the internal relationships in the framework > which are currently a higher priority. > > Look for function prototypes/definitions that look like this: > > extern dnd3e_gizmo > dnd3e_gizmo_create_from_text (dnd3e_const_text text, > dnd3e_const_text* end); > extern dnd3e_text > dnd3e_gizmo_get_text (dnd3e_const_gizmo gizmo); > > extern dnd3e_gizmo > dnd3e_gizmo_create_from_data (dnd3e_const_data data); > extern dnd3e_data > dnd3e_gizmo_get_data (dnd3e_const_gizmo gizmo, > dnd3e_data_size* data_size); > > For creating an object from text, the object text may or may not be null > terminated; it may be embedded in text containing multiple objects. > That's what the `end' parameter is for. For converting an object to > text, the text is always null terminated. For data, the size of the > data is always the first piece of data within the data object. For this > reason, the data_size parameter in "get data" functions is optional (may > be NULL). > > Hope this helps and look forward to getting some help with this > project! ;) > > Eric. |
From: Eric L. <eri...@lm...> - 2000-10-24 16:50:38
|
Hello gamers, I'm still hard at work on it but you can browse through the next version of DND3E at http://www.lemings.com/dnd3e/. I've added a lot of stuff and it's getting too big for one person to handle. So if you find anything interesting you'd care to work on, by all means...PLEASE HELP! Or, if you're not familliar with GLib programming, I'd be glad to help. Eric. |
From: Eric L. <eri...@lm...> - 2000-10-13 16:10:12
|
Chris Moyer wrote: > > I grabbed the source from cvs, and I'm supposed to have glib 2.0? I can't > find that anywhere... all I find on cvs.gnome.org is 1.3.1 development > versions of glib. The dnd3e site mentions that it is available somewhere > on the sourceforge site, can someone direct me too it? Just in case the version numbers are confusing anybody else, 1.3.1 is the version number of the development (beta) release of GLib 2.0. So if you see 1.3.1, think 2.0. ;) Eric. |
From: Chris M. <cm...@ch...> - 2000-10-12 13:59:54
|
Hello all, I just joined this mailing list after stumbling across your site. I am very excited about this project! I grabbed the source from cvs, and I'm supposed to have glib 2.0? I can't find that anywhere... all I find on cvs.gnome.org is 1.3.1 development versions of glib. The dnd3e site mentions that it is available somewhere on the sourceforge site, can someone direct me too it? Thanks alot, I'm looking forwarding to using and contribution to this effort! -Chris Moyer |
From: Eric L. <eri...@lm...> - 2000-10-02 18:19:06
|
I'm offering a user account on the computer that I use to develop DND3E to all interested developers. It has a 512k connection and is available 24/7. The account is to be used ONLY for development of the SDK and related software. If interested, send me a request. Thanks, Eric. |
From: Eric L. <eri...@lm...> - 2000-09-28 18:32:43
|
G'day, Today's topic of discussion: Should the dice class be homogenous (only composed of one die type) or heterogenous (can be composed of different die types)? Homogenous is how it is currently implemented but there may be situations which require heterogenous dice rolls. Can anyone think of a reason why dice should be heterogenous? Thanks, Eric. |
From: Eric L. <eri...@lm...> - 2000-09-19 18:33:21
|
Software and info available from the Development site (http://sourceforge.net/projects/dnd3e/). Comments, suggestions welcome. Regards, Eric. |
From: Eric L. <eri...@lm...> - 2000-09-08 00:02:22
|
Hello all, Has anyone seen or heard of any XML projects for 3rd Ed. D&D? Thanks, Eric. |
From: Eric L. <eri...@lm...> - 2000-08-22 18:00:22
|
Hello all, In case you're wondering about the status of the DND3E project, development was going too fast (if you can believe that). The API requires a feature of GLib (i.e., object signals) that is planned for the 2.0 release but hasn't been implemented yet. In the meantime, I've been poring over the official rules now that they are in printed form. So as soon as GLib catches up (in a month or so), development will resume in earnest. Hey, that's open source for ya! Eric. |
From: Eric L. <eri...@lm...> - 2000-08-15 15:42:45
|
Hello all, Just wanted to find out how many people on the list, for purposes of discussion and reference, have or will soon have a copy of the 3rd Edition Player's Handbook. Thanks, Eric. |
From: Eric L. <eri...@lm...> - 2000-07-28 15:39:57
|
Ludovic LIEVRE wrote: > > Hi all, > > I don't know if the creator of DnD3E SDK is on the list, but what do you > think of a C++ port of this SDK ? That would be me. I think a C++ port would be great. While there are still a lot of C developers out there, I know there are also a lot of C++ developers too. One reason I chose to do the initial development in C is that it would allow both C and C++ to be used. (Going from C to C++ is a lot easier than the other way around.) Eric. |
From: Ludovic L. <lud...@ch...> - 2000-07-28 13:18:05
|
Hi all, I don't know if the creator of DnD3E SDK is on the list, but what do you think of a C++ port of this SDK ? -- Ludovic LIEVRE Chaman Productions mailto:lu...@ch... "Give me a museum and I'll fill it." Pablo Picasso (1881-1973) |
From: Eric L. <eri...@lm...> - 2000-06-19 13:00:15
|
FYI, http://www.dnd3e.org/documentation/api/ dnd3e-0.0.4 to be released at end of week. Eric. |