Game world history
OK, quick question for you guys. Could an interesting enough story be generated by designing a run-time generated game that was left to just run by itself for a while, which would then record the "history" that takes place. Therefore, when the player is introduced to the world, there is already a large history in place. Different races will have evolved, tensions between them will have developed, and other interesting ideas like this. Just wondering if this is a good idea, bad idea, good but not feasible, etc.
I'm leaning towards the latter (good but not feasible).
Of course it's a good idea in theory. That's how the real world worked, and I'd say it's got a pretty good background story by now.
But keep in mind that it's a bit tricky to implement this.
How are you going to make history happen? How will races evolve? You have to implement that. Why will they evolve? You have to implement something that forces them to do so. Why would there be tensions among them? You have to design them to do stuff that creates a conflict of interests with the other factions, and you need to design them to be able to recognize this conflict, and remember their past history, taking that into account as well as dozens of other factors to produce a useful response. Then you need to simulate economies, individuals actions (A clichéd example would be to imagine what'd happened without Hitler. If you can't model powerful individuals like that, you lose out on a huge chunk of history. And how would you deal with war? You have to make both factions believe it's in their favor to fight, despite the fact that their people get killed. That leads to another issue, their morals. You need to figure in that in some cultures, it's clearly a bad thing to do stuff that gets other people killed (which could make war declarations tricky), and in others, people are just there to do as the big emperor says, and so he might be happy to throw away a few hundred thousand lives to clear his honor. (And then you have to model honor).
As you can probably see, history doesn't just "happen" by itself. You have to model a huge number of factors before anyone in your world are going to do *anything* interesting.
Of course it's a good idea in theory. That's how the real world worked, and I'd say it's got a pretty good background story by now.
But keep in mind that it's a bit tricky to implement this.
How are you going to make history happen? How will races evolve? You have to implement that. Why will they evolve? You have to implement something that forces them to do so. Why would there be tensions among them? You have to design them to do stuff that creates a conflict of interests with the other factions, and you need to design them to be able to recognize this conflict, and remember their past history, taking that into account as well as dozens of other factors to produce a useful response. Then you need to simulate economies, individuals actions (A clichéd example would be to imagine what'd happened without Hitler. If you can't model powerful individuals like that, you lose out on a huge chunk of history. And how would you deal with war? You have to make both factions believe it's in their favor to fight, despite the fact that their people get killed. That leads to another issue, their morals. You need to figure in that in some cultures, it's clearly a bad thing to do stuff that gets other people killed (which could make war declarations tricky), and in others, people are just there to do as the big emperor says, and so he might be happy to throw away a few hundred thousand lives to clear his honor. (And then you have to model honor).
As you can probably see, history doesn't just "happen" by itself. You have to model a huge number of factors before anyone in your world are going to do *anything* interesting.
Those are all good points, but I wasn't thinking of going that in-depth. Of couse, as you stated, the question becomes how to do this. I think a start would be to generate a bunch of people for each race, planet, whatever, and then just send them on their way, as in give them a random direction and let loose. Give a points value to the different actions they can take. I know I'm oversimplifying, but I think it is, at least in theory, a really neat idea.
Honestly I don't think that it could be done.
In general, I think it would be hard to make it seem dynamic. Or worse plots that go no where, or go in so many directions that it seems fragmented.
In general, I think it would be hard to make it seem dynamic. Or worse plots that go no where, or go in so many directions that it seems fragmented.
I think Spoonbender is right. Before you can develop such a system you'll have to map out how the entities interact. More importantly, you'll have to come up with some sort of set of heuristics that describe not only what tension is, but what INTERESTING tension is.
You could do something like Civilization's world history, which recounts when nations warred, what cities fell and what achievements were gained. But you'd need a lot more detail to bring out the human feel. What you might do is come up with a large library of excuses and vignettes for why events happened ("The war of ... began when Emperor ___ decided to murder Emperor ___'s sister.") This would at least start approximating an interesting story.
The main problem as I see it is deciding whether you want a history or story. Take the battle of El Alamein in World War II, for example. The Germans and the British went back and forth over this territory several times, losing it to each other. As history, it's fine to recount who won, when they had to withdraw, and when they returned. But as a story repetitive actions are supposed to be summarized.
That leads to the next difficulty. You must somehow be able to translate the actions of entities into coherent stories. Perhaps you could start things by simply generating reports of entities behaviors and state changes in the game world ("Lord Vader arrived at the Death Star; Lord Vader left the Death Star; Death Star destroyed.") You'd then need to figure out how to translate and compress that information, perhaps flagging things we humans find VERY interesting (things getting destroyed, conflict, gossip, etc.)
It's a very challenging problem, but keep in mind that you don't have to get it perfect to have something useful. But if you went through all this trouble, it would be a shame to use it only for history. It should be a system that runs concurrently as the player plays (my objective, anyway.)
You could do something like Civilization's world history, which recounts when nations warred, what cities fell and what achievements were gained. But you'd need a lot more detail to bring out the human feel. What you might do is come up with a large library of excuses and vignettes for why events happened ("The war of ... began when Emperor ___ decided to murder Emperor ___'s sister.") This would at least start approximating an interesting story.
The main problem as I see it is deciding whether you want a history or story. Take the battle of El Alamein in World War II, for example. The Germans and the British went back and forth over this territory several times, losing it to each other. As history, it's fine to recount who won, when they had to withdraw, and when they returned. But as a story repetitive actions are supposed to be summarized.
That leads to the next difficulty. You must somehow be able to translate the actions of entities into coherent stories. Perhaps you could start things by simply generating reports of entities behaviors and state changes in the game world ("Lord Vader arrived at the Death Star; Lord Vader left the Death Star; Death Star destroyed.") You'd then need to figure out how to translate and compress that information, perhaps flagging things we humans find VERY interesting (things getting destroyed, conflict, gossip, etc.)
It's a very challenging problem, but keep in mind that you don't have to get it perfect to have something useful. But if you went through all this trouble, it would be a shame to use it only for history. It should be a system that runs concurrently as the player plays (my objective, anyway.)
--------------------Just waiting for the mothership...
Quote:
Original post by ussnewjersey4
Those are all good points, but I wasn't thinking of going that in-depth. Of couse, as you stated, the question becomes how to do this. I think a start would be to generate a bunch of people for each race, planet, whatever, and then just send them on their way, as in give them a random direction and let loose. Give a points value to the different actions they can take. I know I'm oversimplifying, but I think it is, at least in theory, a really neat idea.
Darn if I can't remember where I saw it, but some fellow created a very basic universe generator that covered species development, contact, war, and decline. It was straight forward, but would have made a cool backdrop to a game. The behaviors were limited, and each race was restricted to an interaction circle of so many light years (no galactic empires, unfortunately). I think he even had a series of stats to tell how friendly they were, whether they allied, how high they progressed up the tech tree, and how they died.
--------------------Just waiting for the mothership...
That would be something that would be very interesting. Any ideas whereyou saw it?
Quote:
Original post by ussnewjersey4
That would be something that would be very interesting. Any ideas whereyou saw it?
Gah, sorry, it was an out of the way home website I saw years ago. I remember that the app was cool, if clunky, and that the designer was very churlish about the idea of sharing his source code.
--------------------Just waiting for the mothership...
AP beat me to it. I was going to make a joke about the laws of humanics.
For those that didn't read Asimov's Foundation books, it was a set of stories that start with a guy named Hari Seldon who defined the deterministic laws by which human societies and the universe in general behave, and could sort of predict the future within certain tolerances. It was called psychohistory, and is in fact quite similar in purpose to what USSNJ describes here.
There are meteorologists making computer models of weather patterns and such, trying to understand how air currents affect one another globally. It's super hard. I know you aren't trying to model actual human development, but even trying to just represent a few factors would be such a huge task that the actual game would probably be a simple chore compared to the background generator.
I think you should make a mad-lib system, by which a series of blanks are filled in. Didn't Maddox or Seanbaby or David Wong or someone have a hilarious Tom Clancy story-generator? SOmething like that would be pretty cool for game story design.
For those that didn't read Asimov's Foundation books, it was a set of stories that start with a guy named Hari Seldon who defined the deterministic laws by which human societies and the universe in general behave, and could sort of predict the future within certain tolerances. It was called psychohistory, and is in fact quite similar in purpose to what USSNJ describes here.
There are meteorologists making computer models of weather patterns and such, trying to understand how air currents affect one another globally. It's super hard. I know you aren't trying to model actual human development, but even trying to just represent a few factors would be such a huge task that the actual game would probably be a simple chore compared to the background generator.
I think you should make a mad-lib system, by which a series of blanks are filled in. Didn't Maddox or Seanbaby or David Wong or someone have a hilarious Tom Clancy story-generator? SOmething like that would be pretty cool for game story design.
Another problem is, once you have a randomly generated world, you have to have the NPCs know it's history, talk to the player about it, and act according to it. It will be hard to have any predesigned missions or quests if you don't know anything about the world they'll take place in when you're designing them.
Also, what do you do if the game generates a boring world that's doing fine and doesn't need saving?
Also, what do you do if the game generates a boring world that's doing fine and doesn't need saving?
Crucible of Stars FPS is recruiting
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement