EVE Online moves to Python 3

5 days ago (eveonline.com)

Some basic sample code for stackless python, for those like me who had never heard of it: https://github.com/stackless-dev/stacklessexamples/blob/main...

Say "stackless tasklet" five times fast.

Can an experienced player gives us a summary of what's the "vibe" of the EVE online community these days? I was lightly involved ~15 years ago.

  • I started more than 15 years ago and recently got back into it. I would say that game has stagnated a lot more, character numbers may seem like it isn't that low but in reality most people who play it has around 5 accounts which they multibox with. So number of actual people who play it went really down. It is looking bleak for the future, and i can confidently say that it is all CCP's fault (called Fenris Creations now). They started aiming for short term gains and they probably realized themselves long ago it won't last so they started investing in other IP's but they were all mega failures so far.

    • Keep an eye out for EVE vanguard, an Eve-related extraction FPS. It might scratch the itch for many who perhaps enjoyed the universe but don't want to (or can't) spend the enormous time to ramp up again.

      18 replies →

  • The thing I miss the most about Eve Online is the immersive free market economy. I long for a true, in-depth economic MMO more than the space veneer around the order book. Buy low, sell high. Specialize in industry, trading, transportation. Add a little bit of light PvP to inject chaos and it's more fun than playing the stock market.

    (I am actually designing such a game, but I'm open to suggestions)

    My main activity in the game was stealing loot from under carebears' noses to sell for profit. A true rat scouring the battlefields for scraps. That must say a lot about me.

    • Dune: Awakening tried this. Was kind of fun while it lasted (and before the bug stole all of my resources I was trying to sell. The support was zero help on getting that resolved. That killed it for me immediately).

    • Usually I don't care about the economy in MMOs, but in New World it was fun and different when it launched. I played almost exclusively for the economy. Buy and sell orders and separate auction houses between cities. There was many unexpected ways to make money with trading and crafting. The only major source of gold was a single main story quest early in the game, so if you weren't careful you would go broke and struggle. The economy wasn't that advanced, but it was fun watching the players ping pong back and forth with supply and demand.

      1 reply →

    • I haven't played it, but a commonly suggested alternative for EVE Online that revolves around spreadsheets and a free market is Prosperous Universe.

    • What has changed about the EVE economy that you don't like?

      > Buy low, sell high. Specialize in industry, trading, transportation

      I did all of this, quite profitably and for quite a long time, in EVE?

      2 replies →

  • I too would love to know the answer to this question. I loved Eve as a teenager / young adult. It was a brilliant burst of nerdery, and the first time I ever met someone who wrote linux kernel modules for a living.

    I sometimes think about logging in (I think I ragequit likely in a pod inside a wormhole in the middle of nullsec) and then I realise that way madness (and much sunk time) lies.

    • If you ever do wish to go back, request Signal Cartel to rescue you. Rescuing people from wormholes is exactly what they do. I was with them for years.

      7 replies →

    • Yeah if I ever have the need to occupy an inordinate number of hours of my life again I’ll log back in, the temptation to dust of the account(s) arises sometimes. Think I managed to log off in lowsec but who knows!

      7 replies →

  • I played in the early days and quit to have a life, came back for a bit to check it out.

    Basically the community is people checking it out, bots, and the terminally addicted multi boxing 30 accounts.

  • I started in 2004 and played on and off until 2015 with a quick stint in 2020.

    It was amazing in the early days, it felt like nothing else. I had a background in Ultima Online and Dark Age of Camelot. I liked PVP and I wanted full loot drop on kill.

    EVE online has many times been referred to as the spiritual successor of UO, what made it really special however was the one server architecture (until China shard).

    My name was Dieter Rams—I ganked, scammed and griefed. I probably made a lot of people quit the game; this was the appeal. I wanted to play a game where I could be the villain (successfully).

    This was the original trailer for the game, in my opinion the true vision: https://youtu.be/GwpgXFA3UQk

    Over the years it lost its soul as the internet grew, social media became more prevalent and information disseminated more rapidly (watch madseasonshow on youtube for a great coverage on this topic) around the optimal ways to play etc.

    All MMOs suffered for this, you could look everything up before doing anything and so the sense of discovery and adventure was lost. The frontier was no longer undiscovered, and once pay to win came into play everything came off the rails.

    The developer made this video in 2014:

    This is EVE - Uncensored https://youtu.be/AdfFnTt2UT0

    This is when I quit for real or as the EVE players say "won EVE".

    A better comedic version of the video is this one by Honorable Third Party (typical EVE humor): This is REALLY EvE https://youtu.be/LmS9vcVNr5A

    I came back in 2020 for a month but it's like that saying you can't step into the same river twice. I was older but the game had also changed so much. Other players were pressuring me to multibox (play multiple accounts), it felt terrible.

    I knew a guy who played 30 characters at the same time, his setup was a technical marvel but it made me sad what gaming had become. There was a similar issue with buffbots in Dark Age of Camelot.

    The fact that EVE needs a new player tutorial says everything you need to know about the state of the game (and gaming in general). Everyone needs a lot of handholding these days, in 2004 you were just thrown into the universe with nothing but the chat and other players to help you out.

    Figuring things out was part of the game.

    There were no YouTube guides, no tutorial and no real money to make things easier. The playing field was equal no matter who you were.

    The magic was lost because of money, it's always the money in the end.

    • I miss the insane adrenaline rush when getting into small fights (1v1, 1v2, etc.). You go so long doing doing whatever it is you're doing- PvE, hacking data sites, transporting stuff- it's all a bit mundane.

      But nothing raised my heart rate like getting into a fight. 30 seconds of terror. I would have to take a break after these, win or lose, until my HR returned to normal and my hands stopped shaking.

      I've never experienced that in any other game.

      2 replies →

  • I’ve played off and on for years - even multiple accounts, lots of hours, and a very helpful org, there was too much to do, and I quickly felt overwhelmed. I just can’t imagine them getting many new players, but it’s clear the game is 20+ years of upgrades and content.

> So how do you migrate 2.4 million lines of code?

> Very carefully, and in multiple stages.

That answer is so 3 months ago

1/2 troll side-galley comment: use AI and translate to Rust.

If the outcome or outputs / test cases are known, AI is great at language translations.

  • I’ve been doing this on a large system I’m building. Anything that takes longer than an hour to run, processes a high rate of events (maybe >5/s averaged over a day) or has downstream gpu waiting for it.

    Python + tests cross compiled to rust has huge benefits for memory footprint and secondly cpu.

    It’s allowing me to achieve wonders on a small amount of hardware.

Stackless python had such potential, it could be extremely useful in Agent era for long running tasks with durable state.

modern Python went in a somewhat different direction with asyncio, but with tasklet and continuation it could be a much powerful combo.

  • > modern Python went in a somewhat different direction with asyncio,

    I'll say more, it went the wrong direction. I see async thing in Python as a step backwards. For some reason Guido heard of Twisted and deferreds and somehow got influenced by it, and here we are with "async def" and "await" sprinkled all over the place.

    I mean, we had stackless, eventlet, gevent, we could have started something from that. We even had the example of Erlang and with a much better concurrency pattern. Go went with goroutines and channels and in retrospect made the right choice, not as good as Erlang/Elixir imo but still better than sprinkling async everywhere.

> 50 uses of <>, a way of writing "not equal" so old that many working Python developers have never seen it.

This hit me. Not sure when this was used and was deprecated.

I shouldn't be surprised, given I saw plenty of nicely functioning legacy codebases, but still, somehow this isn't the news I was expecting to hear in 2026.

It really speaks to how great the technical team can be. As crazy as it sounds Goldman Sacks and JP Morgan both maintained 2.7 Python as a core language until just a few years ago (yes, it's still used in production).

  • https://calpaterson.com/bank-python.html

    • This is fascinating, thanks for the link. I love to learn about big systems that are developed in the same room where the problem they're solving lives, so to speak.

      Too few of these are revealed to the rest of us, as the piece notes. It's a shame, there's lots to learn there. Instead most will be lost to the mists of time, and some dumpster diving digital archaeologist will have to get lucky for us to hear about them.

  • I have run into other large (well known) financial companies on 2.x as well. They were using our old unsupported SDK and some long planned and communicated service API change broke them. They could not update to any recent SDK. I did gently point out their python version was 10+ years out of date.

  • if anything, it only shows just how bad breaking backward compatibility is - py3 was released in '06, 20 years ago

  • Or insane

    • Python is used as a kind of 'visual basic' language in a lot of banks especially in front-of-house trading software, e.g murex or frontarena. Migrations between major versions of these can take years, costs 100s of millions and involve thousands of devs. Mistakes can be _expensive_.

      It is kind of 'insane' but also, meh..

      There's more dragons out there than we've been led to believe :}

      3 replies →

> The classic example is division: in Python 2, 1 / 2 is 0; while in Python 3 it is 0.5.

Can someone kindly explain this?

edit: I misread it as “In Python 2 2.1/2 is 0, while in Python 3 it is 0.5”

  • From long ago memory: in Python 2, 1 / 2 did integer division. You had to do something like 1 / 2.0 if you wanted floating point division.

    • Spot on. Py2 was integer division, Py3 was true division. In Py2 you could get the true division with an `from __future__ import division` (Can't recall which Py2 version this became an import). Fun fact too: In Py3 you can do a // to get back to the floor division effect (e.g. 1 // 2 --> 0)

      1 reply →

What happened with the stackless python? Did they get rid of all the stackless stuff?

When python started incorporating asyncio my initial reaction was fairly negative. I was behaving like a grumpy graybeard programmer ("kids these days should learn how to use concurrency instead of working on a new runtime altogether!" [0]).

But after using it for a production project I have to say I'm deeply satisfied and surprised by the maturity, quality of APIs and performance in general.

I was proven wrong and I'm happy about that :)

[0] Old man yell at clouds type of meme

  • asyncio has always looked interesting, but whenever I have run into a problem which could use asyncio I have always gone with multiprocesses instead. I am not sure if async would makes my code easier for others to read and debug, and none of my problems seems to be of the kind where process overhead would make a noticeable difference in performance.

    Did you find readability to be improved by going async?

  • For me it is quite bad, but just we are now used to it. In the same way that when you ask Windows users about all the bugs and problems they have with their system, they often say that they don't have any. And ten seconds later, will click "ok" on a random crash popup they didn't even read the content of.

  • Yeah I dunno, the first time I tried to use asyncio I ran into a bug that nobody knew how to solve. Can't remember what it was but generally if I use something for the first time and immediately hit a bug... Yeah I'm not using that thing if I can help it.

    I mean that's true for Python in general, but sadly these days you can't really avoid it.

the eve client is pretty incredibly well made these days. but when the server side solution was to exponentially reduce time , i think they fundamentally lost somewhere else. maybe something good will come out of (some?) that server c++ code being released as well

> Some of you may remember upgrading to Stackless Python 2.5 in 2007, then to Stackless Python 2.7 in 2010. That was the last time EVE changed its Python version.

Yikes. 2010 ... python is built forever.

But, ignoring this - I think when the "scripting" languages can bridge the speed penalty towards C, even if not reaching it for many reasons, then they become real contenders here.

They also open sourced their game engine? https://www.gamesindustry.biz/eve-onlines-carbon-engine-is-n...

I wish there was a test instance people were allowed to play around on. I never did it but for a while the game client wasn't really secure & you could just talk to the python repl basically, and script the game. I think that would be an incredible experience all unto its own, to teach coding, to be an interesting experience. Feels like with Carbon being open source, there's need for just a little more to get back around to that halycon moment.

[flagged]

  • Does the game have performance issues? I don't see the need to rewrite unless there is a problem with it

    • > Does the game have performance issues?

      Yes, it has had huge concurrency issues for the entirety of its life. Their solution to large fights has historically been "let us know in advance pls", plus "move systems to beefier hw nodes" and "tidi" which stands for time dilation, where the "tick rate" of the whole server goes down and a fight takes 10-20-100x longer than it should.

      It's an amazing concept of a game, but software wise it has been a mess since forever.

      5 replies →

    • They have to slow down the game tick-rate to accommodate, something they call "Time Dilation": https://wiki.eveuniversity.org/Time_dilation

      How much of that is down to processing time is unclear, but I think it's fair to say there is scope for improved performance.

      Secondary to that, if you have general performance improvements then you can afford to run a smaller server cluster or smaller servers, reducing costs.

    • Oh my yes. EVE Online can experience issues when a conflict in a solar system exceeds a certain number of players. Each system in EVE is a monolithic process, so, if a conflict gets out of hand, things get slow.

      This is referred to as Time Dilation (TiDi) in EVE -- https://wiki.eveuniversity.org/Time_dilation -- it's an interesting engineering rathole, Fenris f/k/a CCP has been pretty open about their stack, and the challenges that have built up.

      Anything that speeds up EVE lets more players cram in without experiencing TiDi, and this might let the devs escape Stackless Python, which is another interesting engineer rathole. (It's ratholes all the way down, and this is the one that got EVE on my radar, and has kept it there.)

    • My understanding is that the performance issues it has are more big-O issues of the problem space than issues that would meaningfully be resolved by the multiplicative speedup of moving to a more efficient language (the point at which they start to bite would shift a bit, though.)

  • > Every character, every skill point, every asset in every hangar, every ISK in every wallet was written in Python 2 code, and all of it must read back under Python 3 exactly as it was.

    This task would be even more challenging under such a dramatic rewrite.

  • [flagged]

The proposed solution to 2.4M lines of python is.. more python, with the primary motivation being "performance" lol