DWARF FORTRESS HISTORY GENERATION ALGORITHMS?

Posts

Pages: 1
Rave
Even newspapers have those nowadays.
290
I like to write interactive fiction from time to time. Unfortunately every IF game comes to an end quite quickly. So I wondered how cool it'd be to make text adventure game that is completely procedurally generated to give you story that is always different. Still there'd be lot to write but hardest part would be find to stitch it together in somewhat logical fashion.

Then I've remembered that Dwarf Fortress already does something similar for the world's history. So, do you have any articles/resources on how DF's history generation is achieved?
Well, as a member of the rougelike community(Mostly a tester of 7drl), and as a person who is engineering a proccedially generation of conversations with the archiac event system(It's a task of both insanity and love), I can answer very simply and point you towards some good resources for you to read/listen to that might help.

Well, basically you already have a good idea of what is happening in Dwarf Fortress, everything with a few base exceptions(like plate tetonics for example) is procedially generated. I see that term being tossed arround a bit, but what it really comes down to is that there are a set of logical rules in place as a base. A basic procedial generation of a map might state that there is entrance and a exit, nothing can obstruct moving from one to the other, on top of that there is a river on the map, and in any open space it must expand, unless it obstructs the path to the main entrance and exit, and when this conflict arises, it builds a bridge.
This is the same as dwarf fortress; It's merely a logic puzzle that follows set rules. This is the both the strong, and weak point of any generation, and you might notice that dwarf fortress's histroy suffers it as well; Certainly it is diverse, but it is all very bland and kind of samey after a while.

Here are a couple of places you can read some more on the subject, and hopefully will help you with your IF procedial generation:
http://www.polygon.com/2014/7/23/5926447/dwarf-fortress-will-crush-your-cpu-because-creating-history-is-hard
http://gamasutra.com/blogs/TanyaXShort/20140204/209176/Level_Design_in_Procedural_Generation.php
http://www.roguelikeradio.com/2012/10/episode-49-interview-with-tarn-adams.html

Good luck on your quest!
I might write better something down later. It wasn't a history generator, but I have a work-in-progress "plot generator" thing that pushes AI factions into conflict.

I generate a curve to identify what overall activity should look like, determining points of escalating action. This curve is fixed when the session is created, but all of the details are decided by the AI factions and whatever input the player is providing as the game is played. The world state always has a current escalation value, which is basically the amount of upheaval in play. This escalation value is always compared to the projected curve. During periods of rising action, AI factions are more likely to attempt activity which could upset the world state, and factions are more likely to respond to this activity in a similarly escalating fashion. The further the escalation value is from the projected curve, the more likely it is for these things to be effective. In effect, if one action fails, the next action has a higher probability of succeeding until the escalation value corresponds with the projected curve.
Rave
Even newspapers have those nowadays.
290
Thanks, however I've already discussed it with some people on another forum and come up with algorithm of my own. Since it is a bit complicated and I don't want to repeat myself, I'll link you to this thread: http://www.pascalgamedevelopment.com/showthread.php?32363-Every-story-ends-somewhere
Pages: 1