Jump to content

  • Log In with Google      Sign In   
  • Create Account


Thoughts on making a 'living' world


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
11 replies to this topic

#1 All Names Taken   Members   -  Reputation: 416

Like
1Likes
Like

Posted 15 October 2012 - 12:15 AM

Been ages since I posted but I'm still sketching out thoughts and ideas on a game idea I'd love to make someday. For a general idea of it, it is an open world fantasy RPG in the vein of the Elder Scrolls/Dragons Dogma and such titles. Each world being procedurally generated when you start a new game and than procedurally generating quests and content as play progresses.

Big bright eyed ideas I know, but anyway ... one of the things people often request is that they wish to meet people on their journey, merchants travelling the roads .... bandits migrating to good picking grounds, refugees fleeing battles, other adventurers, etc etc. The problem mentioned is it would be near impossible to keep all areas loaded and tracking the individual NPC's within them.

This lead me to an idea and wonder how workable it might be to you guys. The immediate region (think of Minecraft 'chunks') are loaded around the player to varying degrees, I'll call this the 'Adventure Environment', its where you run, fight, ride, talk to NPC's and fall off waterfalls and what not. In addition the game generates what I'll call the 'World Environment' which does a number of things ... one it provides a guide of what areas will be that haven't generated in the Adventure Environment, secondly it could also act as the world map ... and thirdly hidden behind the scenes for the most part it will track important 'parties' in the world ... rather than fully generate everything about these parties it will be more like 'Douglas the Brave + 6 Retainers + 2 Priests + 1 Misc: Diplomatic Mission to Y,X: Currently at Y,X). Douglas and his party are than only generated as individual entities when they are in the same Adventure Environ as the player.

Leading on from this is the idea of 'becoming King/Queen' and beginning to play more of a civ game ... at which point some of these map entities become visible, you send a merchant caravan to the Kingdom of Jix and you can see its progress across the overworld map. In a way I imagine it abit like a simplified version of civilization or Total Wars turnbased mode or somewhat like Mount and Blades overworld map but occuring as you events take place during your adventures in the world.

Ambitious but I was curious if this might be a good way to pull off the world being 'lively' and things happening outside of the players immediate scope.

Edit: As an extra, if anyones ever played the failed Lords of Midnight 3 that may also give an idea of what I'm thinking.

Edited by All Names Taken, 15 October 2012 - 12:16 AM.


Sponsor:

#2 Krohm   Crossbones+   -  Reputation: 3044

Like
0Likes
Like

Posted 15 October 2012 - 01:15 AM

The problem mentioned is it would be near impossible to keep all areas loaded and tracking the individual NPC's within them.

Nobody cares about that. As you noticed, the whole point is to do that at the correct level of detail. Keeping the whole world loaded is ... ok, probably possible now. Sure it wasn't at release.
But if we drop the graphics representation... and the sound... ever looked at the scripting in TES3? It probably takes less than 4 MiBs of state.

I'm not sure what you're trying to say with your whole message, but yes, if you focus on that feature, it should be possible. Nobody says it'll be easy.

#3 Khaiy   Crossbones+   -  Reputation: 1342

Like
1Likes
Like

Posted 15 October 2012 - 08:10 AM

I think that keeping track of different game elements would be do-able. Since you wouldn't be doing anything graphics-wise with most of them, it wouldn't be all that resource intensive to track and update various NPC's and groups. Other games have done similar things. Right now the one that comes to my mind is X3, but there are definitely others as well.

The King/Queen bit seems more difficult to me. It isn't very simple to combine two distinct types of gameplay (RPG vs. 4x) while keeping them separate from each other, having both be polished and deep enough to be fun, and appealing to players who want only one genre or the other. I'm sure it's possible, but that sounds like a much more complicated game to design and create.

#4 Telcontar   Members   -  Reputation: 893

Like
2Likes
Like

Posted 15 October 2012 - 09:02 AM

I am also very interested in/attempting to create an expansive, procedurally generated, persistant "living" world.

The most important thing to remember is that the player will only ever see a small part of that world, and wasting memory and CPU time on the vast amount of the world that is functionally irrelavent to the game experience is foolish. In the exact same way that a good graphics engine hides - that is, does not render - surfaces that the player cannot see, this kind of game must abstract away anything beyond the player's concern.

It is figuring out the form and function of this abstraction that has taken up most of my design time (concerning this project). The closer you get to the player, the more detailed the model should get, until within a certain distance you have true simulation of all the game elements around the player. For my world so far that includes things right down to plant growth and the rusting of a forgotten sword buried undearneath the ground. Of course, when the player goes far enough away, the plants no longer grow each "tick" nor does that sword rust (in fact, unless it was important in some way, the game will simply forget about it).

I am trying to strike a careful balance between remembering info the player has seen (those plants won't grow, but the game will remember where and what they were so the next time the player comes around they are the same, and it will update their "growth" since the last time they were seen) and what can be safely forgotten, like that sword. If it really is important - it belonged to the player, or it is a quest item, or magical, whatever - the game will remember, and the next time the player comes around it will be right where it was and continuing to rust away.

If you get far enough away from the player, the entire world becomes an abstracted model, updated only periodically, and those changes will only be simulated again one the player comes closer. Figuring out the specifics is complex, and pretty damn fun.

I Create Games to Help Tell Stories | Writing Blog


#5 All Names Taken   Members   -  Reputation: 416

Like
0Likes
Like

Posted 16 October 2012 - 01:53 AM

Thanks for the feedback.

The King/Queen part is only at the extreme of ideas (well, more extreme than the overworld monitoring) and wouldn't turn the game completely to a strategy game ... but I imagined it more you could give orders to advisers and the world would change, certain structures are built, battles are calculated, etc etc.

You have a point Telcontar ... perhaps only factions or activity in the immediate area will be generated and this only grows as the world is explored. I also have fun tinkering out ideas, I think I'm more a thinker than a do'er unfortunately.

#6 Rybo5001   Members   -  Reputation: 490

Like
1Likes
Like

Posted 16 October 2012 - 03:38 AM

The only problem I have with this is that characters may be 'flat' and under-developed.

In that if you're only looking at the group, you're not considering the individual. What if one bandit is really reckless and ends up killing his group? What if a king in a far off land decides to wipe out those bandits? etc etc

#7 Telcontar   Members   -  Reputation: 893

Like
0Likes
Like

Posted 16 October 2012 - 08:03 AM

@Rybo: That can all easily be in there. Dynamic actors (characters) are part of making an interesting world, after all. the hard part is figuring out how you draw the player's notice to such events so he can enjoy them. Do you generate them specifically as he walks by? That can seem pretty artificial after awhile. Do you generate "quests" to get the player to where interesting things are happening?

I enjoy the game Dwarf Fortress, and one of my favorite things is the Legends mode, where you can explore the history of the generated world and read about wars, crimes, the actions of inidividual characters, etc. If I ever manage to get my game up and running I'll definitely have that sort of thing in there.

I Create Games to Help Tell Stories | Writing Blog


#8 CyberJive Arrives From 95   Members   -  Reputation: 111

Like
1Likes
Like

Posted 20 October 2012 - 11:18 AM

I think you're on the right track, and the world map analogy is apt. Often a world map is simply a rough outline of what will appear here, once the player accesses that location the finals are put into place. In your case you can determine that these are the types of people who would be here, and once the area is accessed the details are put into place. Since you mentioned DF - the DF world map doesn't even know what minerals will be in place when you embark, only the likelihood. Once you embark it may even turn out that some of the promised goods aren't there at all.

I think the next step would be calculating what has happened since last the player visited this location, rather than having events occur all the time. If you would prefer for actions to carry over into the portion of the world that the player is in, this shouldn't be too much of a drain because we're talking about a small subset of all the actions that could have taken place outside of the player's portion of the world.

If the player is gone from a section of the world long enough (the player went from one side of a continent to the other, and has been there for half of a year, lets say) you can update the portions he's left with more specific generalities. Where as before your generalities might have said bandits are 3 times as likely to patrol this area, you might now have your generality changed to Tom The Dreaded is 5 times as likely to be here as other areas, and so is his Dreaded Tom Gang. Other bandit groups are twice as likely to be here.

While the player was far away, on the western portion of the continent, perhaps some random dice roll might have determined a bandit robbed a silk caravan headed to the main trade hub on the eastern side of the continent, and another roll assigns the crime to Tom the Dreaded. The merchant who stands before you far to the west has no patience for your insinuations as to the price of silk, for troubles in the east have caused a shortage of supply.

If the player returns to the original area a generation of it might go something like:

Is Tom the Dreaded here? Yes
Is Tom the Dreaded's Gang Here? Most are ranging, he has a reduced force
Are other bandit groups here? Yes.
Are any events occurring between them? Another Bandit Group is in battle with Tom the Dreaded and his gang

#9 richardjdare   Members   -  Reputation: 322

Like
0Likes
Like

Posted 24 October 2012 - 11:47 AM

Long ago I wanted to create a game like this. I was a big fan of Frontier: Elite 2 and I wanted a similar procedural open world with a fantasy theme.
My plan was to make a map editing tool where I would create a kind of outline of the physical and social/economic geography of the game world.

What I wanted to do was create a web of large scale structures describing the world that would feed into the more detailed procedural content generators that would make the "adventure environment" surrounding the player. The map editor would handle the macrocosm, while the procedural generators created the microcosm.

Stuff that was in the player's immediate locale would handled in detail while world events out of sight would be handled by cruder, large scale algorithms, like Telcontar suggests. These large scale algorithms would affect many related, unrelated and conflicting "surface level" systems, like tectonic plates moving beneath several countries.

I also wanted to be able to "drop in" to parts of the world in my editor and manually create stuff on top of the procedural content as well. A problem with procedural games is that they become predictable when you've seen everything the algorithm has to offer; Frontier was absolutely vast, but most of the star systems contained very little novelty. There wasn't much of a pay-off from exploring its further reaches. I hoped to remedy this by weaving hand-made content throughout the procedural world.

Of course, I never did anything with these ideas! I do think procedural content generation will become much more important in the near future, even in ordinary games.

Edited by richardjdare, 24 October 2012 - 11:50 AM.

Just finished work on Antigen for iPhone and iPod Touch - www.richardjdare.com


#10 JoshNet83   Members   -  Reputation: 137

Like
0Likes
Like

Posted 25 October 2012 - 06:16 AM

I am working on an MMORPG that follows this pattern for persistent worlds, except it's player driven. I just got my site online at www.topiaonline.com, though most of the sections will not be functional until next week.

#11 IndyOfComo   Members   -  Reputation: 556

Like
0Likes
Like

Posted 25 October 2012 - 10:15 AM

another idea for the abstraction part is to scale the abstraction by time. This is what made me think of it:

The only problem I have with this is that characters may be 'flat' and under-developed.
In that if you're only looking at the group, you're not considering the individual. What if one bandit is really reckless and ends up killing his group? What if a king in a far off land decides to wipe out those bandits? etc etc

For the bandit setup, just have it be a random event which could happen. And when this does happen, one of your bandit hideouts the player could interact with becomes a abandoned(loot for the taking, leaving the player wondering "What happened here?") But now you have a new possible event--someone else comes in and takes over the space. Maybe bandits, maybe a necromancer.
If the king is in a far off land, how effective will that decision be? Will other rulers be so understanding of another's army coming through their land?

Either way, I think all of these things could be scaled by time and relevance/distance. World objects in the player's chunk need to be updated frequently. Outside of that, things could scale down from hourly to yearly. And as you get toward the longer side of the scale, you'll need to remove small-scale events because their effect on the world is watered-down, if you will. (If a bandit TPK's his group in a far-off land, you don't really need to keep track of that; whether their hideout is forever abandoned, replaced by more bandits, or replaced by a necromancer, you will generate that (as an initial object) when you need to; you don't really need to know whether the hideout has *always* been inhabited by that necromancer or not.)

I'm not really sure how much sense that all made; I found myself struggling to put the tables and events I see procedurally in my head into paragraphs.
Here is my technical background info.

#12 All Names Taken   Members   -  Reputation: 416

Like
0Likes
Like

Posted 25 October 2012 - 05:45 PM

Long ago I wanted to create a game like this. I was a big fan of Frontier: Elite 2 and I wanted a similar procedural open world with a fantasy theme.
My plan was to make a map editing tool where I would create a kind of outline of the physical and social/economic geography of the game world.

What I wanted to do was create a web of large scale structures describing the world that would feed into the more detailed procedural content generators that would make the "adventure environment" surrounding the player. The map editor would handle the macrocosm, while the procedural generators created the microcosm.


Very much the idea I was aiming for as well ... with layered procedural generation, with basic terrain, advanced terrain, political borders and such.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS