オープンソース
EVE OnlineのCarbonエンジンがオープンソース化:Fenris Creationsがその理由を説明
EVE Online's Carbon engine is now open source: Fenris Creations explains why (gamesindustry.biz)
要約
Fenris Creations(旧CCP Games)は、MMOゲーム「EVE Online」の基盤技術であるCarbonゲームエンジンをオープンソース化しました。この決定は、コミュニティとの信頼構築、コードの透明性向上、そしてコミュニティからの貢献による成長を目指したものです。MITライセンスを主とし、一部モジュールは異なるライセンスで提供されますが、商用利用も可能です。セキュリティへの懸念はありますが、オープンソース化による第三者の貢献で脆弱性発見・修正の促進も期待されています。
全文翻訳
2024年、Fenris Creations(当時はCCP Games)は、Carbonゲームエンジンをオープンソース化する計画を発表しました。そして約2年後、長年続くSF MMO「Eve Online」の基盤技術がGitHubで誰でも利用できるようになりました。
このオープンソースプロジェクトは、同社のコア技術チームが「スローバーン」で長らく取り組んできたもので、直近12週間で作業の大部分が行われました。
GamesIndustry.bizの取材に対し、Fenris Creationsのコアテクノロジー担当シニア開発ディレクターであるBen Hunter氏は、その理由を説明しました。「コードを公開することで、検査可能性を高め、コミュニティとの信頼を築きたかったのです」と彼は述べています。
Ben Hunter氏 | 画像提供: Fenris Creations
「Fenrisはコミュニティを構築し、エンゲージすることに長い歴史があります。Eve Onlineの初期の頃を振り返ると、アプリケーションプログラミングインターフェース(API)を公開したことが、コミュニティとエンゲージし、彼らに何かを構築させるための私たちの努力の始まりでした。私たちは2年半から3年前にこの地点に到達し、実際のコードという点では、私たちのソースに特別なものはないと判断しました。私たちもコミュニティも、それを公開し、より多くの目に触れさせることで、そこから学び成長し、人々がそれを使ってクレイジーなことをしてくれる方が、より良いサービスを受けられると考えました。私たちはそれを見るのが非常に楽しみです。」
現時点ではまだ初期段階です。Hunter氏によると、人々はCarbonをEveのエコシステム内で構築するために使用する方向に向かっているとのことです。コミュニティメンバーはすでに、セキュリティ修正のためのプルリクエスト(PR)を提出しており、Eve Onlineのコンテンツを視聴するためのWebアプリを作成するという話題も出ています。
「それがどのように展開されるかを見る必要がありますが、基本的に、これで何でも構築できます」とHunter氏は述べています。
Carbonは、さまざまなモジュール全体で完全に利用可能です。ほとんどの技術は、人気があり、制限の少ないオプションであるMITライセンスの下にあります。このバナーの下にないモジュールは2つだけです。空間オーディオクラスタリングはApache License 2.0でカバーされており、IOはPython Software Foundation Licenseを持っています。これらのライセンスのいずれにも商用要素はありません。誰でもCarbonのすべてを無料で利用できます。彼らはその技術を使って独自のMMOを無料で作成することもできます。Linuxディストリビューションの仕組みのように、エンジンをフォークして独自のバージョンを構築することさえ可能です。しかし、お金を稼ぐことはこのベンチャーの目的ではありません。
「それは、人々が実際に興味を持って、時間、労力、お金を投資して貢献したいと思わせることです」とHunter氏は説明します。「これは、『潮が満ちればすべての船が持ち上がる』という信念です。コードを改善し、私たち全員がそこから利益を得られるなら、それはすべての人にとって良いことです。」
セキュリティ上の懸念
オープンソース化は、コア技術チームにとって少し余分な作業を伴います。PRを処理し、変更を監視する必要があります。これは、Fenrisが長年かけてゆっくりと採用してきたことです。「私たちは数年前にオープンソース化の意図を発表し、その期間中、特定のチームをゆっくりと増強してきました。オープンソース自体のためではなく、むしろチームを補強して、メカニズムを処理するための帯域幅を増やすためでした」とHunter氏は述べています。「私たちはスプリントプロセス中に、PRをレビューし、処理し、すべてを通過させるための時間を確保しています。」
Eve Onlineは2003年にローンチされました。| 画像提供: Fenris Creations
技術を公開し、誰でも内部を覗けるようにすることには多くの利点があります。しかし、悪意のあるアクターは常に、見つけられるあらゆるエクスプロイトを探しています。Hunter氏は、セキュリティは今後「絶対に」懸念事項であり、コードレビューやアーキテクチャ上の決定を行う際にチームが「努力を増やす」というプレッシャーになると付け加えています。「しかし同時に、そこに存在したであろう穴は、もともとそこにあったはずです。第三者が貢献し、潜在的なセキュリティギャップを埋めるのを助ける能力を持つことは、非常に良いことです。正直に言って、23年前のエンジンとしては、セキュリティ関連のPRの数は非常に少ないです。それは良い意味で目を引くものです。長年にわたって多くの作業が行われてきました。想像できるように、Eve Onlineは、艦隊戦や戦闘などの規模のために、長年にわたって多くの関心を集めてきました。悪意のあるアクターは、確かに過去にそれを調査し、混乱させようとしてきました。23年間のインフラストラクチャスタックとネットワーキングレイヤーのバトルハーデニングが数多く行われてきました。」
「第三者が貢献し、潜在的なセキュリティギャップを埋めるのを助ける能力を持つことは、非常に良いことです」
ゲームプレイの整合性に加えて、ゲームの経済もあります。Eve Onlineは、複雑で堅牢、そして信じられないほど価値のあるゲーム内経済を持っており、年間5000万ドル以上の取引量があると推定されています。ゲームのその部分はオープンソースではありません。実際、Hunter氏は、オープンソース化するものとしないものを決定する際に、多くの注意が払われたと述べています。「私たちは、何がエンジンであり、何が20年以上にわたってその周りに成長してきたものなのか、そしてオープンソース化にはもはや適用できなくなったミドルウェアやライセンスのすべての部分を再構築することについて、非常に慎重な検討を行う必要がありました。それは間違いなく課題の大きな部分でした。」
Godotからの重み付け
この課題を乗り越えるために、Fenrisは2014年に開始され、近年 substantial な成功を収めているオープンソースエンジンプロジェクトであるGodotからアドバイスを求めました。Hunter氏は、「オープンで、許可性の高いソフトウェアの台頭は、間違いなく現在のトレンドです」と述べています。
「主な会話はガバナンスモデルに関するものでした」と彼は続けています。「Godotが、そのような大規模なオープンソースプロジェクトを管理するためのプレイブックを持って登場することを期待していましたが、実際には、適切なアーキテクチャ上の選択を行い、アーキテクチャが貢献のためのサーフェスエリアを保護し、定義するのに役立つようにすることが重要でした。それを分解すると、それはエンジンのプラグインモデルであり、UnrealやUnityが持っているものであり、現在Carbonで実装しているものです。私たちはツールでこのプラグインアーキテクチャに移行しています。また、今後数ヶ月でオープンソース化する予定です。その会話で最も大きな電球の瞬間は、オープンソースプロジェクトの実際の運用ガバナンスに役立つアーキテクチャ上の決定を下せるということです。」
Ben Hunter氏は、Fenris Creationsがオープンソースエンジンの作成についてGodotからアドバイスを求めたと述べています。| 画像提供: Fenris Creations
Carbonのガバナンス構造に関して、プロジェクトは完全に許可されており、オープンです。Fenrisは貢献を受け入れており、PRテンプレートと貢献ガイドラインをまとめています。「私たちは、実際のガバナンスを処理するためのいくつかの仕組みが整う前に、コードをオープンソース化できる状態にしていました」とHunter氏は述べています。「その作業には、貢献方法、作業を提出する前にテストする際に満たす必要がある基準、およびLLMを利用したことの開示に関するすべての詳細が含まれています。LLMの使用は構いませんが、開示する必要があります。開示されていない場合とは異なる精査を受ける可能性があるためです。」
より広範なエンジンエコシステムを見ると、Hunter氏は、Epicが最近Unreal Engine 6にAIを統合するという発表を指摘し、状況が「かなり大きく変化している」と描写しています。「UnityやUnrealに向かっていた多くの開発者が、Godotに少しギアをシフトし始めているのを見ています」と彼は述べています。「Epicの最近の発表を見ると、LLM時代に参入できるように、物事を大きく変えています。Unrealは多くの変更を加えています。