Current Courses

Misc

 
HomeResearchGamesProjects

Here Be Dragons

Here Be Dragons is an experiment in using emergent and genetic algorithms in generating virtual spaces. Through use of digital “genes”, Lindenmeyer (“L”) Systems, cellular automata and other procedural methods, users can navigate and interact with a world containing architecture and creatures that had no direct human designer. The landscapes and creatures use very similar algorithms, helping to create a coherency often lacking in less sophisticated pre-generated spaces. Procedural content itself offers a great amount of potential and interest in areas from simulation to game design.
Chaotic, Procedural, and Lifelike algorithms have been described and used for decades, although a continuing community interested in these subjects suggests that their true potential has yet to be tapped.

HBD1.jpgMany algorithms in Here Be Dragons have been previously used to simulate virtual characters, and while great progress has been accomplished on many fronts, current AI is still somewhat lacking in terms of creating a believable, intelligent person. However, such procedures have proven more believable in creating non-verbal and semi-intelligent agents, and should be more than up to the task of simulating terrain and architectural structures like buildings. To put the idea bluntly, if current artificial intelligence is as dumb as a pile of bricks, why not give this mental capacity to a pile of bricks?

“Here Be Dragons” refers to mythical phrase placed on the margins of old maps, denoting a warning to those who would question places unknown to the cartographer. Ironically, almost no medieval maps have the exact phrase and the term only seems to have entered common use fairly recently, perhaps, paradoxically, after the world map has been explored. Here Be Dragons, then, seeks to generate unexplored territory on a personal level, offering the enigma on a digital frontier.

Beyond the causes of simulating lifelike dynamics, augmenting a designer’s ability to design spaces, and formalizing ideas that define a coherent, aesthetic location, Here Be Dragons has a goal that seeks to use these previous elements. Ultimately, the virtual space strives to capitalize on an element unique to interactive and digital media: The ability to author a space anyone, including the author, could happily lose themselves in, a place new and exciting every time the user chooses enter it.

Here Be Dragons uses various chaotic algorithms to surprise a user-would-be-explorer with new vistas on a virtual landscape. On a foggy, shadowy landscape an explorer may see a strange skyline, sometime with forms resembling onion-capped towers, other times modern skyscrapers. A floating beast drifts by, appearing to swim through the air with a multitude of limbs, acting with an odd locomotion as it heads off a shoreline and into a lake. The user may chose to follow the creature, or examine the city more closely. Traveling in a given direction will reveal further terrain, creatures, and cities before reach the same point again, perhaps much later, having gone “around the world”.

HBD2.jpgWhile the user enters and travels through a virtual space, the landscape strives to have differences each time the user travels there. Novelty comes with a tricky balance of design: A fully random space would produce “noise”, a jumble generally uninteresting to a user. In turn, a fully defined procedure would repeat too often, also becoming monotonous to the user.

To combat the noise problem often occurring on random, generative content, Here Be Dragons uses emergence to enforce structures to have an internal consistency. A creature or structure within the virtual space has feedback mechanisms, as well as rules for creation, that combat potential haphazard forms. Dynamic systems allow for this sort of feedback, and also make the space more animated. A city can react to a user much the same way a creature does, as both rely on very similar agent and genetic algorithms. In turn, the creatures and cities may interact with each other, as their protocols are virtually the same.

Classifying a city with the same code as a virtual creature is not as outlandish at it may first appear. Both can be placed in hierarchical systems (limbs->fingers, freeways->streets), both rely on an internal consistency where the whole needs its parts to function, but each part might not have a vision of the whole entity. In turn, many of the emergent rules that govern a life form have analogies to a city’s own constraints. The layout of the circulatory system resembles a building campus, or suburban street layout, largely because blood needs to be adjacent to every cell in the same way a street or corridor needs to lie adjacent to a house of room, respectively. Indeed, Conway’s Game of Life uses these same rules to generate lifelike cellular structures. People have proven uncanny adept at pattern recognition, and users can sense some sort of system at work, even when the details are obscure. Such a space, then, attracts more interest than an environment based on total randomness, and challenges the sense more than a simple or explicit system.

Very often in explicit, designed virtual spaces a user can hit the boundaries far too quickly, finding an invisible wall or contrivance that foils further exploration. Here Be Dragons uses procedural techniques to combat this phenomenon. In the end each space generated still has finite bounds, but the bounds themselves can expand or contract with each newly generated space. Having a virtual space the size of a state would not be out of the question. Theoretically a space could be the size of an entire planet (or larger), although this scale presents new design challenges to an aspiring author, along with challenges to a would-be explorer.

Creating a new space take almost no time, as the computer simply has to generate a new space from existing formulas. New cities can be generated in a fraction of a second while the user traverses the space. This does not mean an end to months of hard work producing the virtual space, however. The time previously spent modeling a space has turned into time weighing ranges, defining genetic symbols, and testing resulting aesthetics. Once the coding and design phase has reached completion, however, an almost unlimited number of spaces may be accessed by an end user.

While Here Be Dragons can run on a desktop machine, the project has integrated a number of immersive options designed to augment the user experience. The graphics platform supports anaglyphic stereo rendering, a trivial addition simply requiring the virtual camera to render twice from positions analogous to human eyes and tinting the image complementary colors. Stereo input gives further volume to the monochromatic aesthetic, giving a further illusion of depth.

A user can further view the virtual space through the FakeSpace Boom3C, a stereographic viewer mounted on an armature, allowing for instant tracking. The boom has two high resolution cathode ray tube monitors, and can translate the anaglyphic input back into two greyscale images, allowing the user to get full stereographic input without color tinting. The viewing portion of the boom also contains two input buttons that allow further interaction, currently for navigating the space.

The user/explorer, upon starting the program, will look upon a foggy terrain, with a city-like entity in the distance, and more than likely a virtual creature or two wandering the landscape. While much of the terrain has been subject to random and algorithmic variance, one city and a few creatures are specifically placed within eyesight of the explorer, for orientation and direction. Creatures and cities may seek or flee the explorer, and will respond in different, often unexpected ways to the explorer’s actions.

HBD3.jpgThe two dynamic elements, the creatures and cities, come from very similar code bases, and behave in some similar ways. Both rely on a tree-like structure that varies over time. In the creatures this branching takes the form of limbs and appendages, in the cities these manifest as streets and buildings. The “cities” themselves currently have no interiors, and in many ways resemble mirages, sometimes suggesting metropolitan skylines, other times forests or mountains. While the creatures move with fairly fast rhythmic motions, the cities change slowly, sometimes growing, sometimes shifting their streets, although a cursory user might not notice this subtle action occurring during their exploration.

The overall “look” of Here Be Dragons comes from a number of choices and considerations. The desire for an otherworldly atmosphere led to the shadowy, black and white imagery. Certain depth cues like scale were diminished, while others, like stereography, were enhanced. The choice to use anaglyphic stereo, while not eliminating the ability for color, tends to prove more effective with monochromatic images. The volume given to shadows, combined with a lack of texture invites the user to invent their own detail within the creatures and cities. Overlapping meshes combine to form complex shapes. The fog acts as a very important depth cue, as the meshes have absolutely no texture or shading. Without the fog, every mesh would appear as a simple silhouette.

While an explorer starts within sight of a city and a few creatures, both elements remain fairly rare throughout the space. While the program running has the ability to flood the environment with countless objects, a certain cultivation of rarity exists to make encounters more meaningful.

The project was developed with the help of Eric Nelson and Glenn Song, students who participated in development of the C++ code base, as well as advisors Bruce Damer, Tracy Fullerton, and Peggy Weil.

Project type:
Thesis Project

Funding:
Research Assistantship

Team:
Todd Furmanski

Advisor(s):
Peggy Weil, Tracy Fullerton, Bruce Damer

Website:
http://interactive.usc.edu/members/todd