Thoughts on making a 'living' world

Started by
10 comments, last by allnamestaken 11 years, 6 months ago
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.
Advertisement

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.

Previously "Krohm"

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.

-------R.I.P.-------

Selective Quote

~Too Late - Too Soon~

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

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.
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
@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

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
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.

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

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.

This topic is closed to new replies.

Advertisement