human factors in networked virtual environments
TRANSCRIPT
Human Factors in Networked Virtual Environments
Joe ManojlovichINFSCI 2350
Networked Virtual Environments
We’ve so far described the problems of creating a single user, single site virtual environment
Now we’ll discuss the problems in distributing a virtual environment over different computers, and even across the Internet
Networked Virtual Environments
The central problem of networked virtual environments is how to share the same state among different hosts
How can one ensure that each viewer of the shared simulation has exactly the same virtual world, synchronized exactly with every other hosts?
Consistency-Throughput Tradeoff
It is impossible to allow a dynamic shared state to change frequently and guarantee that all hosts simultaneously have identical versions of that state
There is always inconsistencies in the clients compared to the authoritative server due to network and rendering lag
Consistency-Throughput Tradeoff (cont.) From a human factors standpoint,
inconsistent clients can lead to interaction difficulties in the simulation
Lags can cause feedback times to increase, resulting in the loss of presence, or even cybersickness
Three major methods of overcoming this: Centralized repository Frequent state generation Dead reckoning
Centralized Repository
Rely on one central server to keep a single authoritative simulation
Each client must try to keep up with the server
Network lag and rendering lag on the client could result in jerkiness, reducing presense
Frequent State Regeneration Assume the clients do not keep
track of the simulation, and every time interval send a dump of the simulation
Rapid updates should quickly override any inaccuracies in the client simulations
If updates are small enough, the jerkiness caused by network and rendering lag should be minimzed
Dead Reckoning Make predictions about the location
and state of objects in the simulation based on their current status
Can lead to inconsistency between simulators if assumptions do not match what actually occurs to the objects
Synchronization of states will cause jerkiness, reducing presence
Networked Virtual Environment Tracks
Three main tracks of development Military Academic Computer Games
Let’s use games as the basis for comparing the other types
Games versus Other Virtual Environments Academic and military simulators tend to
concentrate on “brute force” creation of virtual environments
Details as small as square meter soil types, while useful for scientific calculations, are not required for most simulations
Games eschew the brute force approach, and instead try to show a subset of the environment’s attributes in an accurate and smooth way
Multiplayer Gaming “Multiplayer gaming is about
shared reality: that all of the players feel that they are in the same world, seeing from different viewpoints the same events transpiring within that world.” – Tim Sweeny, Epic Games
The history of networked games parallels that of other networked virtual environments
History of Networked GamesFirst Generation
First networked games were peer-to-peer based
Each machine participating in the game was an equal to every other
Inputs and outputs were exactly synchronized between all machines
History of Networked GamesFirst Generation (cont.)
Each machine executed the same game logic on the same data
By using completely deterministic game logic, each player got the same virtual reality
History of Networked GamesFirst Generation (cont.) Main advantage was simplicity
Each machine was exactly the same, from data to code running
Very limiting at the same time Persistence: Players could not enter
and leave virtual world as desired Scalability: Reliance on lock-step
networking, problems of coordination and network failure
History of Networked GamesSecond Generation
Monolithic client-server architecture One server, responsible for all shared
decisions about the game Clients were just dumb terminals, and
relied totally on the server Much better scalability, enabled first
usable Internet-based virtual worlds
History of Networked GamesThird Generation Simulation and prediction logic
added to client Increased visible details and
lowered network bandwidth usage Server now sent out trajectory
information, allowing clients to make simple predictions Dead reckoning
Lowered client latency
History of Networked GamesThird Generation (cont.)
Disadvantages of simple dead reckoning Each client must know about each
object on the server to correctly implement trajectory predictions
Difficult to rejoin networking to game state to correctly distribute data to clients
History of Networked GamesFourth Generation Generalized client-server
architecture Server is still main authority on the
game state Clients maintain a small subset of
the game state locally Run the same code as the server
locally on nearly the same data Minimizes network communication
History of Networked GamesFourth Generation (cont.)
Approximate game state on client can get out of sync with the server
Does not require much bandwidth to synchronize clients and server
Needs reliable networking to reduce latency of objects moving in and out of client virtual world
The Cutting Edge
Games are the main application that is pushing the envelope of virtual reality
Augmented reality
Resources Sweeny, T. “Unreal Networking Architecture.”
http://unreal.epicgames.com/Network.htm Singhal, S., and Zyda, M. Networked Virtual Environments:
Design and Implementation. Addison-Wesley, New York, 1999. Lewis, M., and Jacobson, J. “Game Engines in Scientific
Research.” Communications of the ACM. January 2002, Vol. 45, 1, pages 27-31.
Wann, J., and Mon-Williams, M. “What does virtual reality NEED?: human factors issues in the design of three-dimensional computer environments.” International Journal of Human-Computer Studies (1996) 44, 829-847.
Smed, J., Kaukoranta, T., and Hakone, H. “A Review on Networking and Multiplayer Computer Games.”
Lewis, C. H., and Griffin, M. J. “Human Factors Consideration in Clinical Applications of Virtual Reality.”
Staney, K. M., Mourant, R. R., and Kennedy, R. S. “Human Factors Issues in Virtual Environments: A Review of the Literature.”