![]() |
||
Why is it that we can't have a race when we start on opposite sides of an athletics track and listen for the starter's gun at your end, while we can play badminton over a wall where I cannot even see what you are doing?
Locality - the property of space that things happen near where they happen and that the effects of those events spread out, waves through the ether of 19th century physics, to cause other events elsewhere, elsewhen. When the starter fires her gun, I hear it delayed by the finite speed of sound through air. But I dont really care what you do with the shuttlecock as long as I can see it at some point before it comes to me and as it comes closer to me I know more exactly where it is going and what it is doing.
Lag, the way something hangs behind something else with which it should have a connection in time. International phone calls get lagged, the slowest runner in a group lags behind the rest.
Conversations get distorted by lag. The "lag meter" that stood central in many MUDs is meant to measure the length of time that passes between when I do something and others find out that I have done it. In this lag time they may have done something presuming that I had not done what I did - the overlapping cones of causality cause confusion in the shared space that forms the MUD. Conversations where I respond to your second last sentence can split into parallel streams where the even numbered statements form one stream and the odd numbered ones form a separate stream possibly not even related to the first. Or they can descend into pure mush as statements get misinterpreted out of turn and elicit overreactions before damage control can get in and make sense of the situation.
Can we get around this? Are there games that we can play that are not disturbed and distorted by the lag between rounds. Chess might be one, badminton as indicated above another. A racing game where one object bashes against another, two players locked in a blow-for-blow tussle, these are the games that are destroyed by lag.
Games where rounds are taken, one player following the other at discrete steps seperated by an arbitrary long period of time, cannot be really effected by lag. Chess by mail is not unknown. A game where the development of the world in which one acts occurs in real time - that is more iffy. We need to look at the waves of causality in the world, if causality in the alternative physics is slower then causality / information flow in the real network, then we will have a problem. If the network information flow is faster, then the problem of lag can be attacked.
Detail. Chess by mail. We both have a chess board set up in starting position. White (you) moves. You play your move on your board, write it down in a letter and post it to me. A week later I receive it, make your move on my chess board and think about my response. I make it and post it to you. The speed of causality in the universe of the game (the chessboard(s)) is arbitrarily slow. Thus it can be determined by the speed of communication (airmail letters, carrier pigeons) without disrupting the game play style. We could play by phone call, faxes, email or anything else without disrupting the game flow. If, on the other hand, we were playing competition chess with 60 seconds per move, timed to start at 12:00:00 GMT and one move per minute thereafter, then the delay would be inappropriate. The causality wave in the world takes 60 seconds to cross from one side of the board to the other, if the information flow is slow, the message containing your move taking say thirty seconds to travel by phone lines or by email or whatever, then I only have the remaining thirty seconds to react. As the information flow time increases the game quality decreases until it takes longer for me to receive your message than I am allowed to wait and I must move without knowing your last move. Suddenly I am reacting to your second last move hoping not to be in conflict with your last move, for instance taking a move that puts me into check because you have moved your rook to an attacking position.
Of course such a game would not be played. We would rather play that the 60 second would start at the arrival time of the move data for the other player, getting away from the synchronous centralised clock tick commands of GMT, Zulu Time. The period between my moves would stretch from 120 seconds to some arbitrarily higher value depending upon network lag and other details.
But what of games of skill? To play many games, a degree of synchronicity is necessary. Getting into the rhythm of the game, being in the right place at the right time to catch the ball or whatever, these are the elements that make such games worthwhile. Are these games playable over a network? This is where an analysis of the propagation of information and effect could be useful.
In principle a game can be divided into two parts. The autonomous part is the physics of the world, the events that occur regardless of the actions of the players, or at least largely regardless. This could be, for instance, the asteroids in the game Asteroids, which move along their trajectories undisturbed by the player until the players bullets hit them. The bullets are also autonomous, once fired by the player. The other part of the game is that directly controlled by the player, her spaceship or frog, Donkey Kong doing his leaping antics. This player part sets off actions and events in the world, as mentioned above, that proceed autonomously once they have been sent on their way.
This is related to the techniques used in multiplayer shoot-em-up games like Quake where most of the universe information is exchanged in advance and each player runs around in their own copy of the universe that is run by their own machine, receiving only minimal information from the other players; position, damage, etc.
In a multiplayer game it is feasible to reproduce the physics of the world in all places that the game is being played, as this physics is deterministic like clockwork; once we know the rules and the state of the universe now, we can determine the state of the universe way into the future. So as long as the players don't do anything, then the two copies of the universe do not need to communicate as they will remain synchronous and the players will both be in the same world. Once a player acts in the world, then the effects of that action need to be transferred to the other player's world so that their version of the universe reflects the common state. If you remove an object, then it should no longer be in the room when I get there. If I am not in the room at the time, then we only need to ensure that the information about the object being removed arrives at my copy of the universe before I arrive in the room. Otherwise I will see the object and will attempt to take it, violating the physics of the universe that states that things exist only once.
On the other hand, if I am in the room, then the news must reach me as soon as possible. Here we could run into trouble. If you take the object and the information takes several seconds to reach my reprsentation of the world, then it would be possible that I would attempt to get the object in the intervening time. If we were racing toward the object, then if you arrive a half second before me, the time taken for the effect to reach my virtual position is a half second, while if the information takes more than a half second to reach me, we have reached an impasse, as I may have taken the object too. Oops.
The problem is that the time for effects in the world to reach from one player to another in the virtual world has gone below the time taken for the information to travel in the real world from one representation of the virtual world to the other. That is, the speed of information flow has gone below the speed of effect flow.
What could we do? One solution would be to maintain distance. If the distances between players in the virtual world never goes below a certain limit, then the time needed to transfer information about actions is always larger than the time that the effect takes to travel from one player to the other, and the inconsistency problem can be solved. A game like Pong or badminton over the wall uses this effect.
Another solution would be to seperate time flow in the virtual world from time flow in the real world, to slow down time in the virtual world, so that (as reported in several million works of fiction) at the moment of extreme danger, time seems to slow down and we can react with superhuman speed. Then the time taken in the real world for an event to take place in the virtual world would always be long enough to be allow the information to be exchanged. This might end up making the games more interesting from the ability to act super-expertly in the slowed down world, becoming a fast moving accurate Kung Fu master all of a sudden.
Other solutions certainly exist, but all suffer from the problem that the various versions of the world are at least sometimes wrong. If I throw a ball to you in a virtual space, then we need only exchange the parameters of the throw and both representations of the virtual world can calculate the arc of the ball. You may move into position to catch the ball, this information reaches me well before you should catch it, so my representation shows you catching the ball. But perhaps at the last moment you punched the ball away. In the time between when the ball would have landed in your arms and when I receive the message that you punched it from a certain position with a certain velocity my representation of the world was false. This may not actually be relevant, and thus not interfere with the game being played, but it does introduce inconsistencies. Interesting problems arise here trying to deal with these inconsistencies. For instance, rolling back the time that passed in the virtual world and re-running the world forward with the new parameters (ball punched away) to the present time, which involves reversing the computations, determining the collection of things that have and have not been effected by the change. Many things, interesting problems. Further research.
It is these problems that form the basis for the Closing the Loop 2000 laboratory taking place in Adelaide early in 2000. The medium generating lag is the net in all its glory and technological turgidness. Working from a basis of games and sound improvisation / collaboration, those involved in the project will be looking at ways of interrelating coherently and producing results that are appropriately satisfying without needing a net connectivity that only NASA could afford. Stay tuned for further updates.
|
--->ctltheory Mailing List
|
|||||
![]() |
|||||