Showing posts with label time dilation. Show all posts
Showing posts with label time dilation. Show all posts

Monday, April 11, 2011

CSM 6 - Time Dilation

First a note to my three readers.... I am not dead... just very very busy with IRL stuff (moving, work, etc). I will get to the cheapfleet challenge prizes soonTM I promise.

Now that the CSM 6 is underway under the leadership of Chairmen Mau/The Mittani/Mittens they have decided to start doing things. It seems that unlike previous CSMs that tried to operate in the way that CCP intended, the new CSM is planning to completely ignore the normal rules and procedures and try and operate more efficiently. The leadership seems to think the best way to get going is to place and ‘issue spotlight' on Time Dilation being worked on by team gridlock.

What is Time Dilation

I first say Time Dilation mentioned in a dev blog (unable to find link however so it may have been my imagination) and it appears to have been mentioned during fan fest. What it involves is slowing down the order of events in the game during situations of high lag. To the players things would appear to be moving slower, however it would remain consistent. Right now the frustrating thing about high lag fights is that players really don't know what is going on in the system. They might be warping around and jumping out, when on the server it is just waiting for an opportunity to generate their killmail. In other cases the lag is so bad that the client can't ever get a handle on what is happening and players are loosing capitals while seeing nothing more than a black screen. Naturally this has led to a lot of frustration.

Time dilation would slow every event down. As a person looking at the battle things would seem to be moving ridiculously slowly. However. if you recorded your screen and then played it back with a fast forward, it would look normal. Ships would take the usual amount of time to lock. Reppers would take the usual amount of time to repair, ships would move at the normal velocity and guns/missiles would fire at the normal rate.

Under this situation if the lag was such that the server could only process 10% of the requests per second, things would run at 10% of the speed. A ship that took 10 seconds to lock would seem to take 100 seconds. A gun that fired every five seconds would seem to fire every 50 seconds.

What I wonder though is why the CSM is even talking about this, let alone shining a spotlight on it. Clearly some the members of the CSM think that this technique will SOLVE the lag problems. Obviously CCP developers are looking into this very closely already. What concerns me, as a developer, is that the CSM is trying to tell the developers what to do. If the VP on my company came to me and said 'Look Tot, I think we should develop this new report in C++ because it is really fast' I would think he was an idiot. The developers at CCP really don't need, want or benefit from having the CSM dictate how they go about optimizing the code-base.

There are a lot of things that could go wrong with Time Dilation. Here are two of them:
1. From reading dev-blogs a lot of the issues that cause lag are related to locking. When things go under a lot of stress the objects in memory for the servers are getting locked up by other tasks. Time dilation will do nothing to help this and will probably make locking worse since time itself will be locked. Processes will not be allowed to do work because they are waiting for the next second to tick over. Aside from the obvious potential for the whole node freezing up, this could seriously negatively affect performance.

2. In general the load on a server from an online game is equal to the square of the users. With time dilation this will not go away. If a node can handle a fight of say 100 players in real-time without lag, then having 2000 players in one system will mean that time will run 20*20=400 times slower or about 9 seconds per hour. By the time players have shot their artilery twice, we will hit downtime. Hardly a satisfying experience. With 4000 players it becomes 40*40 = 1600 time slower or about 2 seconds per hour! What do you think is going to happen if PL catches 10 Goonswarm Titans in bubbles? If you don't think Goonswarm (or any other alliance in a similar situation) won't bring as many players into the system as it takes to effectively stop time, you are playing a different game than me.

Instead of just implementing Time Dilation, the developers at CCP are instead working on improving their algorithms to get as much speed as possible out of the system as is. It is a painstaking process that does take time, and they may resort to Time Dilation as a last resort, but it is not a solution to all of the lag problems by itself. Rather it is a tool that can handle extreme cases, only if the rest of the system has been brought up to snuff. That is the right way to do it.

So CCP developers, don't listen to the CSM regarding time dilation. Continue to do your jobs as you have been doing and good luck :)

And CSM .... concentrate on your job, dealing with features and the design of EVE. It is okay to stress the issue of lag and the problems it causes, but don't tell developers how to do their jobs. At best you will be ignored.