CCP and Mojo?

This may be an overly technical / bizarre question for this forum, but I tried to put it into the most suitable place I could think of. I don’t know if this will ever reach CCP Devs, but curiosity got the better of me nontheless.

After looking at the 2023 fanfest keynote (admittedly a tad late), one of the more interesting points to me was CCP’s ambition to update their python engine to Python 3.

Now with the new Mojo language on the rise, which makes some hefty performance promises, I can’t help but think that there is huge potential for CCP here considering abundance (I presume) of performance challenges there must be involved with maintaining a modern game engine in Python.

Anyhow, I could not see that CCP had made any comments about this. But I would certainly be interested to hear more about the viability and possibilities of such tech for EVE.

That’s it, random thought of the day. Thanks for reading.

Graff.

Mojo says it’s a language for AI development. The monolith (or the microservice based Quasar) is not AI.

They do certainly plaster AI all over their website, I assume this is mostly for marketing reasons. But as far as I understand it is not strictly for AI or limited to that field, it just lends itself well to that use case since it allows you to leverage multiple CPU, and more notably, GPU cores in python, which is of course the primary language within the AI field as of today, but somewhat limited when it comes to concurrency and/or parallelism. I could see how these possibilities could lends itself equally well to an application such as EVE.

That being said, I have no knowledge of CCP’s infrastructure and how things work under the hood (if there are resources on that I’d be very interested in some pointers), so this post is entirely built the speculation that rendering and the types of real-time physics simulations required for EVE’s mechanics are written in python, in which case I can see Mojo being at least somewhat interesting to them.

If I’ve got it all wrong than I’m happy to learn more!

They have some blog posts about their microservice architecture codenamed „Quasar“. That blog post details some stuff about using golang and gRPC in new services, the historic use of Stackless Python and the move off of CarbonIO. Most of the new stuff is pretty standard industry wise. Protocol buffers as the wire schema / serialization, gRPC as the network RPC protocol, and a generic server language to power it all. Whether it’s the old Python or new golang. Or it could have been Java or C++ or Rust or… these languages don’t really make that much of a difference when it comes to unlocking power of chips (just the drivers for interfacing with low level hardware are usually C by default, so a good C binding is what’s needed, and we’ve had SWIG for years so that’s a solved problem).

The main thing these languages influence is the developer experience, long term support/viability of the language, and the associated business costs and risks for adopting it. Usually jumping onto a new small language is a tough sell to the business unless it has some very clear distinctions. Mojo claims theirs is AI, so while interesting on its own merit it would likely only be used at CCP for an AI related project. Like if they decided to use an LLM to actually make an Aura assistant.

Would be great to bring her to life. Well, as long as she laughs at you every time you die anyway.