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

Links
Essays
Talks/Interviews
Snippets
Laws
Timeline
Book

Continuous maps

The current trend in more cutting-edge mud development is to move away from room-based models in favor of continuous maps. This means that the assumption of spatiality includes the concept of a 2d or 3d space handled with a Cartesian coordinate system. Depending on the implementation, the dataset for the map may be sparse or dense—meaning, the map may actually have data for every point on the grid, or it may only have data for specific landmarks on the grid.

In general, the latter approach is taken by text-based environments, which essentially dynamically build up descriptions that look just like traditional mud rooms, based on the proximity, visibility, and notability of landmarks and features on the map. In other words, the text descriptions, which are generally of locations for which there is no data, build a description that interpolates data based on nearby landmarks.  Movement is still done, generally speaking, in the same manner as it is in a room-based system—the intricacies of moving in an actual continuous space are handled transparently by the server. In fact, the designers of these environments tend to go to great lengths to get their systems to output textual descriptions that are well-written prose, which is quite a difficult task! Few muds have implementors with this level of technical ability, which may be why I do not know of any operating servers that have this level of continuous map. Many muds have implemented Cartesian grids within given rooms, however.

In the graphical world, continuous maps are common. A key difference between room-based graphical systems and continuous systems is the lack of a nodal structure to the map. Perhaps one of the best examples of proto-continuous systems is Meridian 59. At first blush this system is extremely similar to EverQuest, with zones that are independent of one another and a significant delay when crossing a zone boundary as the new zone’s data is cached in. The key difference is conceptual: Meridian 59 was seen as a continuous world by its designers, and therefore any point along the boundary between two zones allowed passage from one zone to the next. In addition, you could actually see the geometry of the landscape in the next zone. The result was a continuous map, but with seams in it where the map was evidently stitched together.

Both Ultima Online and Asheron’s Call use seamless maps, involving some tricky technology to provide server mirroring along the boundaries of separate zones. Zones in this model are something else entirely—an arbitrary chunk of map handled by a given server process (meaning, a given copy of the server program running on a computer). When you physically move on the map from a location handled by one server to a location handled by another, you and all your belongings are copied over to the other server process transparently and instantly. Since zones in both cases divide not along geographical lines but are purely conventions in order to distribute load on a given server process, this means wide-open landscapes and seamless plains. There are frequently artifacts where the mirroring of actions from one server to another is imperfect, but by and large the illusion is good, and the act of moving from one server to another is actually transparent. Asheron’s Call goes UO one better by dynamically shrinking and enlarging the size of the map portion controlled by a given server based on the load on a server process: as a process gets overloaded, it hands off portions of the map (and the players sitting on those portions of the map) to other server processes. This is a very scaleable solution generally termed dynamic load balancing.

Even within continuous map designs, there are multiple ways to go, of course. The basic implementation of a continuous map has a low density of grid points, meaning that it is essentially a grid mosaic of individual spaces. This is generally referred to as a tile-based system. In such a system, every object within the world, including a player, occupies a grid square. This leads to a very clear “gridding” of the world, as if it were put together on a chessboard. It also means that in most cases, buildings and the like are aligned on rigid X and Y axes. In a more advanced 3d environment, the coordinate mesh becomes finer, allowing higher granularity in movement. However, this also complicates problems such as object collision and walking from point to point (particularly if done as part of a pathfinding routine in the server software). Because of this, the abstraction of a low-resolution grid underlying the continuous map is still useful in many ways. One of the most obvious is that the tile set for a particular terrain type can be re-used endlessly everywhere. Examples of tile-based virtual worlds have included Legends of Kesmai, Ultima Online, and Dark Sun Online; of these, only Ultima Online used a continuous map, as opposed to a room-based model. The others were however continuous within the room.

Completely implied by any of these systems is a world map that is a seamless whole. The downside is that it is much more difficult to add new geography into a continuous map system than into a segmented or nodal system. Think of the map in a room-based system as being best represented by Tinkertoys—it is easy to add a new connection point somewhere, even in a direction that is not on the 2d plane (or indeed even into a 4th dimension or some such other non-Euclidean direction) or to remove even a node in the center, and by judicious rearranging of connection points, preserve the overall integrity of the map. However, the best analogue for a continuous map model is a piece of cloth. With some fictional difficulty, you can justify sewing more cloth onto the edges to make the coordinate plane larger, but it is impossible to justify the removal of a square of cloth from out of the center of the map. Likewise, it is impossible to add more detail (by adding greater resolution to the coordinate system) to a region within the existing map that you want to expand upon or revisit—your grid size is fixed.

One partial solution that has been in use for many years in standalone games, particularly computer and console role-playing games, is for landmarks on the continuous map to be iconic representations of a city or town. When the icon is touched, a fresh continuous map is presented which can have a different scale, permitting depiction of greater detail. This however is a consensually deprecated design in the community, on the (perhaps invalid) grounds that greater realism means consistency in scale.

The problem of course is that a consistent scale means a lot of empty land. One of the chief complaints players have regarding Asheron’s Call is that the realistically sized continuous map, which is around the size of Rhode Island, is rattlingly, echoingly empty. Ultima Online likewise suffers from large expanses of randomly placed trees on completely flat land. A continuous map with consistent scale demands expanses of nothing, whereas a room-based system can essentially abbreviate or symbolize the empty space with a single node, or even no node at all. This also means that travel time becomes an issue in a continuous map system, whereas it hardly existed as an issue in a room-based system.

In a room-based system, each issuance of a movement command moved you one node, and commands could be quickly entered in sequence (a trick called “fastwalk” on many muds), on a continuous map there is, because of coherent scale, an imposition of a rate of movement over time. Perforce you must move a fixed distance in a given period of time. This imposes travel time as an issue. All of a sudden, the virtual space involves tedium in a very direct way, every time you try to get from point A to point B. Now, room-based systems have always attempted to simulate limits on travel by preventing too much movement in a given span of time (usually by deducting points from an arbitrary “stamina” or “move” value stored on the character every time a node was traversed), but what this really meant was extremely rapid movement interrupted by times when the character remained stationary in order to recover the points spent. The only time delay involved in moving from node to node in virtually all room-based systems is the time delay incurred by the latency on the Internet: time for the command to reach the server and then the results be sent back to the client.

In a continuous system, however, movement of a certain distance on the coordinate plane means a fixed amount of time expended. Distance suddenly literally equals time. This applies equally as much to a room-based system on a large scale, like EverQuest, as to a true seamless and continuous map, like Asheron’s Call. The undoubted trend in mud design is towards continuous maps, but they raise interesting social issues, such as travel time to reach friends. If it is axiomatic that muds are about other people, then a map which keeps people apart is an undesirable thing. Perhaps because of this, the three major commercial graphical environments today all offer instant teleportation facilities for getting quickly from one location to another.[1]

Players are mesmerized by the concept of merely adding more map, because they are generally not aware of the social implications. Indeed, many agitate for the removal of the teleportation systems on the grounds that they create too many social problems (creating, in essence, a world full of transients who have no home base within the virtual space). More map means lesser player density and less interaction with others. It may indeed result in a greater sense of localized community, but may also result in it being pointless to create large worlds because of how scattered the players will be. If you have lots of widely separated communities on one map, so widely separated that they cannot easily interact, why go to the extra investment of having a server architecture that handles maps of that size? You could get a similar effect from running many smaller worlds that are completely disconnected instead—something far easier on your programmers and on the pocketbook. There is also a difficulty involved for the player who has limited time to spend online in a given play session, but who may be required to travel large distances (and therefore invest more time) in order to get to someplace interesting. Room-based systems without continuous maps within rooms, a la Habitat, Illusia, or The Realm will probably not be viable in the commercial marketplace after the current generation of games have shown the greater immersiveness of a seamless, continuous world, but it doesn’t mean that bigger is better.

 



[1] In Ultima Online there are moongates and a magic spell that allows teleportation for both individuals and groups. In EverQuest the fact that this ability was limited to a single type of player character was touted as an advantage, but every group then traveled with one of the players with this special ability. One of the most desirable abilities in the game is “spirit of the wolf” which provides accelerated movement. And in Asheron’s Call there are “subway stations” scattered across the map that provide instant teleportation across large distances.