Welcome to Raph Koster's personal website: MMOs, gaming, writing, art, music, books.
Game talk

Dynamic POIs

April 30th, 2010

Way back in Pre-CU [Star Wars Galaxies] while ‘walking’ from Eisley to AnchorHead a Twi’lek (I think) stated my avatar by name (could be wrong) and gave me a disk then some stormies spawned and killed her then came after me.

Anyone ever finish this quest? What was it like?

This was a rather complex quest. Does anyone know how this was coded? Why would my avatar be chosen over others?

Daylen, posting over at RLMMO.com

The Twi’lek slave girl quest was part of what we called “dynamic POI’s.”

A normal POI is a “point of interest” — something to break up generic wilderness. it was a term we used back in the UO days that we got from Richard Garriott, and was probably older still. POI’s are normally placed by hand, of course; you sculpt a location for them, add a little bit of something unique or flavorful, maybe some interaction, and there you go. They can be as small as a little faerie mushroom ring, or as large as a bandit camp or something. In other words, they are the static content of a world… usually not the main quest lines, but just “interesting stuff.”

Of course, adding these in by hand is excruciatingly slow and requires an army of developers. That’s the cost of content. In a game as large as SWG, we had a real issue here. At one point, there was a large roomful of junior developers who did nothing but put down little interesting locations on the maps… and it was nowhere near enough, particularly since they had no interactivity with them.

Part of the solution that we wanted to try, then was dynamic POIs.

These were modelled after random encounters in D&D. Not the plain old table of boring ones that you see in say, a JRPG, where you roll up a combat encounter every few steps, but something a bit more intricate. In Ultima Online we had done this with orc camps and mage towers — spawns that included a building.  Since the map in UO was static, you needed a lot of empty space to get one of these spawns, and housing eventually used all the space up, so you never saw these happen. And there was no plot or story to these — they were just combat encounters that happened to come with a building.

SWG was more flexible. So instead we wanted the sort of thing that you saw in the better-written modules: random encounters with a little bit of plot, a little bit more context. Don’t roll up just a bandit; roll up a little bandit campsite, with a tent, a campfire, three bandits, one of whom hates one of the others, a young bandit who isn’t actually a bad guy but has been sucked into the life because he has a young pregnant wife at home… In fact, maybe have an assortment of bandits — twenty possible ones maybe. Then pick three for your camp. That way you always get a flavorful but slightly different experience.

This path led us to create dynamic POI types based on “plot” — such as “escaped prisoner”, “poisoner” etc. These could then be placed in different “theaters” — little layouts of buildings and objects that could be spawned on the fly and placed on the map. Because the SWG map was procedural, we had the theoretical capability to spawn these anywhere, by affecting the underlying terrain and terrain textures, flattening the space, and placing the objects on top of it. When the POI was complete, it would wait until no players were nearby, and delete itself and all associated structures and spawners, thereby restoring the underlying terrain.

I spent several weeks building theaters. A sandcrawler on fire with sand people attacking Jawas. Lots of little moisture farms. A small village. Campsites of various sorts. I also made the plot skeletons for things like simple murder mysteries, family feuds, etc. One plot involved two villages having a Romeo & Juliet moment. Another was a simple “who’s lying” sort of puzzle.

The very first example, however, was a tease: a dynamic spawn whereby an NPC slave girl was spawned who ran up to you and said “Help! They’re after me! Quick, take this, don’t let them have it or all will be lost!” You would be handed a data disk, and then the girl would run off, right into the arms of some Stormtroopers who shot her dead in front of you. You’re left with a disk you cant read and a mystery.

It was pure tease — originally, the disk did absolutely nothing (I want to say that later, the disk was actually tied into something else… a collection quest maybe?). But it was an example of the sort of modular interactive narrative that could easily be created. Swap out slave girl for other sorts of escapees — and maybe have two or three types of escapees — good ones, bad ones, etc; and two or three kinds of hunters: pirates, Empire, etc. You can read about Haden Blackman’s experience running into one of these during the testing phase here.

So what happened? Well, honestly, content is hard to make. A dynamic POI system is not any easier to craft than a usual encounter. In fact, we never cracked a way to make it fully data-driven, which meant that it was actually harder. The dynamic spawning system was problematic. Scripting in SWG in general was too hard, so we couldn’t spread the burden of creating the dynamic POIs, and each one was a moderately tricky custom scripted encounter. In the end, the dynamic POIs came out of the game, and all the theaters I made went unused.

There is also an impression out there that these sorts of content were all that SWG was supposed to have, which is incorrect. Dynamic POIs cannot replace good old-fashioned static content. A theme park has a mix of wandering performers and rides, after all, and all dynamic POIs do is supply that element of surprise that human statues or other “street performer” things do. (At one point I tallied up all the sorts of content SWG was planned to have, and it was something like seven different types, with dynamic POIs representing just one type. Others included lairs, true random encounters, static quests, etc).

In conception though, the dynamic POI system is pretty simple. Given proper resources applied to solving the problem, and most importantly, the large quantities of  content required for it to work, it still seems quite viable. Today we see a modern form of it in Trion’s new MMO Rift: Planes of Telara, which is making dynamic content a big selling point, a full 14 years after the first crude ones went into Ultima Online, and long long after text muds had procedural zones with shifting content.

*

You can follow any responses to this entry through the RSS 2.0 feed. Responses are currently closed, but you can trackback from your own site.

Meta

Recent Comments

Categories

Tags

Recent Trackbacks

Archives



A Theory of Fun
for Game Design

Book cover for A Theory of Fun for Game Design, by Raph Koster

Press
Excerpts

Buy from Amazon

Twitter @raphkoster



The whole Web

Raph's Website

See popular posts »



After the Flood

After the Flood CD Cover

Available as MP3 download
$14.99


More stuff to buy

Evolution of 2d Shooters Mousepad

Evolution of 2d Shooters
Mousepad

$12.99


LegendMUD

click here to visit the Legend website

"The world the way they thought it was..."