Say "stackless tasklet" five times fast.
i wonder when the migration was started and whether it made sense to not migrate it to another framework instead.
But today? Ain't nobody got time for that.
EVE (and other MMOs) had their moment and the ideas of MMOs with a persistent lived in world were very cool but the moment for them seems to have sadly passed beyond the horizon for whatever reason. If you had asked me 20 years ago I would have told you MMOs were the future of gaming.
Looking at what GTA6 is shaping up to be, and wondering how R* is evolving the online side, I think we might simply have seen MMO's turn into something people our age don't recognize.
MMO's let you go online and be social and build communities. WoW did that really well back then. Eventually as things went on, MMO's got more and more tools that let you avoid building those communities. Like the dungeon finder in WoW. I think a lot of MMO's and games in general turned to letting peope get their dopamine fix from increasing numbers through RNG rather than being social.
I know people who stuck around with WoW because of the social communities they build. One of the guilds I was in 20 years ago still meets up in the real world, I know because one of my old friends still plays. I also know people who stuck around because of what is essentially the idle gambling. I became a jock of sorts back around the burning crusade release because I had to put a lot of focus into water polo training. Which meant I didn't do a whole lot "nerdy" stuff for a decade. Once I started doing "nerdy" things again it was easy to find people near me because everyone is a "nerd" these days.
Around that sort of time you would encounter known groups/people, e.g. characters that had a reputation as extremely good in PvP etc.
Then along came the cross-realm stuff, and fairly quickly community ceased to matter, you just queue up, play, and move on.
Great for ease of play etc, terrible for community.
(Well, that was how I saw it anyway).
Back when I was playing with my friends and the game was a little harder (BC & WotLK), there was a sense of shared accomplishment when overcoming difficult regions and raids.
My credentials: I played every expansion (but not every tier) since vanilla with the same group of people. I only stepped away in The War Within after family obligations and time zones got in the way.
When news about the server code leak broke containment and the open servers started I was initially intrigued, but I discovered that playing with randos just wasn't as much fun.
Only played casually and like a noob for a few years because I was like 12? and playing on the PC of my big brother.
I mean, they also had their own gameplay appeal, but I think the current player pool of WoW+FFXIV+ESO+GW is probably a more accurate reflection of how widespread the appeal of them as pure games is, while the crazy numbers of 00s WoW were about the social network aspect.
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.
But sometimes I personally forget that it’s allowed and enjoyable to just read 20 mins here and there…
(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.
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.
> Buy low, sell high. Specialize in industry, trading, transportation
I did all of this, quite profitably and for quite a long time, in EVE?
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.
Now.. Py3 is nice, and I guess that move signals that at last they pay attention to engine instead of bolting on useless p2w crap, but to really revive eve this is not it.
In my opinion (joined EVE in 2006, still own a JF and few carriers there), what is needed is a massive sink for all the accumulated assets. Idk, expand the universe like tenfold. Then it would be fun again.
edit: also ditch all the nullsec sov mechanics and revert to something resembling the pre-TCU state. I can't for the life of me think of a reason why they chose to die on the hill of not adding more systems.
Maybe one day :)
Can you please tell of what you disagree with?
There's a legitimate argument for some P2W mechanics, though. To keep a game going you need new players, and if you're looking at losing every PvP encounter for years as you skill up your character you probably won't stay.
That, coupled with your second paragraph (the new player experience being so rough) and I've never really been too upset about the stuff CCP sells.
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.
Participating in the big corporation wars was boring in comparison to small scale stuff. In the big wars, I was just a pawn for the commanders that actually made decisions and could play a giant strategy game.
It was substantially less fun when I was on the other side of that and got scanned down in my officer fit Archon and popped. Finally I said to myself “why am I doing this to myself?” and quit. My wife approved.
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.
Basically the community is people checking it out, bots, and the terminally addicted multi boxing 30 accounts.
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.
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.
I don't know how many people felt like I did, versus how many ragequit the game.
After some years I became a wormholer though, and finally a permanent -10 lowsec pirate in the end. It's been a decade since I quit now.
Learned a lot from that game.
My greatest lesson from EVE is that most people are really really dumb.
The same people also vote and drive, it's a miracle we still exist.
> Very carefully, and in multiple stages.
That answer is so 3 months ago
It may be helpful to point out the definition of "Claude" as "lame; crippled" since the Roman Emperor and his gens.
https://en.wiktionary.org/wiki/claudus#Latin
limping, halting, lame, crippled
c. 347 CE – 420 CE, Hieronymus, Vulgate Matthew 11:5:
Caeci vident, claudi ambulant […] The blind see, the lame walk […]
https://bible.usccb.org/bible/matthew/11?5Some examples of women named Claude: https://en.wikipedia.org/wiki/Claude_Pompidou
https://en.wikipedia.org/wiki/Claude_Bessy_(dancer)
I haven't played eve online in near 20 years, but this makes me think I might have another go.
It was an amazing game back then, my only issue being my inability to not spend all free time in it.
If the outcome or outputs / test cases are known, AI is great at language translations.
The server isn't fast enough and it ends up slowing the game down to 10% speed as a workaround.
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.
I've no insight into what specifically their bottleneck is. The database doesn't sound like it'd be a factor, though, since the slowdowns are isolated to single nodes handling the area with players and don't effect others.
It doesn't sound like it because you haven't been paying attention. By and large, the TiDi slowdowns are because of network IO (i.e. too many players connected to a single node), but the database causes stutters when large numbers of ships are exploded at once.
DB needs to update inventory, skills, implants, and killboards which requires multiple round trips. Moreover, while these round trips to the DB happen, the core processing threads often end up yielding waiting for the SQL Server instance to respond.
But again, I only mentioned it as part of the problem. The core of the issue is definitely Network IO. Someone activates a module or weapon, you need to send that info to 1-10k players as a packet update. That's the source of delays, not processing speed. Rust won't magically speed that up, the network layer is already written in C.
I've been working in JS, Python, C#, TS, and F# for about ten years. I'd guess F# and TS are tied for me for prototyping speed. I have to wonder how much the "common knowledge" that strongly typed languages are slower for prototyping is driven by unfamiliarity with the tool.
There have been lots of posts here about Rust being not the nirvana it's claimed to be for such projects. This one comes to mind https://loglog.games/blog/leaving-rust-gamedev/
I say this as a big fan of Rust. I use it for CLIs, microservice development and more. The borrow checker, traits, enums, etc. are amazing for maintainability, reliability and speed. Fast iteration where you'll want to completely redo a system at the drop of a hat? Rust is a royal pain in the behind.
Largely, proponents of Rust who push it for game development have their minds stuck in the solutions space and forget about the problem space. The fact that Rust was even proposed to fix Eve here is a huge example of solutions focused thinking (bad bad bad) because is misunderstands that Eve was never bottlenecked on processing speed of its physics or business logic.
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.
modern Python went in a somewhat different direction with asyncio, but with tasklet and continuation it could be a much powerful combo.
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.
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.
It is kind of 'insane' but also, meh..
There's more dragons out there than we've been led to believe :}
“People shouldn’t use this tool, unless they want stuff quickly and easily”.
Excel isn’t outdated, and has no competitor (there are many things that compete on sub parts of what Excel does, but nothing that competes on all or even most of its capabilities). Business-side people are creating fairly massive application-type tools in Excel every day, by the thousands. If I had a nickel for every new, growing, modern business I’ve worked with that uses Google for an office suite but has a few departments with Windows/MS Office just so people can process data in Excel, I’d have a lot of nickels.
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.
You can't run old Python code on modern Python interpreters, and you can't write Python code today knowing whether it'll work in the future. You never know when the Python org is going to change their minds and break something essential to what you're doing today.
Python appears to prioritise supporting code that hasn't been written yet above code that already exists.
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”
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.
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
Did you find readability to be improved by going async?
You can write this in async with a pool of connections to each provider, or you can have a pool of worker processes that each have one connection to each provider.
Which will be easier to debug, and which design is easier for the next developer to read, understand and modify? Performance wise the wast majority for both designs will be on waiting at the initial connections to the apis and time spent fetching objects.
It would be interesting to hear what kind of domain are you working in where you have 3000 simulations connections to different service providers.
I mean that's true for Python in general, but sadly these days you can't really avoid it.
You can't mix non async code with async. And you can easily do in some way and block your application without you noticing.
And in the end, async is not even really async, just cooperative execution.
I'm a big fan of Python since very low version. And I don't have too much difficulty using async/asyncio now I'm used to it, but in all honesty I don't think that it is really great in the grand scheme of things.
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.
I find it interesting when someone mentions that X is bad for something it was not designed for, as much as I am interested when someone mentions that X is good even if it was not designed for something.
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
Is there anything similarly great around now?
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.
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?
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.
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.)
This task would be even more challenging under such a dramatic rewrite.
Even not being in the tech space, I have long picked up on this quasi-religous aura around it.
The world is a pretty big place, so of course there are people who sometimes put their dog in the driver’s seat. Sometimes by accident, sometimes out of necessity, and sometimes because they think it’s mighty fun. Since Rust is strict about who or what gets to drive the car, these people build their cars using other languages.
Some Rust-heads, however, are pretty adamant that cars are to be driven by qualified humans only, and therefore keep nagging everyone about how all cars should be built with Rust.
As a Rust programmer I'm fine with cars driven by dogs, I just want that to be clearly acknowledged as unsafe, and if that car is be driven in public roads, I would also like a safety comment stating all the precautions taken to make that safe for others, preferably reviewed by the police as well.
C#, Go, Swift are (mostly) memory safe, but I don't think they provide this level of modularity or broader reliability. Expressive interfaces/contracts are useful for all sorts of things, you can use them for memory management but for me that's almost a by-product. I certainly don't consider it a restriction on the kinds of program you can write
Rust has lots of inertia behind it, a fantastic core library, fantastic concurrency and scalability and excellent LLM support. If someone were greenfield building a service like this today, instead of being bound by poor decisions in the past, had infinite knowledge of every toolset and language and option, there is a very good chance they would settle on Rust. They might not, but it's definitely a finalist. So not remotely surprising someone would mention it.
That this caused someone to flip out is hilarious though.
Almost three decades ago—development started in 1999 and the game was released in 2003.
Python is a fantastic "glue" programming language. A duct-tape language. It's awesome for little scripts, or for gluing together some AI scripts, where you're basically atomically gluing a series of calls to giant native C/C++ libraries like pytorch that are then doing a series of calls to giant native C/C++ libraries like CUDA. Where the overhead of python is negligible compared to some heavy lifting being done by a better language/system.
The simple fact that we're talking about a service that was stuck on Python 2 two decades after it was replaced, half a decade after it was fully deprecated, reveals this to be 100% just debt. The fact that they talk about millions of lines of Python code, and that Python 3 represents a big speedup for their operations, again betrays it to be nothing but debt. They have Python code in the critical flow, not just as a light glue over intensive code, and they have almost certainly spent untold dollars on extra hardware, delivering a worse experience for their users, because they had a "python enthusiast" in a critical position decades ago.
And yeah, using a faster but safe language could help immensely.