Eve Online's Carbon engine is now open source: Fenris Creations explains why
Eve Online’s Carbon engine is now open source: Fenris Creations explains why
《EVE Online》的 Carbon 引擎现已开源:Fenris Creations 解释其背后原因
In 2024, Fenris Creations – then called CCP Games – said that it was planning to make its Carbon game engine open source. Now, some two years later, the tech behind the long-running sci-fi MMO Eve Online is available on GitHub for everyone to use. The open-source project is something that the company’s core tech team has been working on at a “slow burn” for some time now, with the bulk of the work done in the last 12 weeks.
2024 年,Fenris Creations(当时名为 CCP Games)宣布计划将其 Carbon 游戏引擎开源。如今,两年过去了,这款支撑长青科幻大型多人在线游戏(MMO)《EVE Online》的技术已在 GitHub 上向所有人开放。该开源项目是公司核心技术团队长期以来“慢火细炖”的工作成果,其中大部分工作是在过去 12 周内完成的。
Speaking to GamesIndustry.biz, Fenris Creations’ senior development director for core technology, Ben Hunter, explains the reasoning behind it all. “We wanted to get the code out there for inspectability and building trust with the community,” he says.
在接受 GamesIndustry.biz 采访时,Fenris Creations 核心技术高级开发总监 Ben Hunter 解释了背后的原因:“我们希望将代码公开,以便于审查并与社区建立信任。”
Ben Hunter | Image credit: Fenris Creations
Ben Hunter | 图片来源:Fenris Creations
“Fenris has a long history of building communities and engaging with them. If you look back to the early days of Eve Online, when we exposed our application programming interface (API), that was the start of our effort to engage with the community and let them build something with it. We arrived at this point two and a half to three years ago, where we decided there’s nothing really special about our sauce in terms of the actual code. We, and the community, would be better served by actually getting it out there, having more eyes on it, so that we can actually learn and grow from that, and people can do crazy things with it, which we’re very excited to see.”
“Fenris 在建立社区和与社区互动方面有着悠久的历史。回想《EVE Online》早期,当我们开放应用程序接口(API)时,那便是我们致力于与社区互动并让他们利用其进行创作的开端。大约两三年前,我们意识到在实际代码层面,我们的‘秘方’并没有什么特别之处。通过将其公开,让更多人审视,我们和社区都能从中受益,我们可以从中学习并成长,人们也能用它做出令人惊叹的事情,我们对此感到非常兴奋。”
It’s early days at the moment. Hunter says that things are “leaning towards” people using Carbon to build within the Eve ecosystem. Members of the community have already been submitting pull requests (PRs) – proposed changes to a codebase – for security fixes, and there’s been chatter about someone making a web app to watch Eve Online content. “We have to see how that manifests, but essentially, you can build anything with it,” Hunter says.
目前还处于早期阶段。Hunter 表示,目前的情况“倾向于”人们使用 Carbon 在 EVE 生态系统内进行构建。社区成员已经开始提交用于安全修复的拉取请求(PR,即对代码库的修改建议),并且有传言称有人正在制作一个用于观看《EVE Online》内容的 Web 应用程序。“我们还得看看最终会发展成什么样,但本质上,你可以用它构建任何东西,”Hunter 说道。
Carbon is available in its entirety across a number of different modules. Most of the tech is under the MIT License, a popular and permissive option. Only two modules aren’t under that banner: spatial audio clustering is covered by Apache License 2.0, while IO has a Python Software Foundation License. None of these licenses has any commercial element; someone can use all of Carbon for free. They could make their own MMO using the tech, for free. They could even fork off the engine and build their own version, similar to how the Linux distro system works.
Carbon 以多个不同模块的形式完整提供。大部分技术采用 MIT 许可证,这是一种流行且宽松的许可方式。只有两个模块不属于该范畴:空间音频聚类(spatial audio clustering)采用 Apache 2.0 许可证,而 IO 模块则采用 Python 软件基金会许可证。这些许可证均不包含任何商业限制;任何人都可以免费使用 Carbon 的全部内容。他们可以利用这项技术免费制作自己的 MMO,甚至可以像 Linux 发行版系统那样,对引擎进行分支并构建自己的版本。
But making money isn’t the point of this venture. “It’s about garnering the actual interest from people so that they want to invest their time, their effort, their money into contributing something,” Hunter explains. “It’s this belief that rising tides lift all ships. If we improve the code and we can all benefit from it, it’s good for everyone.”
但赚钱并不是此举的目的。“重点在于激发人们的真正兴趣,让他们愿意投入时间、精力和金钱来做出贡献,”Hunter 解释道,“这基于‘水涨船高’的信念。如果我们改进了代码,大家都能从中受益,这对每个人都有好处。”
Security concerns / 安全顾虑
Open sourcing creates a bit of extra work for the core tech team; they’ve got to handle PRs and monitor the changes. This is something Fenris has slowly been hiring towards for years now. “We announced our intention to open source a couple of years ago, then throughout that period, slowly ramped up in some of the teams, not specifically for open source itself, but rather just to augment the teams so they’d have more bandwidth to handle the mechanics,” Hunter says. “We have reserved time during our sprint process to review PRs, process them, and go through everything.”
开源为核心技术团队增加了一些额外的工作;他们必须处理 PR 并监控代码变更。这是 Fenris 多年来一直在通过招聘逐步准备的事情。“我们在几年前宣布了开源意向,在那之后,我们逐步扩充了一些团队,这并非专门为了开源,而是为了增强团队实力,让他们有更多的带宽来处理这些机制,”Hunter 说,“我们在冲刺(sprint)流程中预留了时间来审查 PR、处理它们并检查所有内容。”
Eve Online launched back in 2003. | Image credit: Fenris Creations
《EVE Online》于 2003 年发布。| 图片来源:Fenris Creations
There are many benefits to opening up your tech and letting anyone take a look under the hood. But bad actors are always out there, looking for any exploit they can find. Hunter says that security is “absolutely” a concern moving forward, adding that it’s a pressure that ensures the team “increases the effort” they put in when reviewing code and making architectural decisions.
开放技术并让任何人都能查看其内部构造有很多好处。但总有不法分子在寻找任何可以利用的漏洞。Hunter 表示,安全问题在未来“绝对”是一个顾虑,并补充说,这种压力确保了团队在审查代码和做出架构决策时会“加大投入”。
“But at the same time, the holes that were there would have been there anyway,” he says. “Actually having the ability to have third parties contribute to and help us close any potential security gaps is very good. To be honest, for an engine that is 23 years old, the number of security-related PRs that we’ve had is quite minimal. That’s eye-opening, in a good way – there’s been a lot of work done over the years. As you can imagine, Eve Online has garnered a lot of interest over the years because of the scale of the fleet fights, the battles, and things like that. Nefarious actors, definitely, in the past, have wanted to probe that and try to disrupt it. There’s been a lot of battle-hardening over 23 years to the infrastructural stack of the engine and the networking layer.”
“但与此同时,那些漏洞本来就存在,”他说,“能够让第三方参与并帮助我们填补任何潜在的安全漏洞,这非常好。老实说,对于一个拥有 23 年历史的引擎来说,我们收到的与安全相关的 PR 数量非常少。这令人大开眼界,而且是积极的一面——这些年来我们做了大量工作。正如你所能想象的那样,由于舰队战、战斗等规模宏大,《EVE Online》多年来吸引了大量关注。过去确实有不法分子试图探测并破坏它。在过去的 23 年里,引擎的基础设施堆栈和网络层已经历了大量的实战考验。”
“The ability to have third parties contribute to and help us close any potential security gaps is very good” “能够让第三方参与并帮助我们填补任何潜在的安全漏洞,这非常好。”
As well as gameplay integrity, there’s also the game’s economy. Eve Online has a complicated, robust, and incredibly valuable in-game economy, with estimates suggesting a trading volume of more than $50 million per year. That part of the game isn’t open source. In fact, Hunter says that a great deal of care was taken in deciding what was marked off for open source and what was not. “We had to make very careful considerations for what we carved out and what we left off,” he says. “Probably the hardest part of doing the open source project is deciding what genuinely is engine versus what is two decades of things that grew up around it, and then also rebuilding all of the pieces that were middleware or licensing that no longer would be applicable for open sourcing. That’s definitely been a big part of the challenge.”
除了游戏完整性,还有游戏经济。 《EVE Online》拥有一个复杂、稳健且极具价值的游戏内经济系统,据估计每年的交易额超过 5000 万美元。这部分游戏内容并未开源。事实上,Hunter 表示,在决定哪些部分开源、哪些部分不开源时,他们非常谨慎。“我们必须非常仔细地考虑哪些部分要剥离出来,哪些要保留,”他说,“做开源项目最难的部分可能在于,要区分什么是真正的引擎,什么是二十年来围绕它生长出来的东西,以及重建所有不再适用于开源的中间件或授权组件。这绝对是挑战的很大一部分。”