この記事の3行まとめ
- 軍事FPS『Arma: Cold War Assault Remastered』のエンジンとゲーム部分のソースコード、GitHubで公開中
- コードはC++20に更新され、CMakeとClangでWindowsとLinuxの64bit版をビルドできる
- ライセンスはGPL-3.0-or-laterに追加条項付き。アセットはGPLの対象外で、製品版か無料の体験版から入手
チェコのゲームスタジオ「Bohemia Interactive」は、軍事シミュレーションFPS『Arma: Cold War Assault Remastered』のエンジンと、ゲーム部分のソースコードも含めて、GPL-3.0-or-laterのもとGitHubで公開しています。
アセットは製品版か無料体験版から入手できます。
同社は2001年にCodemastersから発売されたFPS『Operation Flashpoint: Cold War Crisis』の開発を担当していました。
Codemastersとの販売契約が終了したあとの2011年、2002年発売の拡張パック『Operation Flashpoint: Resistance』も収録したうえで、同社は『Arma: Cold War Assault』へ改題して再発売しています。
『Arma: Cold War Assault』発売時のトレーラー
『Arma: Cold War Assault』のエンジン「Poseidon」を近代化した基盤の上で動作するリマスター版が『Arma: Cold War Assault Remastered』です。
同社は今回のソースコード公開を、id Softwareによる往年のソースコード公開にならったものと説明しています(※)。
※ id Softwareは『DOOM』や『Quake』などのソースコードをGPLで公開してきた
20年以上にわたって『Arma: Cold War Assault』を支えてきたコミュニティが、コードを読み、手を加え、不具合を直し、そこから新しいものを作れるようにすることが狙いとしています。
当時のコードをC++20に更新。制作ツールやマスターサーバーも収録
公開されたのは、『Arma: Cold War Assault Remastered』発売にあたってC++20へと更新された、エンジンとゲームのソースコード。
ビルドにはCMakeおよびClangを使用し、Windows / Linux(ともに64bit版)へのビルドをサポートしています。
制作者向けのツールも同梱されています。PBOアーカイブやモデル、テクスチャ、サウンドなどを扱うコマンドラインツールのほか、スクリプト言語SQFの式を単独で評価できるツール、P3D形式のモデルをBlenderに読み込むアドオンが含まれます。
マルチプレイ関連では、サービスを終了したGameSpyに代わるマスターサーバーの実装も公開されました。サーバー運用やModの作業に使うコマンドラインツールとあわせて、Rustで書かれています。
なお、リポジトリはロックされた状態で公開されており、プルリクエストは受け付けていません。Issueの用途も、Steamで配信されている公式ビルドの不具合報告に限定されています。公式ビルドのリリースにあわせる場合を除き、継続的な更新も予定されていません。
アセットは当時のものが使われている(画像は『Arma: Cold War Assault Remastered』Steamストアページより引用)
ライセンスは、GPL-3.0-or-laterに追加条項を付与したもの
ソースコードのライセンスは、GPL-3.0-or-laterに、GPL第7条に基づく追加条項を付したものです。
追加条項では、「ARMA」をはじめとする同社の商標について、権利が一切許諾されないことを明記。これらの商標を使って改変版を配布することや、同社との提携・関係を主張することを禁じています。
改変版は改変版であることを明示し、オリジナルを名乗ってはならないとも定められています。
アセットは別のライセンスに基づいて利用
一方、モデルやテクスチャ、サウンド、ミッション、ボイスといったアセットはリポジトリに含まれておらず、GPLの対象外です。
これらはSteamで配布されているデモ版・製品版を通じて提供されていますが、利用は『Arma』シリーズ作品に限定することや、商用利用の禁止といった条件が付いたArma Public License Share Alike(APL-SA)に従う必要があります。
詳細は、ニュースリリースおよびGitHubをご確認ください。
Arma: Cold War Assault Remastered Is Out Now!BohemiaInteractive / CWR | GitHub