Game engine migration

Blade_Darth
Are you serious or are you trolling?
Could you tell some more about this or have an article which discuss this? sounds like something which might improve things.

I think you experienced TIDI at the same time as your processor / net connection being unable to handle the incoming information / effects from the hundreds of other entities on grid. The other pilots were likely complaining about TIDI and not the processing issues which are leading to your terrible frame rate. TIDI slows the game so that the servers can handle all the calculations, it does not take into account your computers ability to receive and act upon the butt-load of info the server is sending you back.

the client has nothing to do with it. the problem with TiDi is explained in a single line:

the more people can fit into a system without triggering TiDi, the more people will end up in a system, triggering TiDi.

there’s simply no way of dealing with this, except plugging low cost gfx cards into every node and switching physics to them, once there are enough people in the system to justify the switch. i don’t know enough about how they do things, though, and this stuff should be designed into the code from the start. back then, though, gpgpu wasn’t much of a thing iirc.

they’ve once sad that they use virtual machines on each node, to have multiple python processes deal with things (i have zero idea why that, instead of using shared memory and one process for each core). they’ve said they’re using greenlets for pseudo multithreading (again, i have no idea why) and they’ve been replacing a lot of pure python with c(++ ? ugh) using the python api. again, no idea why they would do it this way.

from an outsider’s perspective, it seems that their choices are absolutely questionable, but from an insider’s perspective it’s “HOLY ■■■■ THIS IS A ■■■■■■■ MESS HOW DO WE DEAL WITH THIS WITHOUT PUTTING IN SIX MONTHS FOR A SINGLE PART AND POTENTIALLY BREAKING EVERYTHING”. so, while i sound like a smartass here, be sure that i am fully aware that it’s EXACTLY a mess, because that’s pretty much always the case.

thanks for reminding me, that i still need to remove reference counting from the python source… ugh… i’ll never get to it…

Keno Skir

:medal_military: ‘dedicated troll master’

he’s not wrong. you’re both not trolling, but you’re being childish now and only want to feel better. if you want people not to troll you, you should stop acting like this, because you’re now just asking for it. your initial post is a mess and barely makes sense, but i’ve tried explaining it to you in a way that should be relatively graspable.

1 Like

If you’re in a large group of pilots then yes, everyone will experience some form of lag. Most will experience rubber banding (ship is here, now it’s over there), stutter, and the target not locking entirely. Lower end systems will seem to stall out, then mysteriously catch up, and have bad frame rates along with the above problems.

It is not your machine specifically slowing down the other pilots, but rather, all the pilots in one place sending their target requests to one server at the same time and your machine taking offense to it and going “nope,” to your video card.

1 Like

Yes exactly, I was just asking if people could tell me about the complexity in details, but quickly derailed to me complaining about TiDi :frowning_face:
Although they do a pretty good job at ccp keeping everything up and stabile for most of the part it has aged and is aging with current tech compatibility.

it’s a ■■■■■■■ mess and i’d love to dive into their code, spending a year figuring it out, then replacing important parts with hand optimized assembler… but that’s just me, i’m completely bonkers for this kind of stuff. :blush: i even convinced a friend of mine to manually compile everything he installs on his server with proper flags etc, just so he learns to take proper care of resources. he loves me for this. :blush:

i also once caused three days of downtime, because he said “i have backups and you can’t possibly break it”… :grin: sorry, this stuff gets me talking all day. :slight_smile:

1 Like

EVE is written in Python 2.something (legacy version), CCP did not even port it to 3.something that is currently developed further.

Concur on the mess part. It’s passed hands through a number of different programmers, each with their own styles and philosophies, and somehow “works,” in spite of this.

I’m much more elementary school with my programming skills. I’m happy if it spits out the right report for me faster than the team doing it in Access. :slight_smile:

1 Like
1 Like

Did you even look how much things change new version of python? Almost everyone here don’t get it that even if CCP will start some porting this proces will stoop any further development, new content and probable bug fixes for year or even more. Just to get cluster start again. Then go bug fixing from porting proces etc.

I also really want to see EVE in some modern skin but I understand that this probable will not happen fast and im really proud of CCP devs that they keep EVE running all that time.

I realize why they dont port it. Just pointing out that CCP is far from doing any porting.
They actually struggle with getting stuff done on time and delivering bug free code even now.

you are wrong. Every new content is coded in modern way (like POS removing). But problems start when you need put new code to old one. This generate most of bugs now.

In my opinion this way, they want improve EVE code step by step and don’t stop normal developing proces.

they’d be stupid to port their code to python 3. there is no benefit in that at all. they use their own, custom written, stackless python 2whateverversiontheygaveit mixed with C(++ ugh). python 3 is for religious zealots. you should see the nutjobs on reddit talking about it. it’s like a god for them and they behave like totalitarian carebears when you try talking against it.

You are wrong. There is no modern way with old python. There is only way to use efficiently the old library for EVE.

Modern way would be to use the new version of python.

It sounds like they’re writing modern-like code modules so that if they do a revision to a higher python at a later date, they have annotated the code that is out of date to replace it with its new equivalent.

Hence why we have new structures instead of fixed POS systems. The new structure code is (hopefully) more compliant with modern standards and practices and can be translated more directly when the time comes.

Database part is also crucial. We just updated from SQL 2000 to 2008 here… hooo boy what a difference.

Good luck with your insufficient PC and connection.

What is that everyone uses “modern way” description when the libraries have been here for ages and they did not change, they cant be more efficient than what was already there from beginning.

That is why I think it may not be modern-like, it can only be more compatible with newer libraries.

your thinking is stuck on replacable libraries no one needs to care about, because they’re replacable. you miss the point.