The Campaign Builder's Guild

The Archives => Meta (Archived) => Topic started by: Cap. Karnaugh on December 09, 2009, 10:49:04 PM

Title: World Builder Software (post your ideas!)
Post by: Cap. Karnaugh on December 09, 2009, 10:49:04 PM
Hey guys! Here's the deal: ever since I enrolled in Software Engineering, I had the idea of making a automatized world-building program.
Since I like sandbox (http://www.gnomestew.com/gming-advice/nonlinear-sandbox-games) type of games, this program should cover almost every single aspect of my world (from fauna to flora, language, pantheon, guilds, politics, etc), but at the same time give enough flexibility to tweak around with the input parameters so as to have a unique and coherent setting.
So, after some thought, I made a list of which things it should create

Character Creation
   PC creator
   NPC creator
   Villain creator (yeah, I have that AD&D book :D)
   Name generator, which could vary according to Nation or Kingdom
   Character's appearence (NPC or PC)

Rule creation
   Class Creation
   Prestige classes creation (this was back when I played D&D 3E, doesn't make much sense now in true20)
   Talent creation
   Spell creation
   Skill creation

Object creation
   Item
   Magical Items
   Weapons
   Armor
   Books
   Artifacts
   Jewelry

Game Management
    Adventure name generator
   Dice roller (OBVIOUSLY)
   treasure generation
   Traps generation
   Random encounter generation
   Adventure creation (where you should specify "acts" or "phases", each one with terrain, weather, characters in it, etc)
   Voice synth (OK, this is waaayyyy out of my league, but I'm just letting the creativity flow, hehe)
   Combat manager (between armies and party vs. monsters)


Campaign Management
   Random weather (each weather would have a probability attached to it according to the kingdom where the adventure takes place)
   Random hex-grid combat map generator
   Calendar generator (which could vary -again- according to the kingdom)
   Notes
   Interactive world atlas (a la Encarta Encyclopedia)
   Random "places" (a ruin, a church, that kind of places) generator
   translator (basic one, of course)


World generation
   Cities, towns, etc
   Kingdoms
   Armies
   Pantheons
   Planes
   Animals
   Plants
   Weather
   Maps (maybe hex-grid?)
   Calendar (with moon phases, holidays, etc)
   Heraldry (basic shield creator)
   Noble houses (according to races)
   Foods
        //I bought tournaments, fairs and taverns book ¿So what?
   Taverns/Inns
   Tournaments
   Fairs
        Tents
   Monsters & races
   Insults
   Religions
   Diseases
   Languages

And this is my comprehensive list. I would appreciate if you could add new things to the list, or for any of the items listed, which options would you like to be able to tweak.
Title: World Builder Software (post your ideas!)
Post by: Cap. Karnaugh on December 09, 2009, 10:52:19 PM
Oh! BTW. I'm currently busy with a project at work, and both my family and university are taking the rest of my free time, so, up until mid-february, you shouldn't expect any software created.
That said, I'll gladly hear your opinions before even starting, so to have a clearer picture of how to make this program really useful.
Title: World Builder Software (post your ideas!)
Post by: Elemental_Elf on December 10, 2009, 12:52:17 AM
An exotic location section might be helpful in addition to your comprehensive list. Also, random name generators should be made for items, kingdoms, npcs, cities, towns, dungeons/adventure spots, spells, magical creatures, plants, artifacts, books, etc.
Title: World Builder Software (post your ideas!)
Post by: Lmns Crn on December 10, 2009, 12:53:06 AM
Wow, this is impressively ambitious! Welcome to the site, by the way.

I am going to need some time to wrap my head around the concept you're presenting, here. My gut feeling is that such software has the potential to be either a powerful creative tool or a straitjacket, depending on how much and what types of human input it allows for, and what it does with that input. I'll need some time to consider things.

I'm a little bit confused by the scope of your project-- it looks... well, frankly, huge. You seem to have functions in mind for worldbuilders, for GMs/storytellers, and for players. I am wondering who you see using this software and for what tasks.

I am very much interested in hearing more about what you have in mind. But I will mull it over and try to get you some additional ideas, after I let this sink in a bit.
Title: World Builder Software (post your ideas!)
Post by: Cap. Karnaugh on December 10, 2009, 08:22:51 AM
@Elemental Elf: Nice! Thanks for your contribution.

[blockquote Luminous Crayon]Wow, this is impressively ambitious! Welcome to the site, by the way.[/blockquote]
Hi L.C.! Yeah, it's a pretty ambitious program, hope I'm up to the task. Just in case, I'll release it under GPL, so that anyone is free to modify it at will.

[blockquote L.C.] (...) such software has the potential to be either a powerful creative tool or a straitjacket, depending on how much and what types of human input it allows for, and what it does with that input.(...)
[/blockquote]
Completely agree; if you don't allow enough customization, it could make worldbuilding too easy (not bad by itself) and uncreative.

[blockquote L.C.]I'm a little bit confused(...)You seem to have functions in mind for worldbuilders, for GMs/storytellers, and for players.
[/blockquote]
My bad, the thread's title was perhaps misleading. At first I had the idea of a worldbuilding app, but as time went by, I realized that it could be more comprehensive, outside it's initial scope.
From my point of view, the first 3 modules listed here would be relatively easy to implement (though there are tons of those apps in the market)
Next, the world generation. It's just a matter of knowing WHAT things you want to know about a certain item, and then applying a formula (I can explain this a little bit if you want me to). Lastly, Campaign and game management modules would be the hardest ones.

[blockquote L.C.]I am wondering who you see using this software and for what tasks.
[/blockquote]The target would be mostly GM's. As for the tasks, the program is intended to make GM's (and players') life easier when running a campaign/adventure.
Title: World Builder Software (post your ideas!)
Post by: Jharviss on December 10, 2009, 08:35:22 AM
This is fascinating, gnola14, and something I've certainly considered enough. Though you'd have a hard time getting your hands on them, anything in the Gygaxian Fantasy Worlds series of books would probably help you out immensely. Those books are full of random charts for you to choose things from.

That little sidenote left aside, I would love to help you out with any content you need.

Do you plan on this being fully generating? It would be really cool to have a list of parameters that you can adjust, but then it details out an ENTIRE world.  A large enough program with enough processing power could truly detail out a lot... that'd be fascinating.

And I could see how it would work, too.

Step One: Random races

Step Two: Random nations
 - Random cities in nations
 - One of three biggest randomly selected as capital

Step Three: Random Cities
 - Populations assigned based on nation populations
 - Livestock and crops randomly assigned based on random assigned location in world which then selects from a list of random environs that can be in that location

Step Four: Random People
 - Adventure plots randomly assigned to random people
 - Goals and merits randomly assigned to people

Bigod, if this could be created to have no overlaps, it'd be brilliant. Gah, as if. :P  That'd require quite a bit, but like you, I'm just thinking through my keyboard.
Title: World Builder Software (post your ideas!)
Post by: Cap. Karnaugh on December 10, 2009, 12:23:40 PM
Quote from: The Crakmono(...) Gygaxian Fantasy Worlds series of books would probably help you out immensely. Those books are full of random charts for you to choose things from.
Great Crakmono! I'll check them for sure.

Quote from: The CrakmonoThat little sidenote left aside, I would love to help you out with any content you need.
Please, be my guest :D . Any help would be appreciated.

Quote from: The CrakmonoDo you plan on this being fully generating? It would be really cool to have a list of parameters that you can adjust, but then it details out an ENTIRE world. (...)

That's pretty much what I'm trying to accomplish. As a matter of fact, the whole idea began when I was running an adventure on a small town, and I thought "How cool would it be to know every people in here, their relationships and what do they work". After that I just kept thinking in other "cool" things to automatize (things that I wouldn't create by my own hand)

Title: World Builder Software (post your ideas!)
Post by: Lmns Crn on December 10, 2009, 01:08:46 PM
Hmm. Okay. So, here's the thing. Everybody thinks of random generators when they think of these kinds of utilities, and I'm going to suggest that you go a different way-- their results are often lackluster. 'Sides, there are plenty of random generators out there already.

What I think would be awesome is some kind of very guided semi-random generator. Like, instead of clicking "populate this town" and getting a town with a random number of randomized people with randomized traits, the generator actually thinks it through. Maybe you have the option to determine the size of the town, its major industries, the major factions that influence it (from your preset list of organizations and power groups in your world), or even how old the town is, and the generator goes from there. Rather than just randomizing everything, it would check to make sure there's some kind of government, that the town has the tradesmen and industries it needs to sustain itself, and that there aren't any glaring, unaccounted-for contradictions (i.e., huge ironworking industry in a city with no ore for miles and miles, etc.).

What would really be super-pro is if, instead of doing such generating jobs as "snapshots of now", they span history. Say, the "now" year for your world is 1000, and you want to generate a city that's been there since the year 500, the generator would start by generating a new settlement in 500 and letting it grow for five hundred years, tracking births and deaths, immigrants, new construction, natural disasters, and all that sort of thing. (Instead of starting in 1000 and generating a "finished product", cut from whole cloth.) I think you'd get weightier results: You'd know, for example, that the Herefords are descendants of the trader who founded this town, and that they spent their saved fortune to rebuild after the tragic fire of 897, etc.

In matters re: treasure/object generation, I'd like to see user input able to really heavily customize the database from which new items are generated. Like, if you're going to see it potentially generate a "holy [thing] of [religionname]", I want to be able to customize both of those variable lists, and also to specify that Religion A is opulent and poetic (so emphasize gold icons and flowery scriptures), Religion B has no holy books because it originates in tribes with no written language (so don't generate books), and Religion C emphasizes humility, poverty, charity, and detachment from earthly desires (so these themes should show up in randomly generated items, but no gold or precious stones).

This one is my favorite part:

I want to see software with the ability to suggest far-reaching changes and consequences as a result of actions, and give the user the ability to choose or tweak them based on these extrapolations.

For example, say I've got a world in progress, and I want to add a new thing to it: a plant, which grows in marshlands, and whose seeds can be processed into a powerful aphrodisiac. Now, wouldn't it be amazing if a program could take that input and do the following:

1. add the new plant to the world in appropriate climate regions and show you on a world map where it grows

1a. let you tweak that area with sliders for how hearty it is, the top/bottom temperature levels it tolerates, etc.

2. suggest effects of this new, useful herb on the economies of settlements in/near that region (will they be wealthier? will there be more herbalists/pharmacists/witch doctors there? will there be more crime (directly or indirectly related to the availability of powerful aphrodisiacs)? how will this affect global trade routes?

3.) how would the availability of a powerful aphrodisiac change the outcome of the year 638 Civil War of Castleton? (if Lord Craven could simply have drugged and seduced the widowed queen before the power struggle escalated to fighting, could bloodshed be avoided? If so, would the Castleton army-- at full strength now, not depleted by infighting-- successfully resist the barbarian invasion of 713?)

3b. give you a little flowchart of branching tree of these effects, and let you confirm/deny them one at a time (with each decision affecting the range of future possible outcomes, if appropriate); say, what if I really liked the Civil War of Castleton, I should have the option to override the program and keep the civil war in place, even if the program's extrapolation says that this new plant means it probably wouldn't have happened.

And yeah, I understand that these suggestions add up to a truly enormous project. But hey, you asked for a wishlist. :yumm:
Title: World Builder Software (post your ideas!)
Post by: LD on December 10, 2009, 01:25:28 PM
Perhaps of interest for you:

http://www.thecbg.org/e107_plugins/forum/forum_viewtopic.php?70946.last

and

http://www.thecbg.org/e107_plugins/forum/forum_viewtopic.php?70944

A wholly randomly generated world.

--
Also Dwarf Fortress' development can help you understand the difficulty and challenges and nuances of the task you appear to be attempting:
http://www.bay12games.com/dwarves/dev_now.html
Title: World Builder Software (post your ideas!)
Post by: Cap. Karnaugh on December 10, 2009, 01:50:53 PM
@ Light Dragon: You wanted me to check out your map generation process or did I look at the wrong thing? Pretty cool how you did those maps.

[blockquote Luminous Crayon]What I think would be awesome is some kind of very guided semi-random generator. [/blockquote]
LC, that's what I have in mind actually. To automatize the things that otherwise you wouldn't create by hand (eg: relationship and jobs of 2 million people), but still requiring some careful thinking from the user.
Oh! I really liked your idea on how to create a city with history.
About the other thing (the plant and its consequences)...yes, it's pretty f* hard, though we're just brainstorming, so any ideas are valid :D

Title: World Builder Software (post your ideas!)
Post by: SDragon on December 10, 2009, 09:06:19 PM
This sounds like an incredibly interesting idea, and I can't wait to see the "final" result. Maybe include a mad-libs style fluff generator, or options to override the randomness in various elements?

What language do you plan on using, anyway?
Title: World Builder Software (post your ideas!)
Post by: LD on December 10, 2009, 09:24:18 PM
Oh gnola, actually I didn't do those, another person on the forum did. One thread is the process for doing the maps, the other is where Saranosil discussed how she went about her randomization process- if you want to ask her any questions. The last link is to Dwarf Fortress.

And here's the first thread of Saranosil's: "http://www.thecbg.org/e107_plugins/forum/forum_viewtopic.php?70784" I should have put that in the first link.

I also should have explained more- sorry for being too brief. I hope this helps.

Welcome to the forum.
Title: World Builder Software (post your ideas!)
Post by: Cap. Karnaugh on December 11, 2009, 12:06:23 PM
Quote from: Rorschach Fritos(...) or options to override the randomness in various elements?
¿You mean, like (eg) the interracial mix percentage in a city (DMG 3E)?

Quote from: Rorschach FritosWhat language do you plan on using, anyway?
Well, I'm proficient with Java, but I've been wanting to program something in Python, so maybe this is a good chance to do so (Python+Pygame probably)
Title: World Builder Software (post your ideas!)
Post by: Lmns Crn on December 11, 2009, 12:44:30 PM
Quote from: Cap. Karnaugh (aka gnola14)¿You mean, like (eg) the interracial mix percentage in a city (DMG 3E)?
This brings me to another feature suggestion: Would it be possible to let software users import or create their own demographics and other data? I know there are a lot of people on this site who depart rather radically from whatever DMG defaults you might name, or who don't use anything resembling a typical D&D world whatsoever.
Title: World Builder Software (post your ideas!)
Post by: Cap. Karnaugh on December 11, 2009, 02:35:44 PM
Quote from: Luminous CrayonWould it be possible to let software users import or create their own demographics and other data?
Sort of a tricky question; you see, while I do intend to give as much flexibility as possible, there's also the realistic side of what I can accomplish on my own and in my free time.

That's why I'm relying on several books to extract some mechanics on how to create stuff. That said, the mechanics themselves should not be the main focus, but rather WHICH things would you like to be able to edit.
Title: World Builder Software (post your ideas!)
Post by: Cap. Karnaugh on December 11, 2009, 02:42:37 PM
What I meant was that at first the program will rely on some "hard-coded", book-based mechanics. This is because we need to have first a functional prototype in order to see which things we like or dislike about it. In time, however, the idea is to provide the ability to extend (or even replace those mechanics) for custom ones.
Title: World Builder Software (post your ideas!)
Post by: Ra-Tiel on December 11, 2009, 06:32:04 PM
As for the "random" aspects of your ideas, I'd strongly suggest looking at Procedural generation (http://en.wikipedia.org/wiki/Procedural_generation). So instead of having to create dozens/hundreds/thousands of by yourself and mix it together with a random generator, you create algorithms that can generate these things based on seeded input. This'd have the additional benefit that you could easily recreate especially good creations by simply saving the seed used by the algorithm.

A very impressive example of what procedural generation is capable of can be seen with this work-in-progress: Infinity - Quest for Earth (http://www.infinity-universe.com/Infinity/).

Regarding the other stuff: I'd take a look at how "serious" applications organize their things. Using structures like trees or mindmaps, and how these could be applied to game mechanics. Anyway, good luck with your project. :)
Title: World Builder Software (post your ideas!)
Post by: Cap. Karnaugh on December 11, 2009, 08:07:20 PM
Quote from: Ra-TielAs for the "random" aspects of your ideas, I'd strongly suggest looking at Procedural generation (http://en.wikipedia.org/wiki/Procedural_generation).
You're right, it could work. Will definitely take a look at it!

Quote from: Ra-TielRegarding the other stuff: I'd take a look at how "serious" applications organize their things. Using structures like trees or mindmaps, and how these could be applied to game mechanics.
Hehe, I had already thought about graphs :D

Quote from: Ra-TielAnyway, good luck with your project.
Thanks!