Menu
News
All News
Dungeons & Dragons
Level Up: Advanced 5th Edition
Pathfinder
Starfinder
Warhammer
2d20 System
Year Zero Engine
Industry News
Reviews
Dragon Reflections
White Dwarf Reflections
Columns
Weekly Digests
Weekly News Digest
Freebies, Sales & Bundles
RPG Print News
RPG Crowdfunding News
Game Content
ENterplanetary DimENsions
Mythological Figures
Opinion
Worlds of Design
Peregrine's Nest
RPG Evolution
Other Columns
From the Freelancing Frontline
Monster ENcyclopedia
WotC/TSR Alumni Look Back
4 Hours w/RSD (Ryan Dancey)
The Road to 3E (Jonathan Tweet)
Greenwood's Realms (Ed Greenwood)
Drawmij's TSR (Jim Ward)
Community
Forums & Topics
Forum List
Latest Posts
Forum list
*Dungeons & Dragons
Level Up: Advanced 5th Edition
D&D Older Editions, OSR, & D&D Variants
*TTRPGs General
*Pathfinder & Starfinder
EN Publishing
*Geek Talk & Media
Search forums
Chat/Discord
Resources
Wiki
Pages
Latest activity
Media
New media
New comments
Search media
Downloads
Latest reviews
Search resources
EN Publishing
Store
EN5ider
Adventures in ZEITGEIST
Awfully Cheerful Engine
What's OLD is NEW
Judge Dredd & The Worlds Of 2000AD
War of the Burning Sky
Level Up: Advanced 5E
Events & Releases
Upcoming Events
Private Events
Featured Events
Socials!
EN Publishing
Twitter
BlueSky
Facebook
Instagram
EN World
BlueSky
YouTube
Facebook
Twitter
Twitch
Podcast
Features
Top 5 RPGs Compiled Charts 2004-Present
Adventure Game Industry Market Research Summary (RPGs) V1.0
Ryan Dancey: Acquiring TSR
Q&A With Gary Gygax
D&D Rules FAQs
TSR, WotC, & Paizo: A Comparative History
D&D Pronunciation Guide
Million Dollar TTRPG Kickstarters
Tabletop RPG Podcast Hall of Fame
Eric Noah's Unofficial D&D 3rd Edition News
D&D in the Mainstream
D&D & RPG History
About Morrus
Log in
Register
What's new
Search
Search
Search titles only
By:
Forums & Topics
Forum List
Latest Posts
Forum list
*Dungeons & Dragons
Level Up: Advanced 5th Edition
D&D Older Editions, OSR, & D&D Variants
*TTRPGs General
*Pathfinder & Starfinder
EN Publishing
*Geek Talk & Media
Search forums
Chat/Discord
Menu
Log in
Register
Install the app
Install
Upgrade your account to a Community Supporter account and remove most of the site ads.
Enchanted Trinkets Complete--a hardcover book containing over 500 magic items for your D&D games!
Community
General Tabletop Discussion
*Geek Talk & Media
Character Generation [technical/theoretical]
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Davin" data-source="post: 341601" data-attributes="member: 1183"><p>Now <strong>that's</strong> an interesting idea! I wasn't quite sure where you were heading with all that 'till I got to the end of your missive, but I think I figured out your intentions there. However, I also think that it's tremendously ambitious -- doable, but quite difficult. And you're right, it's going to have to be thoroughly designed, modelled, and tested before coding anything that won't be thrown away.</p><p></p><p>You talk about the final system being completely data-driven. I think that can be done (at least much easier) if you put *some* kind of environmental restrictions on it. For instance, a good starting point might be to assume that it's a d20-style game you're working with (D&D3e can be used for a specific example during development if desired). But in a larger sense, you could make this do more...such as design Mechs or Spaceships or decks of TCGs (the latter of which I've given some thought to myself). But it might be nice to limit ourselves to a single "field" for now.</p><p></p><p>Also in regards to the data, we're going to have to have some kind of database of information to drive this code. For instance, choosing a weapon would have to include information about its attacks, damage, synergy with abilities (e.g. mighty bows, etc.), or choosing a feat would have to know what the prerequisite chain is. So an early question I see (though the answer may be obvious) would be "where are we going to get/keep this information?" Are we going to lift it from some other source (like E-Tools or PCGen or whatever), or try to design it to use such a source directly, or are you intending on rebuilding everything from scratch just for this purpose?</p><p></p><p></p><p></p><p>Ok - I'm already seeing several possible approaches...</p><ul> <li data-xf-list-type="ul">It looks like it's a classic example of a multivariate optimization problem. (Think epic-level [non-]linear programming...) Mathematical techniques have been derived for dealing directly with problems of this sort, which I expect we could use. However, I'm not quite enough of a math person to be able to tell you exactly what they are or how to use them. Maybe someone else better qualified could fill us in on this subject?</li> <li data-xf-list-type="ul">This could also be handled with an expert system. Expert systems are nice because they can find their way to a solution rapidly and easily. Their difficulty lies in needing to pre-define all the possible interactions and ramifications for it to assemble and use.</li> <li data-xf-list-type="ul">The next step up from an expert system is an AI system. Properly programmed, an AI system would be a perfect solution. But it can be extraordinarily difficult to program something that complex and give it enough knowledge (associated data) to be useful (unless you're a leading-edge AI researcher, whom I'd love to find hanging around here). [Oh, and heuristics wouldn't be helpful here unless you're also planning to write a gaming & DMing AI as well to test the final results. --- NOT!]</li> <li data-xf-list-type="ul">Another possible approach that might just work is a system called "simulated annealing". (I understand the principles, but have never worked with any of the details.) I doubt I can describe it properly, but let me try... Think of the process of crystallization in a hunk of cooling molten metal. When it starts cooling, large areas of the metal can no longer migrate far from their current position. As the metal cools, this region of localization gets smaller and smaller, thus each crystal of the final product is slowly limited to narrower and narrower positional choices until it is finally locked into place. Building a character could be much like this, starting with a rough form, then defining smaller and smaller details (interacting things of the same scale) until you end up with the smallest pieces being defined. (I'm not sure I described that very well, but maybe you can see what I'm talking about?)</li> <li data-xf-list-type="ul">Theoretically, you could also use a "genetic algorithm" approach, but that doesn't sound like it has as much promise in this particular case. (In general, it works better for small numbers of things taking a very long time on each one.)</li> </ul><p></p><p>Does that help get any juices flowing?</p></blockquote><p></p>
[QUOTE="Davin, post: 341601, member: 1183"] Now [B]that's[/B] an interesting idea! I wasn't quite sure where you were heading with all that 'till I got to the end of your missive, but I think I figured out your intentions there. However, I also think that it's tremendously ambitious -- doable, but quite difficult. And you're right, it's going to have to be thoroughly designed, modelled, and tested before coding anything that won't be thrown away. You talk about the final system being completely data-driven. I think that can be done (at least much easier) if you put *some* kind of environmental restrictions on it. For instance, a good starting point might be to assume that it's a d20-style game you're working with (D&D3e can be used for a specific example during development if desired). But in a larger sense, you could make this do more...such as design Mechs or Spaceships or decks of TCGs (the latter of which I've given some thought to myself). But it might be nice to limit ourselves to a single "field" for now. Also in regards to the data, we're going to have to have some kind of database of information to drive this code. For instance, choosing a weapon would have to include information about its attacks, damage, synergy with abilities (e.g. mighty bows, etc.), or choosing a feat would have to know what the prerequisite chain is. So an early question I see (though the answer may be obvious) would be "where are we going to get/keep this information?" Are we going to lift it from some other source (like E-Tools or PCGen or whatever), or try to design it to use such a source directly, or are you intending on rebuilding everything from scratch just for this purpose? Ok - I'm already seeing several possible approaches... [list] [*]It looks like it's a classic example of a multivariate optimization problem. (Think epic-level [non-]linear programming...) Mathematical techniques have been derived for dealing directly with problems of this sort, which I expect we could use. However, I'm not quite enough of a math person to be able to tell you exactly what they are or how to use them. Maybe someone else better qualified could fill us in on this subject? [*]This could also be handled with an expert system. Expert systems are nice because they can find their way to a solution rapidly and easily. Their difficulty lies in needing to pre-define all the possible interactions and ramifications for it to assemble and use. [*]The next step up from an expert system is an AI system. Properly programmed, an AI system would be a perfect solution. But it can be extraordinarily difficult to program something that complex and give it enough knowledge (associated data) to be useful (unless you're a leading-edge AI researcher, whom I'd love to find hanging around here). [Oh, and heuristics wouldn't be helpful here unless you're also planning to write a gaming & DMing AI as well to test the final results. --- NOT!] [*]Another possible approach that might just work is a system called "simulated annealing". (I understand the principles, but have never worked with any of the details.) I doubt I can describe it properly, but let me try... Think of the process of crystallization in a hunk of cooling molten metal. When it starts cooling, large areas of the metal can no longer migrate far from their current position. As the metal cools, this region of localization gets smaller and smaller, thus each crystal of the final product is slowly limited to narrower and narrower positional choices until it is finally locked into place. Building a character could be much like this, starting with a rough form, then defining smaller and smaller details (interacting things of the same scale) until you end up with the smallest pieces being defined. (I'm not sure I described that very well, but maybe you can see what I'm talking about?) [*]Theoretically, you could also use a "genetic algorithm" approach, but that doesn't sound like it has as much promise in this particular case. (In general, it works better for small numbers of things taking a very long time on each one.) [/list] Does that help get any juices flowing? [/QUOTE]
Insert quotes…
Verification
Post reply
Community
General Tabletop Discussion
*Geek Talk & Media
Character Generation [technical/theoretical]
Top