Back

EVE Online moves to Python 3

274 points4 dayseveonline.com
ryukoposting8 hours ago

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.

yunnpp5 hours ago

less task, let stack

Bluestein4 hours ago

Load-bearing bear loading.-

all24 hours ago

Bode learing, for my EEs that do RF work.

lelanthran4 hours ago

> less task, let stack

More Music, Less Nessman

simonebrunozzi10 hours ago

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.

larnon9 hours 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.

ricardobayes7 hours ago

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.

Loughla7 hours ago

EVE is on the list with Dwarf Fortress for me. I'm interested in it. I absolutely see the appeal of them, and wish I had played them instead of WoW back when I was 20.

But today? Ain't nobody got time for that.

+2
wincy5 hours ago
Agentlien4 hours ago

I had a friend who was really into EVE online and showed me about 20 years ago. It felt too much like waiting and spreadsheets for me.

I got into Dwarf Fortress around 2015 and I was hooked. These days it's something I often play together with my son. I love how dynamic and deep it feels. It was such a privilege to get to buy a copy when it finally came to Steam.

mikrl5 hours ago

Dwarf fortress is the “reading a book” of vidya for sure.

But sometimes I personally forget that it’s allowed and enjoyable to just read 20 mins here and there…

larnon6 hours ago

My comment included EVE Vanguard. I tried it. As someone who played FPS all his life starting from Quake 1 and Wolfenstein 3D, and all the AA and AAA FPS that came afterwards, EVE Vanguard feels like a money laundering scheme at this point. Nowadays a single person with access to he SOTA AI models and engines like Unreal, can make a much better and polished game in less time. It's gonna be an absolute DoA. The only reasons CCP is still able to operate is the addicts (mostly old men with no other hobby) that has spent thousands upon thousands on their accounts can't let go.

TiredOfLife3 hours ago

Which console is this exclusive this time

sph8 hours ago

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.

knicholes7 hours ago

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).

jvuygbbkuurx8 hours ago

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.

sph6 hours ago

The crafting systems were so trivial that didn't make the economy game of New World particularly engaging. One core mechanic I seek is the division of labor; if everyone can and is expected to become a master in every skill, there is no niche to corner, and trivialises the experience.

There are very few games (actually, only EVE comes to mind with its skill system) that require you to specialize if you want to compete over everybody else.

wmchen4 hours ago

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

VirusNewbie2 hours ago

>I long for a true, in-depth economic MMO

Schwab?

squigz7 hours ago

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?

sph6 hours ago

I don't like how EVE is run, and the pay-to-win mechanics added over the years to entice the whales.

I'm looking at the problem with the eyes of a prospective game dev, and saying that there should be more games focused on free market economy, which is often just a half-arsed mechanic on the side, not the core game.

simonebrunozzi4 hours ago

Check out Offworld Trading Company.

azalemeth10 hours ago

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.

chorizo9 hours ago

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.

ceejayoz8 hours ago

Wait, EVE has a volunteer search-and-rescue group?

+1
chorizo8 hours ago
mafuy8 hours ago

Not a player myself, but I recall there were some articles about a player organization that helped people who were stranded, or something along these lines. It sounded quite wholesome and fun.

efromvt10 hours ago

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!

HappySweeney9 hours ago

This is why I had to quit. I enjoyed it way too much and would spend nearly all my free time playing it, much to the detriment of the rest of my (non-professional) life.

+2
causality09 hours ago
andrepd8 hours ago

> I enjoyed it way too much

Well if you enjoyed it it's was not a waste of time! Much human endeavour (and _all_ hobbies!) are ultimately pointless.

If it negatively affects other aspects of your life it's a different story though.

ohyes9 hours ago

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.

nntwozz4 hours ago

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.

cbm-vic-202 hours ago

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.

reactordev8 hours ago

It's one guy and 40 alts now

Vaslo9 hours ago

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.

cineticdaffodil7 hours ago

[dead]

Cakez0r9 hours ago

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

> Very carefully, and in multiple stages.

That answer is so 3 months ago

wavemode2 hours ago

Knowing game codebases, I'm guessing their test coverage was not fantastic. Agents weren't gonna get it done.

tripleee1 hour ago

yeah I'm sure they never considered AI

fy209 hours ago

"Claude, migrate the code. Do it fast. Make no mistakes."

ch0wn9 hours ago

* and commit no felonies

perching_aix6 hours ago

highly optional

asimovDev9 hours ago

No, you gotta tell Claude that you believe in them

BurningFrog9 hours ago

Does Claude claim a gender/pronouns now?

+1
ButlerianJihad8 hours ago
+2
stavros8 hours ago
moffkalast8 hours ago

Or maybe there's multiple running in parallel.

Cantinflas8 hours ago

/goal code migrated to python 3

bfung3 hours 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.

hoppp2 hours ago

Not sure if it's worth it. I don't see them complaining about speed and they use specific python dependencies then they would need to translate that to rust also.

tripleee1 hour ago

TiDi is a huge problem in big skirmishes, to the point where people actively avoid large group fights: https://wiki.eveuniversity.org/Time_dilation

The server isn't fast enough and it ends up slowing the game down to 10% speed as a workaround.

ShinTakuya46 minutes ago

Rewriting it in Rust isn't automatically faster and more importantly Eve's gameplay is constantly being iterated on and Rust has proven to be bad for that.

Moreover, most of Eve's bottleneck isn't single server speed, it's mostly network IO and database queries and latency. The big TiDi skirnishes in particular are slow due to this.

throwitaway2221 hour ago

Second this but with Go

tacomagick2 hours ago

Ladybird situation is wild...

tescreal2 hours ago

What happened?

est10 hours ago

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.

orsenthil3 hours ago

> 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.

sitzkrieg2 hours ago

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

chews4 days ago

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).

Scramblejams3 hours ago

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.

diroussel9 hours ago

That was a very interesting read, thanks.

lokar9 hours ago

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.

NooneAtAll36 hours ago

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

7bit4 days ago

Or insane

cyberpunk10 hours ago

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 :}

zulux9 hours ago

It's a great 'glue' language to tie a lot of systems together, especially when you think of MS Excel as a system.

+1
elmo1259 hours ago
mohamedkoubaa9 hours ago

Maybe the bank bailouts were a mistake

santiagobasulto10 hours ago

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

belorn3 hours ago

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?

greatgib8 hours ago

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.

hluska6 hours ago

You made a wild claim about ayncio and backed it up with a wild anecdote about windows and its users?

santiagobasulto6 hours ago

Can you elaborate? Why is Python asyncio bad?

vladms5 hours ago

Not the OP but my impression with asyncio was that it's great for the uses case it was built for (hence the "no problems") but if you need to do something a bit different it can become an annoyance (hence the "unexpected bugs").

I see it for a specialized solution for a specific class of problems, which can lead to surprises if your problem evolves. There are always trade-offs to be made (performance, flexibility, hardware cost, etc.), asyncio just has different characteristics than the alternatives. Maybe since a upper bound of concurrent users it is always a great (the best?) solution, someone with more experience along all the design and requirements space could comment.

+1
kjs33 hours ago
IshKebab5 hours ago

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.

q8zd33 hours ago

It's kinda funny to read a headline like this in 2026

markkitti5 hours ago

If I were Fenris Creations, I would make a copy of Allegiance

https://en.wikipedia.org/wiki/Allegiance_%28video_game%29

ufo6 hours ago

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

p1anecrazy10 hours ago

> 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”

smoe10 hours ago

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.

kingforaday10 hours ago

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)

3eb7988a16638 hours ago

PEP 238 lays out the story if anyone is curious. Well into the Python 3 transition, I still had a habit of multiplying the denominator by 1.0 to ensure it was a float.

https://peps.python.org/pep-0238/

nexusagent3 hours ago

I thought I was a Python 2.7 holdout for a long time.

shevy-java5 hours ago

> 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.

jauntywundrkind3 hours ago

They also open sourced their game engine? https://news.ycombinator.com/item?id=48780387 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.

BurningFrog9 hours ago

Eve Online used to be great.

Is there anything similarly great around now?

tripleee1 hour ago

Eve still is great - haven't had time lately but I got really into it last year and had a blast

progval5 hours ago

If you enjoyed the industry part, you may find https://prosperousuniverse.com/ even better than Eve.

hyperionultra8 hours ago

At the scale of EVE - no.

hugo17899 hours ago

Seems to me like a migration that should have been done 15 years ago.

jamesnorden4 days ago

Had to check the date.

inigyou10 hours ago

Jan 1 1984

zzzeek10 hours ago

what did they do about stackless? are they using greenlet or did they switch to asyncio?

googled it so this becomes a PSA: https://simonwillison.net/2026/Aug/25/eve-online-move-to-pyt...

so it's neither, it's their own: https://github.com/carbonengine/scheduler

so that's interesting

stefantalpalaru4 days ago

[dead]

brianwawok4 days ago

[flagged]

dygd10 hours ago

Some parts are in C++ and they even made it open source recently:

https://github.com/carbonengine

https://fenris.com/carbon

gonzalohm10 hours ago

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

NitpickLawyer10 hours ago

> 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.

Rohansi8 hours ago

Switching away from Python would not fix this. EVE Online runs its world without instancing or shards, meaning you cannot scale out the simulation when a single zone is overcrowded. Pretty much every other online game avoids this problem by making it impossible to have thousands of players in the same area because networking every players' actions to thousands of players is always problematic

+1
dyauspitr6 hours ago
buddhistdude8 hours ago

I have to remember the "time dilation" excuse for the next production issue lol

edit: maybe the path to unlimited processing speed is to send a data center through space near speed of light. That's how it works right?

rvba7 hours ago

Universe must run on same software... since stuff since to slow down near black holes too

eterm10 hours ago

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.

dragonwriter7 hours ago

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.)

swdunlop10 hours ago

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.)

dcrazy4 days ago

> 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.

winrid9 hours ago

Python 3 will likely be faster by itself.

jubilanti10 hours ago

[flagged]

alexaholic10 hours ago

The Jehovah's Witnesses of programming

WarmWash9 hours ago

Can someone explain to my non-programmer self what the deal is with Rust?

Even not being in the tech space, I have long picked up on this quasi-religous aura around it.

+1
alexaholic8 hours ago
gosub1008 hours ago

before rust, if you wanted to use a "fast" programming language you had to use C or C++, which are fraught with sharp edges. Rust gives you all the performance benefits of a compiled language, with barely any sharp edges.

+1
llm_nerd8 hours ago
goodmythical9 hours ago

i-use-arch-btw

+1
nilamo9 hours ago
Ygg210 hours ago

Python is very strange programming language for a MMORPG. I'd imagine they would write it in C++ or something. They don't quite explain what they use it for.

And yeah, using a faster but safe language could help immensely.

flohofwoe9 hours ago

Python is just a part of the tech stack, there's also a lot of C/C++ code. How much Python vs C/C++ is hard to say from the outside though, but the parts that have been open-sourced are pretty much all C/C++:

https://github.com/carbonengine

gubyfuf10 hours ago

[flagged]

nlarew9 hours ago

Will you poor contributors ever shut up?

metaltyphoon9 hours ago

Very aggressive. "Will you $FAVORITE_LANG people ever shut up?"

dangoodmanUT8 hours ago

This feels suspiciously AI-authored

VimEscapeArtist6 hours ago

Most boring game ever made btw

oybng10 hours ago

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