|June 2nd, 2009|
Still confused about this use of the word persistence; coming here with the dictionary meaning and trying to understand a seeming contradictory concept.
The technical sense of the term arises from “persisting something to the runtime database.” The base states are usually in a template database of some sort, along with all the other static data. The template database is read-only as the game is running, and only developers get access to it. The runtime database is where everything that players do goes. (See here and here for more).
The base data in the static template database doesn’t count as “persistent” or “persisted” because it’s actually baked into the world’s rules in some fashion, as a starter state. Delete everything in the runtime database, and that map will still be there, usually. You will have playerwiped WoW, but the world of WoW will still be there: every loot drop, every monster, every quest, every house.
The virtual world definition of the term means “to save changes on top of the base dataset.” So a base character starts with no real gear and newb stats, and a designer sets that up in the template database as the definition of a newbie character. But we save their advancement. That’s persisting a character to the runtime database. The stats and gear might go up OR down, but they are different from the base.
Same with the map — terraforming in Wurm Online, or leaving a house on the landscape in UO or SWG, are persisting changes to the base map.
The definition of persistence in MMOs and VWs is a tricky one, as there is an awful lot of crossover with dynamism.
Exactly; without persistence, there isn’t any dynamism, basically, because nothing you do affects a state in any permanent fashion. There were early virtual worlds that didn’t even have character persistence.
Then there are virtual worlds where the base state is basically next to nothing, and all the stuff the designers added is in fact done via a set of tools that modifies a persistent world. For AAA MMORPG stuff shipping to the public, usually that state is “snapshotted” to create a new base once the developers are done building. And plenty of worlds are not built that way at all — the static stuff is imported into the world, perhaps built in a 3d modeling program, and exists as a base assumption in the simulation.
Other worlds just rely on the accumulation of persisted data over time; Second Life is an example of one of these. (Metaplace is a weird hybrid — the tools are editing a “stylesheet database” that is in fact a static template database — but via script yo ucan actually insert changes to ths on the fly. So it’s like a classic split database model, but with blurry edges).
And that is why using the acronym “persistent state world” or PSW is inaccurate for most MMORPGs. It technically means a vritual world where the world state is dynamic and persisted — not just the character state. Most examples aren’t even of ALL of the possible world data… there’s a spectrum. UO didn’t let you change the terrain, but let you change objects. SWG let you change both, but terrain only to a limited degree. SL lets you change everything.
The only reason to have persistence to the runtime datbase is to track change caused by players. And the less changes you track, the less persistent a world your MMO can be considered to be.