7 ms·
EVE Online's Carbon engine is now open source: Fenris Creations explains why
- taybin 3mo agoFor a long time I was convinced they used Erlang for handling all the distributed, concurrent state. I guess not.
- ManBeardPc 3mo agoLast I checked (and remember right) they used Stackless Python. Very interesting, it can serialize tasklets and send them to another machine to continue executing. Seems no longer maintained though.
- tjpnz 3mo agoIs this unique to Stackless Python?
- ManBeardPc 3mo agoDon‘t know any other runtimes that have that by default. Probably kind of possible in Erlang or so by transferring the state, but stopping and moving a green thread in the middle of execution I’ve not seen elsewhere.
- toast0 3mo agoIn Erlang, you can definitely send a fun and arguments to be run on a different node. And a lot of processes are built around passing in State as an argument and rerurning the NewState in the return... So you might not need a lot of work to adapt to moving processes around. Not really moving processes though; starting a new process with the old state and killing the old one. You would need to be careful with the process dictionary (either don't use it, or copy it over), and you'd need a way to disseminate the new process identity and to forward messages arriving at the old process. Dealing with links and monitors would be doable. The process couldn't have Port references, so no sockets or open files or driver references; those aren't network transparent and I assume you'd be doing process migration as part of node migration so those ports would have to be closed soon anyway. I'm having trouble coming up with a usecase that this would enable. But... at WhatsApp we did do something conceptually similar I guess when a client connected on a new connection before the old connection was detected closed. The new client2server process would message the old process and the state would be transferred ... but you would probably do that in any language. Anyway, sounds fun!
- switchbak 3mo agoJava's RMI sounds similar ... but I haven't really seen much of that used in a robust way. You can only ship serializable state which becomes quite limiting after a while. Shipping the data and reusing the same code across nodes seems to accomplish the same thing with less headaches.
- swiftcoder 3mo agoIt used to be popular to do this in Scala (with Akka). You serialise a LocalTaskRef and send it across the network, resume it on another host
- zipy124 3mo agoThey moved away. Details in this blog post: https://evefrontier.com/en/news/moving-into-the-future-upgrading-to-python-3 https://evefrontier.com/en/news/moving-into-the-future-upgra...
- NooneAtAll3 3mo ago> Application error: a client-side exception has occurred (see the browser console for more information). ...why did they make a website not html-first?
- bcye 3mo agoI figure this is the nextjs exception? The website would probably be HTML-first (I.e. SSR, would work non-interactively without JS), just that the JS doesn’t fail silently.
- Groxx 3mo agoGame websites are second only to restaurants in average UI complexity. Lots of them do extremely complicated stuff to provide game-realistic framerates to visitors so they can see if it meets their expectations (10fps or so).
- JCharante 3mo agoI mean eve frontier is a pretty huge fork from almost scratch, did they backport changes into normal eve?
- zipy124 3mo agoI can't say I have a definitive answer, but there is a blog post from 2025 that seems to suggest they haven't yet: https://nosygamer.blogspot.com/2025/05/fanfest-2025-upgrading-carbon-to-python.html https://nosygamer.blogspot.com/2025/05/fanfest-2025-upgradin...
- strobe 3mo agoat least while ago they used Stackless Python
- zipy124 3mo agoThey moved away. Details in this blog post: https://evefrontier.com/en/news/moving-into-the-future-upgrading-to-python-3 https://evefrontier.com/en/news/moving-into-the-future-upgra...
- hinkley 3mo agoNo but I used to read their dev blog and if there was a n app that needed Erlang it was Eve. They would announce the latest strategy they had for big battles and it was always reinventing part of Erlang.
- jdw64 3mo agoI followed and forked it on GitHub. When Eve Online first came out, the graphics were stunning. I'm planning to dig into the code and take a close look at how the graphics renderer was implemented.
- j-bos 3mo agoGithub link: https://github.com/carbonengine https://github.com/carbonengine
- cassianoleal 3mo agoI've wanted to try out EVE Online for a while now. Never found the time, and it seems to be a bit of a time sink. Since I have no idea if I'm actually going to enjoy it or not, it never took priority. These kinds of news make me want to find the time. Good job!
- Dzugaru 3mo agoDepends on the way you play can be a time sink, or session-like game. It is extremely deep and complex to learn from scratch though. I've made some of the best friends playing it when I had time, friendship formed out of high stakes in this game (you regularly lose hours of grind or real money if you pay for the game - in seconds) and respect you have for each other skill.
- weberer 3mo agoIt is definitely a social game. You're not going to have a good time if you try to play it solo. At least that was the case when I played it 10+ years ago. No clue if they changed it significantly since then.
- Cthulhu_ 3mo agoIt hasn't, at best since then they've added more ship personalization options in the form of ship skins, and some gamification via events, daily login campaigns, and now seasonal-like content where they promote different activities. The current one started yesterday, you can track down and / or follow NPC haulers (or something like that; the event does not appear in sov null. I moved there a month ago after it seemed like that's where all the fun stuff happens)
- colkassad 3mo agoI bought the game when it first came out (2003? Boxed, from Target) and played with an online friend for a while. We mostly mined and we didn't really have a corporation, it was just the two of us. There wasn't much else to do at the time. At one point I fell asleep at my keyboard during a mining op. Gave up soon after. In 2015 a coworker talked me into trying it again. We joined a small corporation, swore fealty to a larger corp (Brave? Band of Brothers?) and moved to low-security space. We got involved in massive 3000+ ship battles, some of which made the news. These are not as fun as you would think. However, the most fun I had was joining 100+ ship bomber fleets that would warp in on unsuspecting mining operations and destroying billions of ISK (in game currency) worth of ships. We'd use Mumble for voice chat, which allows for a hierarchy of chat rooms, so that we could hear the fleet commander giving orders but he couldn't hear us. It was super organized and our fleet commander was really skilled. In the end I couldn't keep up with the time commitments. For the fun stuff, you had to be online at a certain time and there was a lot of prep involved (buying the proper ships which changed all the time, getting your ships to the right station, etc). I still consider it some of the best multiplayer experiences I've ever had though. Nothing beats warping in and seeing those huge mining ships and then hearing the fleet commander start issuing targeting orders. It would raise the hair on my arms.
- lyu07282 3mo agoSeems like a huge chunk is missing there, these mostly seem to me like a bunch of smaller reusable components with nothing really tying it together.
- adrian17 3mo agoMakes sense, they probably don’t want to leak _the_ secret sauce driving the game itself. I saw some eve-specific logic in Destiny repo, like warp enter condition and warp velocity math, or entity visibility between grids. (Also, it’s full of std::(unordered_)map/set. Surprised they didn’t try squeeze some more perf there.)
- lyu07282 3mo agoBut they announced it as if they are releasing a game engine? This is just bits and pieces of one with major missing pieces so I'm not sure what the point was with that. I guess its more to help modding or they are yet to release everything they wanted.
- 0xffff2 3mo agoIf there was ever a game where the secret sauce doesn't have anything at all to do with the code, Eve has got to be it. They could probably release every single thing including all of the assets, complete buildable client and server code, etc and I doubt it would hurt the Eve at all.
- mynegation 3mo agoWhat engine? Is not this game played in a spreadsheet?
- Cthulhu_ 3mo agoYes, but you can turn a visual representation on by pressing ctrl+shift+f9.
- sim04ful 3mo agoJokes aside apparently they've hired economist to keep the game's market's stable.
- Cthulhu_ 3mo agoThis was at least a decade ago, but the game's economy seems to be managed well enough. Cost of having stuff transported is still 1M / jump.
- reactordev 3mo agoPLEX keeps the markets stable now as they control the flow of PLEX like its Spice from Arrakis
- sitzkrieg 3mo agodepends on size, location, contents, risk, a million other factors. people are not paying 1m/jump to get stuffed freightered around by jita lol
- tuzemec 3mo agoWasn't that Yanis Varoufakis? https://en.wikipedia.org/wiki/Yanis_Varoufakis https://en.wikipedia.org/wiki/Yanis_Varoufakis
- sph 3mo agoNope, Varoufakis consulted with Valve
- hparadiz 3mo agoNot a fan of space engines where locations are fixed.
- cultofmetatron 3mo agowhat you want a game where they take into account the expansion of space? are we also going to model the complete breakdown of causality on the otherside of the ftl?
- hparadiz 3mo agoThey don't even do orbits of basic solar system objects. Lol. Eve online has always just pretended to be a space sim.
- forgetfreeman 3mo agoThat's inaccurate, orbital periods are a thing at least for moons. It's one of those things you'd have to spend a year or two piloting an Orca to notice though.
- hparadiz 3mo agoAre stations and jump gates still fixed in place?
- stackskipton 3mo agoYes and almost no one cares.
- fl4regun 3mo agoif anything, people DON'T want them to move because it will ruin their bookmarks over time. It is not going to be fun to have to manually update your bookmarks just because a space station got slightly pulled into some nearby planet or whatever.
- Cthulhu_ 3mo agoI hope this will lead to some AI bros quickly finding performance optimization options; the game can be very heavy on graphics despite most of what's visible being a skybox and UI elements, and the UI is often very sluggish and unresponsive, that is, they seem to be doing too much on the main thread.
- nottorp 3mo agoWhat's the point, you just press Ctrl Shift F9 to play the real Eve.
- pentium166 3mo agoBecause that display mode is often also sluggish in the scenarios where you would reach for it, including client-side input handling, and it loses information like the radius of interdiction bubbles.
- sushidev 3mo agoCan I use this to release my own games, and does this release includes everything needed to build games like EVE online?
- ____mr____ 3mo agoAll of it is under MIT so probably. Not sure about if it includes everything to make EVE online though
- nottorp 3mo agoDoes it include the server or just the base for the client? Edit: someone posted below that it's base disparate components, not the actual game. So you can (MIT) but you'll have to put some work in.
- deleted 3mo ago[deleted]
- edelbitter 3mo agoAlready used (sounds like, successfully) by the usual GitHub phishing campaigns: > found a workaround for the shader compilation bug that keeps the mesh from vanishing. I attached the fix here. https://github.com/carbonengine/trinity/issues/21 https://github.com/carbonengine/trinity/issues/21 (Microsoft should stop it with the "This is not the web page you are looking for." where people specifically came looking to learn whether something was administratively blocked - or whether it is no longer available by choice of the affected party.)
- tangenter 3mo agoPains me to see it play out like this. Crazy simple, and effective.
- quantummagic 3mo agoWith all due respect, this reads to me as a couple of confusing non sequiturs. I took a quick look at the link you included, and it didn't help me understand what you're talking about either. Probably I'm just horrendously ignorant, but I would love to understand what you're referring to, and the point you're making about it.
- jerf 3mo agoThe zip file referenced in https://github.com/carbonengine/trinity/issues/21#issuecomment-4915301357 https://github.com/carbonengine/trinity/issues/21#issuecomme... is probably malware, per https://github.com/carbonengine/trinity/issues/21#issuecomment-4916160568 https://github.com/carbonengine/trinity/issues/21#issuecomme... . I didn't sit there and decompile the thing but even just running "strings" on the .exe is more evidence in favor of that, it has things like domain names that a "driver" shouldn't have. Whether or not "procedural" is part of the scam or a legit victim, I have not much opinion.
- ErroneousBosh 3mo agoThe "issue" raised says "hey I found a bug, no ships are rendered, run this .exe file to fix it!" and someone did just that. You don't run just random binaries off the Internet on your computers, do you? Nooooo, of course you don't.
- msukkarieh 3mo agointerestingly they support multiple graphics APIs (Dx11, Dx12, and Metal) through an abstraction layer: https://app.sourcebot.dev/chat/cmrcbnd6u00cvwa5bup88jf0j https://app.sourcebot.dev/chat/cmrcbnd6u00cvwa5bup88jf0j
- torginus 3mo agoI have a cheeky idea - imagine you're a company (especially a games company, whose engine is a small part of the whole product). You want to cut dev costs by AI - problem is your 100k codebase is completely unknown to most LLMs. So you release all your code, and labs will gobble it up and train on it for free. So come a year maybe, suddenly ChatGPT or Claude will know the code like the back of its hand.
- y1n0 3mo agoCorollary: get other people to spend their tokens on PRs
- MrDresden 3mo agoI used to have a character named Fenris in EVE. Probably shouldn't have recycled them all those years ago.
- lz400 3mo agoI used to play EVE on and off for years (decades?) and as many people here I loved more the idea of the game than the reality of it so I couldn't handle it for long periods. I would love the possibility of setting EVE servers where we have like instanced pre-loaded scenarios (battle for a structure for 50v50 preloaded fits, alliance tournament style fights, etc.) and can do open source. Of course they'd need to open source quite a few more things, I wonder if they could franchise the game itself this way so people setting the servers pay a bit or something (or rent the capacity, cloud style?). AFAIK, EVE is very profitable and EVE's mother company have been trying to use this cushion to branch out into other games and exploit the IP. I believe this has been mostly failed attempts and they've been bought, sold, etc. Maybe franchising EVE itself would work better? CCP plz?