Paradigm Design™ Business Development Process
Paradigm
Design
www.activeinfo.ca
Active Information Corporation

Systems that drive business
Focused thought and action produces targeted results.
On Target
Vision
NeedsFocusAction
AnalysisDesignImplementation
Results
Reality Resolution
By Peter William Lount


Reality Resolution simply refers to the various level of detail in a simulation, game, business model or other software system. In the above images we can easily see different levels of detail. This is an example of vararious levels or gradiants of Graphical Reality Resolution. The concept of Reality Resolution in general applies to all aspects of simulations, games, business models and other systems. A graphical example of Reality Resolution is the easiest to illustrate. Why is the concept of reality resolution important? There are "reality resolution thresholds", that when crossed, make a significant difference to the simulation, game, business model and other systems. It's important to know when you've crossed these thresholds and entered an appropiate level of detail for the particular system or aspect of the system.

Introduction
During the development of the video game Gemstone Warrior back in 1982
Trouba Paul Gossen and myself jointely coined the term "reality resolution" as a way of distinguishing certain important concepts. The term proved to be an effective design tool during the development of our video games. It has applications to many kinds of software including games, simulations, educational, animations, modeling and even business software systems.

Reality Resolution refers to the various level of detail in a simulation, game, business model or other software system. The concept of Reality Resolution in general applies to all aspects of these kinds of systems. Why is the concept of reality resolution important? There are "reality resolution thresholds", that when crossed, make a significant difference to the quality of the systems and the result it produces. It's important to know when you've crossed these thresholds and entered an appropiate level of detail for the particular system or aspect of the system.

Reality Resolution v.s. Modeling Reality Acurately
Games and systems that model reality with a purpose of getting the simulation as close as possible to reality are but one kind of reality simulation. Certainly these games are attempting to have a high as possible reality resolution as possible to help with the "realism" of a game. However, the term reality resolution applies equally well to games that are not attempts to simulate our real world, but that create their own world with their own rules and "realtiy" to them. These games also benefit from the having a high reality resoltion, a high level of detail in their simulations. Reality resolution should not be confused with "graphical resolution", although an increase in graphical resolution may in fact be a significant increase of reality resolution for a game.

For example, a game based upon the Simpson's characters could be limited to driving around in a dune buggie in the simulated reality. By letting the player have additional modes of operation such as walking and running increases the reality resolution.

Why does reality resolution matter?
Simple, every game (or software system) has a reality resolution just as it has an inherent design, and adjusting (by increasing or decreasing) the level of detail is one way to help the game improve. Obvsiouly there are many ways to adjust the reality resolution such as increasing the graphical resolution, the number and kinds of objects in the game, better simulation physics, the "quality" of the artifical intelligence of the game and it's computer driven players, the number of sub games within the main game, the number of scenarios and their variations, the number of players, plus many more aspects. Anything that affects the range of what the player can do, perceive and achieve in the game impacts upon the reality resolution of the game, some more than others.

Why is the reality resolution of a game important?
All games have a reality to them, wether or not it aiming to simulate the real world in some way. Game are products that exist in a competitive market place with many forces driving their development and the quest for successfull sales. Competitive forces are a significant factor in driving an increase in reality resolution in game products. Players desire for better games that drive these improvements.

How do you find the right level of Reality Resolution?
Finding an appropiate level of detail for a game's reality is an important part of the process of game development. Certainly, reality resolution is just one component to a successful game, and ultimately simply one of many ways of assessing and looking at the quality of a game. The ultimate judge of a game are the players who buy the game or not. The key is to find those aspects of the game (or system) that, if improved by increasing the resolution, will create a whole new experience of the game (or system).

Local v.s. Global Character Knowledge
What is the difference between local and global knowledge in games and simulations? What does it have to to with the reality resolution?

Global knowledge: Simulated characters in computer games and simulations have the advantage that they can be given access to any information in the game or simulation. This is a powerful tool in programming the "behaviour" or "artifical intelligence" of simulated characters. It's also an essential technique for programming the overall game logic rules. This is known as "global knowledge"

Local knowledge: The reality resolution of simulated characters can be increased if the information and knowledge that they have access to is restricted to information that they have in their direct sourroundings. In other words they exist as a players character would and gain information and knowledge from their environment, they don't receive "extra sensory" or "magic" messages (unless that's part of the game ;--). Generally this makes it more difficult for the designers and implementors of the game simulation since they have to work out additional algorithms and methods for characters to acquire knowledge and make decisions. Often these strategies go hand in hand in making the game have an "cutting edge" and "state of the art" feel to it. The results can be worth the effort.

The purpose of the "monster intelligence" routines in the video game Gemstone Warrior was to provide the illusion that the monsters were "intelligent" and not "dumb algorithms". The rountines enabled the monsters to avoid most obsticles in the dungeon caverens by letting them plot a course around those obsticles. This was enough to allow the product to have much more complex "dungeon room" shapes than "Castle Wolfenstein" was able to have. Wolfenstein's monsters, actually nazi guards, were dumb and not able to move around even the simplest of barriers even though there was a trivial path that anyone could see, thus the perception that the guards were dumb. In order to beat the competition and have a better game for our players we were determined to create a solution that enabled our monsters to successfully navigate our more complex rooms. We new that if we could solve that problem the game would be better since the terrain would be more complex and thus more interesting to the players. When we played Wolfenstein we kept saying how dumb the mosters were, and we didn't want to have players of our game saying the same thing. To us it was about quality of the experience, which meant spending the time to find a way to make the monsters "smarter". To give them enough rudemenatry navigational capability to provide an illusion of "look out, get out of the way of that monster... quick shoot it.. run away...".

This strategy was effecitive in providing players the "illusion" that monsters only acted upon knowledge of their "local" surroundings and let them move towards the player. The exception was game logic that "brought" a demon and it's minions into the area of the dungeon, that the play was in, after a certain amount of time. This "game rule" used the global knowledge of where the player was under the pretense that the demon's had magic capabilites. The game would have had an increase of it's reality resolution, and fun, if the demons had to track the player down themselves by conducting a search through the dungeon. However, this was beyond the scope of the game's design and would have over burdened the technology of the day. It would be easily doable with today's impressive hardware.

Global and local are very much like two points of view: looking out of your own eyes is the local perspective, while looking down from above at an environment and situation, like the announcer at the ball game. In our daily lives we make all kinds of decisions based upon local knowledge. We do the same with global knowledge. For example, you are riding your bike to get to meet a friend, not knowing that your friend has called you and delayed the meeting till the next day. This means that you are acting upon the "belief" that some information is true, but it no longer is. You don't have the benefit of a "global perspective" to help you out. If you have a cell phone with you and hear it ringing while riding your bike, you'll get the message and make other arrangements. The tool of communications over distance has enabled you to transfer knowledge bypassing the "limited local knowledge" that is available to you. In a sence your friend is sharing his local information with you and this expands your local knowledge with a slight perspective.

Alternatively, you might have a friend, Tom, who has an appartment with view of your meeting place and sees that you and your friend Mary missed each other by a few minutes. Your friend Tom has a "global" perspective from your point of view in that he has knowledge of what is going on that you and Mary don't have available locally. Local and global, it's all relative to your perspective.

Stateless Characters: A Mob or Flock?
Where you store "information" that a simulated character has access is important. Do you store it with the character or with some global object?

Globally storage of character information enables the possibility of "stateless" character simulations where individual characters cease to exist as distinct objects and become a "mob" or "flock".

An example of where this could be used is in simulations of groups of characters who are not on the "visible" playing field. This is an optimization strategy that lowers the reality resolution of the simulation in a similar way that surfaces can be simplified in the 3d graphics of a game. The reason it's "stateless" is due to the fact that information that each character stores is essentially reduced to minimal levels, such as simply a location and a few other "dormant or static" variables, or even to no local character storage at all. If all your are storing is "global" information about the quantity of characters then this is the point at which you have "stateless characters". In fact it's possible that the character will cease to exist as a uniquely identified object in the game at all. (This is fine as long as that character with it's reality details is no longer revelvant to the game).

Another example of global stateless character simulations is when a specific character is outside of the "visible" playing fields of the players yet we wish the characters "thinking" to still be active. In this case the character could have a "thinking object" that maintains minimal state for it's thinking process, yet the character data itself is essentially reduced to nothing or frozen unless a major state change occurs.

Local Sphere's of Activity
As each player traverses through a game environment there is a "local sphere of activity" that surrounds the player. This local area of activity or "playing field" that each play is always inside of can be, and usually is, simulated at a higher game reality resolution than the areas where players are not located. This is done with the 3d graphics so that what the player sees close up is rendered at a higher resolution than what is far away.

Continious Reality Simulation
A continious simulation is one that attempts to have as much of the reality being simulated at a high a reality resolution as possible (or as needed).

In continious reality simulations there can be an overwhelming mass of information to model. Doing so on a continual basis may not practicle on a massive scale as the simulation may consume more cpu cycles, memory resources, disk input/output and network bandwidth than the hardware has available.

Roving Simulation
A roving simulation is one that increases the reality resolution around the players field of play and follows the player(s) as they play the game.

Multi-Resolution Continiuos Reality Simulation
A solution to this is altering the simulation so that it's a "multi-resolution continious reality simulation". In this type of simulation the "reality resolution" is variable as there are multiple levels of detail to the simulation. It makes sense to have the highest resolution of simulation where it will do the most good, this is usually in the "playing field zone" that surrounds the active players in the game wether they are human or computer driven players.

Dormant Portions of the Reality
It makes sence to have as much of the simulated reality in a "dormant" or "very lowest reality resolution" as possible given the game's design. However, this may not be possible in some games where the entire reality or very large portions of it need to be simulated at a certain reality resolution "level" or "gradiant".

Reality Resolution Levels and Gradiants
The more reality resolution "gradiants" (shades of gray) a game has in it's simulations the wider it's range of reality resolution. Usually games have at least two levels of simulated reality resolution, "fully active with highest level of simulation" or "dormant with no simulation". Of course you can have more levels such as "dormant with minimal global simulation" or "dormant with global simulation that updates locations". There are many possibilities that can be used to improve the game play.

Certainly most games go "completely dormant" when the player stops playing and turns off the game. However, in distributed games it's posisble that the reality is still being simulated on other nodes in the game's computer network. These nodes can be other players computing resources or server nodes provided by the game "service" company.

Non-Dormant Continious Simulations
"Non-dormant continious simulation" kinds of games are a fairly recently added dimension in game play that keeps players coming back to the game, for if they leave the simulation running who knows what will happen in it, especially if there are other human players. In this type of game players "avitars" become "agents" acting upon the will of the player. Imagine playing such a continious game, turning it off to go to work and receiving communications updates and queries (email, text pages to your phone or pager, Blueberry, Palm or PDA) during the day about events occuring in the game. Imagine responding to specific requests for decisions needed by your character(s) avitar(s) with a web page interface that you can check up on at any time from anywhere in the world! Imagine your characters informing you of the decisions that they had to make in your absence. These new dimensions of game play can increase the involvement level of this kind of game.

Shared Realities
For a "non-dormant continious simulation" games to work the players computing nodes must synchronize their game database with the remote game databases so that their simulation can remain continious when the player turns off their game node. This has implications for the games design. For example, players who are highly involved in their game may have it running at work and at home at the same time with their home unit being their "master server" and their work computer being their "backup server". Having two nodes will enable a player to have more computing resources to simulate wider aspects of the game's reality.

Resolution and Kinds of Shared Realities
The amount of details that are shared between players computers in shared reality simulations and games determines the level of the shared reality. If everything is shared then you have a fully shared reality, if as little is possible is shared, due for example to bandwidth limitations, then you have a minimally shared reality. There are shared realities that are shared in "real-time". There are "non-realtime" shared realities that don't need to be shareded in real-time. Some shared realities communicate "raw" details of the reality while others share only "summaries" and the details are then "recreated" in the other game system. Most use both of these approaches.

Overall Reality Resolution
You can measure the "overall reality resolution" of a game. The more active a game's entire reality is being simulated the higher it's overal reality resolution rating. Ultimately the highest reality resolution for a particular game is when all of it's reality is being simulated at the highest level.

Why bother with Reality Resolution at all?
The distinctions of reality resolution enable a common language for speaking about aspects of the design of a game, simulation or other systems. It facilitates communication of the ideas.

Continious Reality Simulation Clusters
Constructing large clusters of low cost commodity computers linked via low cost yet speedy networking technologies running free open source or customized operating systems enables continious reality simulations on a large scale.This kind of shared computing resources can be deployed for online games at a reasonable cost. These kinds of systems, if the software and hardware are assembled and design well, can be an effecitve and viable means of implementing massive games that run on a continious basis even when players turn off their computers. Adding the computing resources of the players computers and the game service providers computers takes advantage of computing resoruces on a massive scale. The main challenges are for "real-time" simulation games that need to communicate a lot of "updates" or "state changes" with other players. Games that proceed with out the rigorous bandwidth and timing constraints have a much easier time with current network technologies.

For example, Google.com's tech highlights tells how they have built their web search engine out of a cluster of over 10,000 computers running Linux. While this is not a game cluster they can be modeled after aspects of how Google is designed.



Site content is copyright 2010 by Active Information Corporation unless otherwise attributed or used under fair use copyright provisions. Written permission is required for use. All Rights Reserved. ActiveInfo.ca, Active-Info.com, Paradigm Design, the Paradigm Design logo, the "On Target" logo, the Zoku log, are trademarks of or licensed to Active Information Corporation. Other logos and trademarks are trademarks of their respective holders.