I’m just a month into the game but so far really loving it. I recently found out just how old of a game Eve is and how legacy code of the game prevents it from utilizing modern mutli-core processors well and how stuff like this impact mass battles and server optimization.
So, I’m wondering, what are things CCP is doing to help upgrade their legacy code for more streamlined gameplay experience?
Look up the Dogma rewrite, Upwell structures, the constant ongoing database work, for just a few examples.
Saying Legacy code prevents it utilising multi-cores is also very… incorrect for the most part. It does use multi-cores, however the server code a lot of it has to be run in a synchronous manner, with actions done in order, and there is only so much you can split that out into separate processes before your overhead involved in keeping the work in order becomes more than just keeping the code on a single process.
CCP has been slowly (because detangling undocumented code is a PITA) separating out systems within the EVE engine so that they operate as independent entities instead of a single mass structure. However, they aren’t 100%-all-hands-on-deck on this effort, because they also have to release new content, QoL changes, and balance patches, too. So, we see slow but steady improvements in underlying systems as functionality is separated out and migrated to the newer codebase that not only documented far more robustly, but also doesn’t lump unrelated functionality together (making it much easier to maintain going forward).
All of this is still limited by absolute hardware constraints on simultaneously activities - which underpin the majority of flight and combat activities. So even making all of these improvements won’t make a massive noticeable difference to server population limitations in combat, simply because that’s not a code restriction. CCP is already on the cutting edge for simultaneous activity, so there are distinct limits on degrees of improvement - as hardware improves, so do the server limitations in these situations.
That’s something they’ve always done well on the hardware side of things, IIRC they were at the forefront of the take up of SSD drives at a time when their main use was for military and scientific applications. Over the years they’ve had partnerships with TI, IBM and others, using their bleeding edge tech to power Eve; and at times managing to overwhelm it, with the help of the players.
I know to post this will sound like sacrilege but instead of rewriting the old code they could write the 2nd chapter of EVE in a new modern code and make it EVE 2.0.
Maybe I’m oversimplifying but all the in game ships and items are already written so while it won’t be a copy and paste job it should be a faster process because there is no need to design the chess pieces because they have a complete design already made.
It would not fix the biggest issue still: There is no easy way to multithread the main space simulation and make it work reliably. Until that gets fixed ,Eve 2.0 would still have the same issues as the current one does.
I run 20 miners in highsec and a few characters in null on 3 computers. The multiple clients utilize all my cores and runs reliably.
While they could technically improve some hardware and bandwidth issues for large scale combat operations, I think they do a pretty good job now.
I get disconnected more often then I should, seems it “stops” getting input so I have to open up the hypernet and the build screen and the market or contracts then it takes a few seconds then reconnects, why does it take me actively inputting to keep it going, I don’t get it.
But yes, that’s exactly what you propose : you find an issue, you decide to throw everything to avoid the issue, and to rewrite … and in the end you will just meet that same exact issue again because all you did was hide your head in the sand.
I wonder at what point CCP will look at EVE and decide it’s better to put it down and get caught up with modern times.
The thing that everyone is also forgetting is that this latest massive fight didn’t come about because of CCP’s game design or anything. It came about because a bunch of players were bored and decided to throw ■■■■ into the fire and see what happens. It also only worked because BOTH sides decided to commit to a war.
CCP can increase their server capabilities, legacy code, whatever you have, but if you don’t have the in-game drivers that lead to larger scale conflicts like this, we’re gonna be waiting years until players get bored again to just yolo stuff around.