Dear CCP

Instead of telling me that I am wrong, which I am not …
… you should do the smart thing and ask me why I think I’m right.

Or maybe how I believe to know better.

I’ll skip that part and go straight to answering.

Going the ignorant way only serves as a shield to protect what you believe to be right. No matter how much you insist, you are wrong. Yes you are of course right that the node has to send more data as a whole to each additional client, but that’s not really worth considering. Bandwidth (the amount of data they can transfer per second) is not an issue for CCP. Their issue is processing time.

That’s why TiDi is so helpful. It slows down the visual representation of the game and prolongs the tick rate, aka from one second to two, three, four … however long it takes for the node to finish calculating each update. Then it sends the data to the clients so the clients see the updated live view of what’s going on in space.

Do tell, what’s your programming experience?
And what makes you so sure that you are the smartest around here?

1 Like

How does the amount of calculation the server has to do scale according to the number of people on the node? Do some estimation/simplification if you have to.

More and more players create an exponential amount of “noise” in the system.

10x players and calcs causes far more than 10x system load.

1 Like

From what I understand has it mostly to do with the database, the data tables and keeping the data entries updated.

When you have several players interacting with one another do multiple data tables need to be updated. The problem then is that entries in these tables need to be locked until the update has occurred. The more players interact with each other (i.e. those who share the same grid) the more time consuming these updates and the locking gets.

Most of it happens in memory and the memory speed is a major factor. But databases also need to have safety features, like a transaction journal to undo/rollback operations, as well as safe and synchronous writes to back-end devices (i.e. SSDs), which requires further locking and thus delays.

Thanks for your link. Has CCP given any further updates on TIDI since 7 years ago that the link above was created?

What is there to update? It works the same way and is limited by and caused by the same things.

TiDi is not going away unless someone invents a CPU that can push clockspeeds much higher than currently possible.

Actualy there’s also a client issue at some point : it needs to represent everything on the grid, and when there are 3000 players on grid, with drones and stuff, that’s easily 15000 objects.

Because there are the drones too indeed. Each player is basicaly 4 or 5 objects on average, considering some will have their 5 drones and some wont. There also the missiles, bombs etc.

And for each object there are not only the position/speed vector but also all the stats and the various sources that modify them. For players there are also the input to process.

I think CCP worked hard to fix the problem of missiles these last years. But drones are a true problem that cannot be fixed easily. They simplified fighters, but for drones it would be radical and difficult because it affects a lot more ships.

It’s summer. People have on holiday, and it’s hot. So naturally things go more slowly.

Then players, who are also on holiday and hiding from the heat, pile 4k people on a node.

Drama ensues.

1 Like

Time dilation sets in when a node is not able to process its queue within 1 second, which is EVEs tick.

Under normal circumstances most systems share a node with other systems, for low traffic systems it could be several hundred other systems on one node. For large fleet fights CCP can assign a reinforced node (called Everest node afaik), that handles only the one system in question.

Let’s say you have 4000 players on grid, which means you have easily around 20,000 objects (ships, drones, wrecks, bubbles etc.). Each of those objects has a load of multiply-interdependent states/properties.

You have influencers of Stats such as Skills, Boosters, Fleet Burst effects, Stacking, Modules and their state etc. You have a bunch of information for spatial positioning and movements of all objects. And many more things. Then you have calculations for the relation between objects and their states. Relative position, relative speed, etcpp. Gazillion of particles and so on. At least for these calculations you have exponential growth in amount of CPU usage with rising number of players.

How many instructions per second the servers CPU is able to do, is not something that we can’t generalize. It depends on a number of factors and you could do some research online to get an idea.

Even if we assume that CCP optimized as much as they can, there is a limit and it seems we’re regularly reaching it, even on the high power dedicated nodes.

If that limit is reached there are basically two choices:

  1. slow everything down, prolong the server tick from 1 second to X seconds in order to give the Processor more time to compute all the stuff. That’s TiDi and while it’s a pain, it allows for high consistency under pressure.
  2. let the CPU clog up, drop requests, behave all weird. That’s afaik what was pre-TiDi. You probably crash the node, you never really know if any of your commands go through and so on.

There is no general solution to the issue, as any CPU can be brought to its knees.

One option to ease on TiDi would be to use more suitable hardware, but iirc the high performance nodes ran some hardware that was kept secret under an NDA. I think it tells us that CCP is doing what they can. Regarding optimizing software, I think they’ve already done a ton of that in order for us to even be able to have several thousand people on one grid.

TiDi sucks, but see it like this: EVE is spear-heading the development of greater technologies, by creating the need and practical application for it. This thought kind of always eases the pain of TiDi for me.

But yeah, a highly technical and super specific Dev Blog about the current state of TiDi would be awesome.

Well it needs to simulate all those objects, at that point it just throws the game state at every client, yes adding more and more people means more and more TiDi but thats just the nature of the beast, eventually any hardware can only process so much data, TiDi just makes it so things slow down instead of crashing :stuck_out_tongue:

Per each player on the node, the server has to do at least one more fixed set of calculations. Physics. That’s the one fundamental thing every node goes through for every player, maybe with the exception of those who have a velocity lower than 0.0, because there’s simply no reason to waste cpu cycles on that.

Then we get situational.

Is he being locked and aggressed? That means there are added calculations for these two, or all involved. It scales linearly though, as for every pilot everything only needs to be calculated once per tick.

AoE damage. We already have the grid set up in an octree, which makes it easy to limit AoE calculations to those within the smartbombers node of the tree, or depending on the position inside the node, also to the surrounding nodes. You need to read up on octrees in case you don’t know what I am talking about.

IMHO one way to improve the situation would be to have less drones and far, very far increased AOE. Need more AOE damage sources and they need to actually do more damage. Also need AOE resist debuffs.

This way, you can simply reduce the number of ships / players in the system at a much faster rate while making the game better. Reduce the “tight blob” mechanics and make it far more tactical, those who use more brains would end up being vastly superior over those who simply have dumb ass numbers as it should be instead of as it is.

All this at the same time would drastically reduce negative effects of tidi.

1 Like

Calculating AOE is again quite costly for the server. There is a reason why Eve has so few AOE-weapons.

Here’s a funny thought. Within constraints of EVE’s code and services constructs. Ever considered the effects of positioning and force projection? A lot of what is currently projected is possible because positioning has only bearing on anything for an extremely few variables. Consider however the behavioural and mechanical consequences of position in space as part of a fleet being relevant.

Formations. Here’s a really funny thought, when you apply such concepts to available strategy, you don’t insert stimuli to decrease numbers, but you do increase tremendously stimuli for strategy to divide numbers for efficiency. A strike wind’s left flank will have less than a tenth the force projection of the center, and the more numbers you pile up, the worse it gets.

No.
Address CCP in a support ticket like everyone else. Posting here is not going to solve your need for intel on ‘issues’ with the game. You know that very well, since you are a bittervet who has been around since 2008 (with over 7 tears in nullsec), you probably even remember when going to Jita would ALWAYS end up in tidi. The situation is MUCH better since the last change in serversystems by CCP, however the large space battles still succeed in bringing the nodes down. And most recently Tidi is used to defend citadels by just loading in as many alt accounts as people can muster until the node breaks and the vulnerability window is passed. Maybe accounts of people that attend the large space battle can be charged $10.000 a month per account so the servers, network and firewalls can be upgraded over and over?

True, but if you use AOEs more often and to greater effect then the sheer number of those calculations will be reduced, quite drastically in many cases. It would only be more costly if all of them go out at the same time, but spread a bit over time it will be less costly. A single well placed AOE taking out drones / fighters off the grid will do wonders.

Lad, I’m a software engineer and I’m telling you that what you wrote there is total bollocks. Remiel and Solstice are right. EVE isn’t a federated peer-to-peer system, it’s a centralised server-client system. The client talks with the server and literally nobody else, while the server talks with all the clients.

Now I could go and make a little sketch to explain it to you and explain networking in-depth and all that, but you don’t strike me as particularly literate and I suppose it would be a waste of my time. Meaning I’ll just leave it at saying: You’re wrong. Stop spreading crap and go educate yourself.

1 Like

That is not how it works…

I know, but it should.

No, that’s not how computers or calculations work. If you have to do more of them, it’s not suddenly going to be less work for the server