1 / 27

The Strange Case of the Man Who Would Create a World

The Strange Case of the Man Who Would Create a World. Virtual World Building: The Whys and Wherefores Mac Reiter. Overview. What? How? Why!? Goals Use of existing pieces Problems Some background and previous attempts. What?. Constructing an artificial environment inside the computer.

taurus
Download Presentation

The Strange Case of the Man Who Would Create a World

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Strange Case of the Man Who Would Create a World Virtual World Building: The Whys and Wherefores Mac Reiter

  2. Overview • What? • How? • Why!? • Goals • Use of existing pieces • Problems • Some background and previous attempts

  3. What? • Constructing an artificial environment inside the computer. • The user (player) controls a virtual person (avatar or Player Character) inside this environment. • The player interacts with the world and with the computer-controlled virtual people. • Talking • Helping – resolving virtual people’s virtual problems • Hurting – taking out virtual frustrations on virtual people (hopefully “bad” virtual people, but that’s up to the tastes of the player)‏ • Requires simulating (or faking) geology, physics, sociology, economics, psychology, theology, biology, and many other –ics and –ologies.

  4. How? The normal way • Lots of artists • Terrain • Architecture • People • Lots of writers • History • Quests • Lots of time • Creating a world by hand one “item” at a time takes a huge amount of effort • Worse, it takes much less time to experience everything in that world than it took to create it.

  5. How? The hard way... • Simulation • Create initial setting, then simulate it forward until you've accumulated enough history. • Terrain: create initial landmasses, then simulate erosion, tectonic movement (including collisions that form mountains), volcanism, etc. • People, History, Culture: create initial nomadic populations, simulate psychology, economics, technology, and warfare until nations start to form, grow, and get wiped out. • This requires huge amounts of computation power before you start to get anything that you can use, even if you are simulating at fairly abstract levels. You have to run very long time periods to accumulate up an interesting history. • The advantage is that the world is never-ending. You can always simulate more for the player to experience.

  6. How? The slightly less hard way... • Random noise, plus a good story • Coherent noise – unlike what we think of as noise, which is truly random, coherent noise merely looks random. It has two special and critical features that make it useful: • It is locally consistent and smooth – to within your definition of smooth. Unlike random noise, values don't just jump from one value to a wildly different value. Coherent noise tends to look more like clouds than like video snow (for those of you who remember what a television looks like with no signal)‏ • Coherent noise is reproducible. Truly random noise is, well, random – if you want to reuse a value, you need to store it, because you can't reliably get it back. (Note that most computer “random numbers” are actually pseudo-random numbers, and you can actually recreate the sequence, but I digress) Coherent noise generates a reproducible but random looking field strength over a coordinate system of your choosing – two dimensional maps, three dimensional spaces, or four dimensional world histories.

  7. How? Yet more noise. • Terrain • The standard approach is to use a 2D map and generate heights at each point. • You could alternatively use a 3D volume and generate a density field. If you combine that with a spherical gradient, you get a bubbly surface on your sphere. This would allow for caves and overhangs, but might be much harder to display. It is also harder to remove “floating islands”... • People, Monsters, Buildings • Use a 2D map and build population densities. Thresholds on those densities can tell you where houses, villages, cities should be. • History • Add a dimension for time. If you want to know about a particular time period, sample the world at that time coordinate. Changes happen gradually in time, just like they happen gradually in space.

  8. How? Is the world just noise? • No (as much as I'd like it to be)‏ • Anything that can be simulated by coherent noise does not require pre-calculation or storage. It can be generated on the fly as the player approaches that area. • The easiest example of the problem is roads. There isn't any particularly reasonable way to generate roads from noise. You need your roads to connect population centers based on some form of reasonable path-finding approach that looks like something a human might have done. This will require generating the world, and then laying in roads between the randomly generated population centers based on slopes on the randomly generated terrain. • Because it requires knowledge of multiple population centers, some of which may be MANY miles away, road generation requires generating a much larger section of terrain than we otherwise need. (Fortunately, it can be generated to a much lower detail)‏

  9. Why!? • Because everybody needs a challenge? • Because I enjoy power-adventuring in existing partial virtual worlds • For the gamers: I don’t really “role play”, and I don’t enjoy the combat enough to “power game”. I like getting and solving quests and gathering loot. I enjoy problem/mystery solving quests more than combat or delivery quests. These points will definitely show as a bias in my goals. • I dislike “massively multiplayer” anything. Adventuring with a small group of friends is fun, though. • I’ve used up all the parts I like in all the games I can find, so I’d like to make a world where you can’t “do everything” and there is always something new.

  10. Goals • Random generation • Terrain • Populations • Cities, Villages, Castles, Farms, Roads • History, Politics, Factions, Families, News • Different historical periods and technology bases • Quests – mysteries, spy, military, personal • Realistic, but Fun • Separable reality/difficulty settings • A system that can itself create something that I can’t – more than the sum of its parts. (Considering the philosophical and theological ramifications of this last goal are left as an extra credit exercise for the reader)‏

  11. Goal 1: Random Generation • Terrain – the simplest of my goals, and already partially solved by others. The following is from the creators of libnoise. It generates a planet surface to a resolution of about 7.5m in about 2 hours.

  12. Goal 1: Random Generation (cont)‏ • Populations and everything that goes with it (habitations, history, politics, etc)‏ • To have large scale quests, you need large scale settings. You can’t generate an intricate murder mystery without histories of the people involved, and you can’t generate a spy thriller (well, a good one at least) without history of the political interactions of various countries. • And, of course, you need the various cities and buildings for the action to take place in. • I’d like the architectural style to be randomly generated, so that discovering a new city, country, or civilization would offer some immediate visual interest.

  13. Goal 1: Random Generation (cont)‏ • Historical periods and technology • Take ideas from civilization building games to have technology trees • As civilizations develop, they move along the technology trees, taking branches probabilistically. • Certain points in the tree should provide self-destruction capability to wipe the slate and provide story hooks for the “history of the ancients”. This does not actually require nukes – highly efficient agriculture and medicine without a matching sense of population balance can lead to population explosion and then destruction. Any form of military overexpansion can lead to spreading resources too thinly and collapse from invaders or internal revolt. Given a long enough timeline, an industrial society might emigrate off a burned out planet, which then slowly rebalances itself and spawns new civilizations that discover clues to the mythological ancients.

  14. Goal 2: Realistic, but Fun • Everybody has different ideas about what is fun: • Some people want frequent difficult combat and find “all this talking and reading” to be boring. Others (me) want combat as an occasional stress releaser and enjoy talking and researching to work through problems. • Should NPCs have realistic schedules (easier to steal from, harder to find when you need) or stand in one place all the time (easier to find, breaks the immersion to buy fruit on a street corner at 3am)? • How obvious should the quests be? Too much handholding, and even the most intricately plotted quest becomes boring, but too few clues and even the most dedicated player can’t find the next step to finish. (This second concern, “losing the thread”, becomes more dangerous in a randomly generated complex world)‏ • Should the player have to worry about rent, eating, sleeping, bathing, etc? More realistic, and may be necessary for maintaining a workable economy, but it can be extremely tedious, too.

  15. Goal 2: Realistic, but Fun (cont)‏ • Saving progress • The ability to save and reload a game removes dramatic tension – “Yea, though I walk through the valley of the shadow of death, I will fear no evil: For I have 20 save games”, BUT: • The inability to save and reload a game causes frustration, game controller destruction, and shelving of games (when the character you’ve lovingly built up for the last two months dies in a sudden ambush in a valley that you’ve walked through hundreds of times before)‏ • For any questions like these, the system should have either a slider or at least a yes/no control to let the user adapt the game to their preferences. In some cases, the user can be assumed to not use features they don’t want (Example: if saving destroys your sense of immersion, don’t save…)‏

  16. Goal 3: Creation from (almost) nothing • I’m a software designer and programmer. I am not: • A novelist • A screenwriter • A historian • An artist • An architect • I want a system where I can take examples from other worlds (real or imagined), attempt to extrapolate rules (actual constraints or just rules of thumb) for that content creation, and then generate random new pieces of a world as I need them, while following the rules. Constraint rules should be followed absolutely, and rules of thumb should be followed probabilistically.

  17. Goal 3: Creation from (almost) nothing • Final goal: I want to be able to walk around in a world that I could not create on my own, but which was created by a system that I did create. I want to encounter places, people, and stories created by a system whose rules I understand, but still be surprised (hopefully in a good way).

  18. Use of Existing Pieces • Graphics Engine – there are a LOT of these, and I would just be wasting my time to make another. • Physics simulation – there are several of these, and they all work better than anything I’d come up with. • Terrain generation – as shown, this is pretty much done already. I definitely would use existing noise generators, but might design my own interconnections (I want the system to be able to generate new terrain types that I didn’t envision). • Artificial Intelligence – I might try to use someone else’s library, but they tend to be little more than path-finding routines and combat action cost/benefit analyzers. Useful, but probably not enough. • Parameterized People Models – these exist, and I’d definitely use one so that I can have lots of people, who all look different, but hopefully don’t look too mutated (I’d have to try to implement some constraints on the random person generator to keep them looking reasonable)‏

  19. Problems • Where to begin? • Artificial Intelligence for a single being is an unsolved problem. I want to simulate millions of beings with vastly different cultural biases. Fortunately, groups of people are actually easier to simulate than individuals. Running different simulations at different levels of grouping should help. I also hope to use the “noise with a story” approach for large scale situations. • Once the world is generated, how can I keep track of changes in that world that the player is causing? Noise-based values can have an image overlaid to provide deltas. The image can fade over time. • How can the NPCs communicate? Even if the player’s statements to the NPCs are limited to some subset of topics, the NPCs need to be able to build sentences that are reasonable for their culture, gender, age, personality, and current frame of mind. And they need to be able to do so without the sentences getting repetitive (the problem of dungeon Legos™ applied to sentence fragments)‏

  20. Problems (cont)‏ • Random architecture? Well, at a rough level we’ve got decisions like “how tall?”, “wood or stone?”, “lines or curves?”. Then, say it decides on stone – I have to generate a texture for that stone. Another decision – should it look like nearby stone (a pragmatic architect) or deliberately not look like nearby stone (an architect working for people who want to show off their wealth by wasting it dragging rocks across half a continent). And on, and on, and on. Another unsolved problem. • Economies. Working sustainable economies have not been created even in virtual worlds where actual human players trade resources between each other. How can I create an economic model where the player has incentive to go out and loot yet another dungeon/temple/grave/evil wizard’s lair/local merchant guild? Every CRPG I’ve ever played tends to lead to the player having a huge hoard of stuff and then losing interest in doing anything else (no reward). A truly epic hero running around in the world toppling evil necromancers also has a tendency to topple economies with the resulting loot.

  21. Problems (final)‏ • Time… I’ve just listed a handful of problems, each of which has been studied by teams of people for decades. Barring an immortality treatment (in the real world), I don’t stand a chance. Which brings us back to “Why!?” • I believe that the goal of life is to discover what you are capable of. You only do that by trying to do more than you think you can and seeing how far you get. • I enjoy thinking about how these problems might be solved, as an abstract puzzle. • I think that if I could do even part of this, I might be able to convince others that the whole project could be done. • Even a partial solution could be fun to run around in (Adventure, Rogue, Arena, Daggerfall, Morrowind, and Oblivion were!)‏

  22. Some Background: Arena (review)‏ • I feel that Arena had the best world generation system I’ve seen. The ability to generate roads, farms, villages, cities, and dungeons that all make sense has not been matched since. • The memory limitations and resulting inability to clear out an area was my largest complaint. • The randomly generated quests were pretty simplistic, as was the main (human written) quest itself. Lots of room to play in, but not much guidance in what to do. This is a weakness for me as an adventure player, but is not a problem for true role-players.

  23. Some Background: Daggerfall (cont)‏ • With more memory, Daggerfall could now keep track of changes you make to a dungeon or other contained area. You could now “clean out” portions of a dungeon. Unfortunately, if you left the contained area, when you came back it would be re-generated and fully stocked with monsters. • Graphics engine: • Fully 3 dimensional. Maps were mind-bending 3D mazes. The ingame map system was very powerful, but 320x200 was insufficient detail in many cases. • Sprites still used for all non-building items • More realistic environment harder to randomly generate. Designers chose to use “reach blindfolded into my bucket of dungeon Legos™” approach, leading to insane and unreasonable dungeons.

  24. Some Background: Daggerfall (review)‏ • Outdoor world generation still random, but much weaker. Undulating plains with randomly placed scrub, no roads, no habitations. • Quest generation random and much more powerful. Quests can have multiple stages, have different types of missions, and are generally timed. • Unfortunately, Daggerfall is quite buggy, even in the final patched version. The complexity of the world provides a tremendous number of places for bugs to hide. • People don’t act very reasonably. It is trivial to loot a town blind and sell the equipment back to its original owners, and yet you can accidentally get every guard in town mad at you because you touched something the wrong way. • Randomly created dungeons are horrible. They twist around for no reason, are ridiculously large, and are extremely confusing to navigate because the repeated use of pieces makes landmarks useless.

  25. Some Background: Morrowind (review)‏ • Nothing is randomly generated: • Excellent landscape, because hand generated. • Quests all created by the authors. • People still act unreasonably, mostly through telepathic guards and “neighborhood watch”, combined with everyone everywhere knowing about every misdeed you might commit (some of which are required for quests)‏ • Came with a construction set that end users could use to make their own extensions to the game world. These extensions fit into the world, instead of replacing it like other games do. The “modding” community is still active, releasing multiple new mods every day, even five years after the release.

  26. Some Background: TES IV:Oblivion • Bethesda Softworks, 2006 • Todd Howard (my nemesis) was completely in charge of this project (and the role player and adventurer programmers had already left partway through Morrowind in disgust), so this is more of a slasher. • Computer requirements (roughly): as much as you can throw at it… Quad core, dual video SLI, GBs of RAM, and more GBs of HD will all help. (Can be played at 2GHz, 512 MB RAM, GeForce 6 with at least 64MB VRAM)‏ • World Size: Cyrodiil province of Tamriel • Estimated 16 square miles. • ~1000 NPCs. • One ending. • No random generation of land, cities, or quests.

  27. Some Background: Oblivion (review)‏ • Like Morrowind, but bigger, brighter, fancier. • Oddly enough, it actually seems smaller, due to less variety of scenery and setting. • Uses the “bucket of shiny, bumpy, highly detailed dungeon Legos™”, but otherwise much the same. • PC and Xbox 360 versions very similar, to the point of weakening the PC interface to match the Xbox 360 version. (Unlike Morrowind, where the PC interface was good for PCs, and the Xbox version was good for Xboxes and televisions)‏ • Lots of marketing hype about Radiant AI. All actual self-determination heavily constrained before release to minimize “emergent behavior”.

More Related