Matrix-Style Bullet Time for Realtime Online Games
gcnaddict writes "Creating a slowdown in time on one end of an online game while maintaining normal speed on another was once one of those impossibilities which should never have happened. However, Finnish researchers have successfully invented a way to replicate a bullet-time-esque scene on one end of a real time multiplayer game without affecting the play speed on the other end(s). Of course, there are some slight issues which may never be resolved, such as when a player may occasionally think they have shot an opponent in a game and is surprised when his target refuses to die..."
This method involves the introduction of excess latency to the system so that the player who is working in slow motion can be allowed to "catch up" to the server's actual state for as long as he is in bullet time. The problem with this method is twofold.
First of all, there is the issue of lag in the standard game. Unless the server-side prediction is able to perfectly determine the paths of the slowed player, it will not be able to send an accurate picture of where that player is to his opponents. This will make a bullet-time'd player either invulnerable or just very difficult to damage. The other problem arises when a player is bullet-timing and kills another player. The player could perhaps be completely out of site from the bullet-timing player, but because his lagged position is still visible to the bullet-timing player, the hidden opponent could still be killed. The frustration this would add could never make up for the gameplay benefits of such a system.
Some things are not merely hard, but impossible.
If you and I play online in this game, let's call it NeoFrag, and you have a latency of 120 ms and I'm the server with a nice fat zero ping then I have .12 of a second that I'm effectively 'ahead' of you, and I can take advantage of that time difference to appear different to you. I simulate enough lag to meet you at your latency, you see me meeting you, and instead of being ahead of you, I'm now at the same ping as you, my responses (not the speed of my actions, but my reactions) are not as fast as they had previously been.
Then once I've stabilised with you at your ping, knowing I can drop back down to zero again, all of a sudden I gain .12 seconds in a single burst. This is the bullet time moment as I see it. I don't know what happens for the briefest of moments, but I have made 1.12 seconds worth of movement in 1 second, so instead of going 100 virtual yards, I've gone 112 virtual yards, and your rocket misses me.
All the while the poor guy at the end of a dodgy connection, or just very far away is at a greater disadvantage.
That way, you enter bullet time by doing a bullet time move (step left, say) so the other person's computer knows what animation to show, and then just shows where on the map your player is.
Preventing the use of bullet time as a period to make up your mind would hopefully mean that the computer wouldn't have to make a choice in advance of the other player's movement being made.
Of course they could just blur the graphics badly and obscure everything I guess, if it's a matter of presentation.