Random game idea brianwank

Talk on any game/console that doesn't have its own forum, including browser-based games

Moderator: Forum Moderators

Post Reply
Joose
Turret
Turret
Posts: 8090
Joined: October 13th, 2004, 14:13
Location: The house of Un-Earthly horrors

Random game idea brianwank

Post by Joose »

I had an interesting idea for a computer game earlier, but lack the skills or motivation to actually turn it into a thing. I'm putting it here in the hope that it will exorcize the idea from my brain as it wont let me go and is getting annoying.

It hit me when I was listening to a podcast where one of the people on it was saying that they sometimes just run the Dwarf Fortress world generation and then read through the generated history without actually playing the game at all. Apparently it can, amongst the miles and miles of uninteresting dross, tell some really quite compelling stories. It occurred to me that you could use this kind of detailed world generation to make an interesting time travel game.

First, you generate your history of the world in insane detail, DF style. You do this in a semi random fashion, probably using some kind of seed, so that you get completely different, unpredictable results each time you ran it with different seeds but if you ran the generator twice using the same seed you would get the exact same results. Then the game starts properly. The player is given the ability to go back to any point in his worlds history and change the outcome of an event. However, they can only ever go to any one point in history once, so they cant keep going back and changing the same event over and over. There is no real victory condition other than what the players set for themselves. When the player changes that point, all the events after are regenerated using the new history.

To use clichés and real world history as an example: The player generates the world and spots that WW2 was a bad thing and decides he wants to make his world better by stopping WW2. He looks into the history and discovers that it all seems to be the fault of this Hitler guy, so he picks a date before he comes to power and goes back in time to kill him. The history of the world is rewritten without Hitler. Has the player stopped WW2 or does some other scumbag fill the gap and carry on regardless? Has he somehow made things worse by killing Hitler, with that setting off a chain of events that turns the Cuban Missile Crisis into WW3? If he has made things worse, can he find a critical point in history where he can go and undo the damage he has done?

I call this game The Butterfly, after the Butterfly Effect. I think it would be "fascinating". It saddens me that I lack the programming ability to create it.
FatherJack
Site Owner
Site Owner
Posts: 9597
Joined: May 16th, 2005, 15:31
Location: Coventry, UK
Contact:

Re: Random game idea brianwank

Post by FatherJack »

Keeping track of the chronology is certainly something that could be done much more easily programatically, as it would quickly become very confusing to do in your head, although that could also very likely end up making a confusing and difficult-to-follow story. One way of lessening that might be (in the vein of reading the DF history rather than actually playing it) to have a sort of summary timeline you could scroll/flip around which would show where the changes had pushed things in a certain way.

There might be ways to simplify things, say having set decision points at which point history can be changed in only one of two ways, so that with two decision points there can be only four outcomes:

Code: Select all

        A        
        |        
   B<---+--->C   
   |         |   
D<-+->E   F<-+->G
Or to make it even simpler, have some outcomes combine so there would only be three outcomes:

Code: Select all

        A        
        |        
   B<---+--->C   
   |         |   
D<-+--->E<---+->F
There's a big difference between those two, in the first the number of outcomes doubles with each layer of decision points, whereas in the second it only increases by 1 each time.


The harder part, as a million monkeys on keyboards would attest, is to have something randomly-generated tell a sensical, compelling story - how much would you have to pre-script and how many possible combinations would you have to author to make it seem believable? How many millions of combinations are we talking, and how much detail would each one have?

I'm not entirely convinced that DF logs can tell a very interesting story - I think a lot of filtering has to be done by the reader's brain, but even leaving that aside, there is still the problem of how you make the changes you make during time travel have a convincing effect on the world.

If all that happens in the background when you make a change is that the model switches to a new random world history created under a different seed then there isn't really anything that ties those two worlds together, you'd effectively get a whole new completely different world.

There would have to be something in the mathematics that linked the two worlds - such that similar decision points produced seeds which resulted in worlds which converged with similar events around the time of those decision points before diverging later.

To simulate that though, it'd probably be easier to not have a pregenerated history at all, but to generate pseudo-random histories branching from each decision point on the fly. But it would ruin the game if the player knew that's what was happening.





[media]http://www.youtube.com/watch?v=kkvBBMn8hZ4[/media]
Joose
Turret
Turret
Posts: 8090
Joined: October 13th, 2004, 14:13
Location: The house of Un-Earthly horrors

Re: Random game idea brianwank

Post by Joose »

FatherJack wrote:I'm not entirely convinced that DF logs can tell a very interesting story - I think a lot of filtering has to be done by the reader's brain
I was trying to find the story that started me on this train of thought, but I cant, which is annoying. Basically, someone on reddit was telling the story of an elf in their Dwarf Fortress history that was a legendary figure. He had a troubled life early on, became a competent archer and finally moved to a village by the sea and got married. He lived happily for a while until his town came under attack by Dwarves (I think, might have been goblins or something). It was a massively one sided battle; one elf archer and a handful of villagers against over a thousand opponents. The first person to be killed was the archers wife. Then he went berserk. He shot dwarves (or gobbos) until he ran out of arrows and then proceeded to beat them up with his bow. He won. Against a thousand opponents, he killed nearly all of them and those that didn't die ran away. He became the legendary inspiring leader of the town, and helped them fight off multiple attacks until eventually he was taken down in the final siege of the town. He was the last man standing on his side during that attack.

Now, I will admit that some of the drama in the above is provided by interpretation of dry statistics, but a surprising amount of it could be clearly read in the DF history logs. There were entries like "Archer gets married" and "Archer is happy", then "The Battle of Archers Village starts, 1390 Dwarves from Stonebum vs 32 Elves of Mistywhatsits", then "Archers wife is killed by Unknown Dwarf", "Archer has gone berserk", "Archer kills unknown dwarf", "Archer kills unknown dwarf", "Archer kills unknown dwarf"...

Short version: I fully accept that even if this game were made by someone highly skilled it would still probably have niche appeal, and that niche would probably be the kind of people who can stare at a bunch of statistics and have them form a story in their head. I don't think that is necessarily a problem though.
FatherJack wrote:but even leaving that aside, there is still the problem of how you make the changes you make during time travel have a convincing effect on the world.

If all that happens in the background when you make a change is that the model switches to a new random world history created under a different seed then there isn't really anything that ties those two worlds together, you'd effectively get a whole new completely different world.

There would have to be something in the mathematics that linked the two worlds - such that similar decision points produced seeds which resulted in worlds which converged with similar events around the time of those decision points before diverging later.

To simulate that though, it'd probably be easier to not have a pregenerated history at all, but to generate pseudo-random histories branching from each decision point on the fly. But it would ruin the game if the player knew that's what was happening.
The way I see it working is this. You start with a randomly generated seed (lets call it X). Every time a decision is made in the game, the decision is made by taking the options involved and using X to decide which option to go for. That way, if you ran the same simulation over and over with the same seed you would get the exact same results. You then give the player the option to go back to any of those decisions and override the seed.

So, taking the above story of the elf as an example, lets say that is what happens with just using the seed. The decision to marry his wife rather than not is made because of the seed. The decision to become an archer rather than a farmer is because of the seed. The decision to go to that village rather than the one up the road is because of the seed.

Lets say the player decides that the archers life was shitty, and he would have been better off not getting married (I don't know why the player would think that, but its an easy example). So he goes back and overrides that decision from the "yes, get married" provided by the seed to "no, stay single". As a result of that change, when the army attacks his village he no longer goes into a berserk rage when his would have been wife gets killed first (because that is a result of circumstances, not a decision being made). Because he is no longer berserk, he is not quite as good at fighting, so he fails to murder-rout the attackers. They kill him and his village, loot the place and move on. As a result, the roving pack of bandits that were originally killed by the heroic archer go on to destroy further villages. Maybe one of the random villagers they kill in one of those other villagers was originally the parent of a future hero that would go on to kill a supremely evil character in later years, and as a result of that hero no longer existing the supreme evil manages to take over the world and destroy everything, bringing the whole world into apocalypse.

That's the kind of thing I am talking about. A game where you try and make small changes to improve things and sometimes you get lucky and things go how you want and other times you go back to the present to find that your father is dead and Biff has married your mother and turned Hill Valley into a dystopia. The point I would be trying to make about time travel with this game is the same (funnily enough) as the point made by the film The Butterfly Effect. You make one small change to the past and that ripples out into massive changes in the future that are almost impossible to predict.

In fact, its occurred to me that this whole thing might be easier to both make and play/understand if it were on a smaller scale. Maybe just a small town or something. Essentially, it could then just play out a high speed version of the Sims with full autonomy to generate the world.
Dog Pants
Site Moderator
Site Moderator
Posts: 21653
Joined: April 29th, 2005, 13:39
Location: Surrey, UK
Contact:

Re: Random game idea brianwank

Post by Dog Pants »

It's a very nice idea, and something I've never seen done effectively but could actually work. I think it would be easier on a larger scale though, there's more scope for wide-ranging change.
shot2bits
Zombie
Zombie
Posts: 2082
Joined: February 7th, 2005, 17:40
Location: england

Re: Random game idea brianwank

Post by shot2bits »

Dog Pants wrote:It's a very nice idea, and something I've never seen done effectively but could actually work. I think it would be easier on a larger scale though, there's more scope for wide-ranging change.
Not necessarily, the less there is the more detail you can put in, this article about Warren Spectors idea for a one city block where you simulate one city block perfectly springs to mind. If you used this with joose's game idea and for example just made a house, or even just one room, then you can focus on adding more detail to the events that could happen and how you can interact and effect them.

The choices, interactions and changes could seem less drastic or grandeur and even a bit mundane, but i think that would be more down to the overall setting but you could make it feel like things you do have some real weight behind them.
Joose
Turret
Turret
Posts: 8090
Joined: October 13th, 2004, 14:13
Location: The house of Un-Earthly horrors

Re: Random game idea brianwank

Post by Joose »

shot2bits wrote:Not necessarily, the less there is the more detail you can put in, this article about Warren Spectors idea for a one city block where you simulate one city block perfectly springs to mind. If you used this with joose's game idea and for example just made a house, or even just one room, then you can focus on adding more detail to the events that could happen and how you can interact and effect them.

The choices, interactions and changes could seem less drastic or grandeur and even a bit mundane, but i think that would be more down to the overall setting but you could make it feel like things you do have some real weight behind them.
Thats what I was thinking.

I was giving it more thought and on this scale it actually wouldnt be all that hard to make (still out of my reach mind). You could model every person as a set of statistics, like "happiness", "strength", "wealth" and "stress" and then have events trigger at certain combinations (for some reason the only example that springs to mind is the rather depressing "low happiness + high stress = suicide" :unimpressed: ) and have events affect peoples statistics. It would be a relatively easy way of taking a fairly simple system and letting it create its own complexity.
Post Reply