| Post/Author/DateTime | Post |
|---|---|
| AoErat12-22-05, 03:24 PM | I'm working on writing a program that can advance creatures by hit dice, apply ability arrays and templates, and meet a given CR. Since there are so many possible permutations, and the fact that I'm no d20/D&D master, I'd love if you could take a look at this program and let me know: a) what it is doing wrong b) what it could do better c) any other thoughts It's all web based: http://www.aoerat.com/dnd/gen/ I know you guys are going to rip this apart but I figure that is for the best. Anyway, if you find a problem, I'll either post how it calculated the number and you can tell me why that is wrong, or I'll find the bug and fix it right away. There are bound to be some numerical issues because there are so many possible variations. There are a couple of important things I should mention: 1) This is currently quite "beta". Not everything is expected to be perfect, but ideally there should be no numerical errors. 2) I've imported a limited set of creatures (O-R according to the SRD). 3) Not all context links will function since they aren't all listed in the data I imported. 4) Whenever possible, I try to combine text. This means that appended to the text for a Ghost Otyugh there is relevant ghost template text. Descriptions and qualities that belong to families of creatures that are usually listed at the head of a section are also appended. 5) I've found a few ambiguities in the rules which cannot be interpreted into code (for example: skeletons gain a claw attack if the base creature has hands - my program cannot determine that). In these cases, I try to simply include relevant text and mention that the creature should be modified as necessary). 6) Saving throws are not accurate past 20 HD, because that is as far as the table goes (suggestions?). Finally, I have a question related to CR. Is this the right way to do it: For an Owlbear Skeleton with 7 extra HD, this is how it is being calculated, going by the "Improving Monsters" section of the SRD: +1 - HD increase modifier - Undead gain +1 CR for every 4 extra HD +1 - Size Modifier - size increases by one step due to HD change +6 - Template modifier - HD range 12-14 is +6 Or, should I only be counting the Template CR, which would make the total CR 6 instead of 8? Technical details: - All data is imported from the SRD. I wrote some very messy scripts to parse everything into a format I could use - PHP, with MySQL database for all data - Flow: read formatted data from table -> parse into individual numbers/descriptors -> apply ability array -> apply hit dice changes -> apply template -> parse back into formatted data for display - everything generated on-the-fly |
| AoErat12-23-05, 12:09 AM | Bumping. Hoping to get some feedback. :) |
| OamuTheMonk12-23-05, 12:29 AM | Unfortunately, I can barely use this thing to get on the Interwebs, and could be of no possible help. Surely someone with tech knowhow will step up with some suggestions? |
| Seraph of Babel12-23-05, 02:00 AM | 6) Saving throws are not accurate past 20 HD, because that is as far as the table goes (suggestions?).Monster saves are based on a formula, regardless of HD. It doesn't use epic save bonus, if that's what you are thinking. For an Owlbear Skeleton with 7 extra HD, this is how it is being calculated, going by the "Improving Monsters" section of the SRD: +1 - HD increase modifier - Undead gain +1 CR for every 4 extra HD +1 - Size Modifier - size increases by one step due to HD change +6 - Template modifier - HD range 12-14 is +6 Or, should I only be counting the Template CR, which would make the total CR 6 instead of 8?An owlbear is a 5HD/CR4 Large magical beast. A 12HD owlbear becomes Huge (CR+1) and gains 7 HD (CR+2, round-down 7/3), so it's CR7. A 12HD skeleton owlbear however is CR6, because the template gives a flat CR instead of a CR adjustment (e.g. half-fiend). For the generator, I was expecting to be able to see how much a creature can advance by HD, and original CR before clicking "Apply". I mean it helps to decide what final HD/CR you want if you know what's the original HD/CR. Otherwise, you'd end up with errors. Error: "Evil creatures cannot become Celestial." I tried to make a celestial ogre-mage. An ogre-mage is usually LE, but not always so. Personally, I use my own Excel spreadsheet to advance creatures, since this also allows class advancements. |
| Slagger the Chuul12-23-05, 02:07 AM | 5) I've found a few ambiguities in the rules which cannot be interpreted into code (for example: skeletons gain a claw attack if the base creature has hands - my program cannot determine that). In these cases, I try to simply include relevant text and mention that the creature should be modified as necessary). You may want to add some underlying body structure data of your own. If you have a standard array of settings for each creature type, you should be able to cover the exceptions with relative ease. For example, a very simple body array for a normal humanoid might go something like this: Head: 1 Arms: 2 Legs: 2 Tail: 0 Body Structure: 1 (flesh w/skeleton) With a few simple definitions, you should be able to cover most of the exceptions by specifying when a creature is unusual for its type. A slightly more difficult alternative would be to add template blocks to individual creatures, preventing them from taking specific templates. The main difficulty with such additions is that they multiply as you add more possibilities. |
| AoErat12-23-05, 02:39 AM | Monster saves are based on a formula, regardless of HD. It doesn't use epic save bonus, if that's what you are thinking.The table I was referencing only goes to 20, so I wasn't sure if it was limited to that or not. I'll change it to use the formula instead of a table. An owlbear is a 5HD/CR4 Large magical beast. A 12HD owlbear becomes Huge (CR+1) and gains 7 HD (CR+2, round-down 7/3), so it's CR7. A 12HD skeleton owlbear however is CR6, because the template gives a flat CR instead of a CR adjustment (e.g. half-fiend). Ok, gotcha. Will make relevant changes. For the generator, I was expecting to be able to see how much a creature can advance by HD, and original CR before clicking "Apply". I mean it helps to decide what final HD/CR you want if you know what's the original HD/CR. Otherwise, you'd end up with errors. Well, you can, if you just select the creature and don't enter any other parameters. It'll just load the base creature in that case. Maybe I'll add some text to the initial page (before anything is selected) that explains usage a bit. Error: "Evil creatures cannot become Celestial." I tried to make a celestial ogre-mage. An ogre-mage is usually LE, but not always so.I've currently got it generalizing "usually evil" to "always evil", but I guess I should consider checking for particular adjectives. Personally, I use my own Excel spreadsheet to advance creatures, since this also allows class advancements.That's gotta be a helluva complicated spreadsheet :D I'm actually working on allowing class advancements as well, but there are a lot of things to consider since it has to generate a perfect stat sheet. (funny, class advancement is quite a bit simpler than HD advancement) Once I get the bugs worked out of the dev version I'll update the one mentioned in this post. Thanks for your feedback and anwers! :) You may want to add some underlying body structure data of your own.I considered simply flagging creatures as having hands, etc, but the real difficulty, as you noted, is that there are gonna be a lot of variations. I'm trying to limit the "grunt-work" I have to do. I'm not sure I want to go through and specify particulars for every single imported creature, which is why I'm considering letting the page be a little more vague about those situations. |
| Slagger the Chuul12-23-05, 07:15 PM | I considered simply flagging creatures as having hands, etc, but the real difficulty, as you noted, is that there are gonna be a lot of variations. I'm trying to limit the "grunt-work" I have to do. I'm not sure I want to go through and specify particulars for every single imported creature, which is why I'm considering letting the page be a little more vague about those situations. Some of the creature types would be harder than others, but now that I think about it, you could also define whether or not the creature has a long or tall space, which narrows it down a bit further. Some of the types, such as giants, humanoids, dragons, and oozes would be relatively easy, with few exceptions, while some like the aberrations could be a bit more annoying at times. The body work could also pay off later if you want to expand the program to include equipment. If you lay down good data like this to begin with, you'll be able to make it into all sorts of useful information later on. |
| Skritz_the_Lizardmen01-07-06, 06:12 PM | Dont use the program u talk about, it just dont work well |