アンリアル・エンジンは、かつて Linux をサポートしていました。そして、アンリアル・エンジン 4 の登場にともない Linux は、私たちのプラットフォーム ファミリーで最も重要なメンバーの 1 つとなりました。Linux プラットフォームに関する私たちの計画は、エピックの社内プロジェクトのニーズとパートナーのプロジェクトのニーズ、さらにLinux コミュニティの多大なニーズを総合した上で成り立っています。このことを言い換えるならば、Unreal Engine 4 の Linux 開発は、4 つの領域にまたがっているということになります (それぞれにおいて独自の課題があります)。
- 堅牢かつセキュアかつ CPU 効率の高い Linux ゲームサーバー
- フル機能の Linux クライアントのサポート
- 機能が豊富でネイティブな Linux 開発ツール
- Linux 用開発を容易にするための、Windows および Mac OS 用ツールの強化
アンリアル・エンジン 4 が Linux をサポートすると聞くと、上記の内最初の 3 つはすぐに思いつくでしょう。しかし、Linux のための開発をゲーム開発業界全体において軌道に乗せるためには、ゲーム会社がすでにもっているワークフローとのシームレスな統合することによって、Linux 版のゲームを市場に出すコストが最小限に抑える必要があります。(直感に反する嫌いはありますが) しっかりとした Windows および Mac OS 向けツールを作る理由は、そこにあるのです。そのようなツールによって、プロジェクトを再コンパイルおよび再パッケージ化するだけで、だれでも Linux 向け開発ができるようになるわけです。また、クロス プラットフォームから始めて、そのサポートを継続させる予定をもちながらも、ネイティブの開発を容易にするための取り組みにかかるのも、上記の理由によるのです。
Linux 向け開発が幅広い支持を得られるようになるためには、既存の開発環境でクロス ツールを使って開発できなければならないと私たちは考えています。
コミュニティの活動
2 か月前に 4.0 をリリースした時、私たちはまだ Linux 専用サーバーしかサポートしていませんでした。それが今では、パッケージされたゲームを走らせることが公式のサポートに含まれるまでになりました (スタンドアロン ゲームとクライアントの両方)。私たちは、SteamOS のことを念頭に置いて、公式にサポートされている開発方法が Windows からのクロス プラットフォームである (Mac OS のツールチェーンも将来追加されます) としながら、意識的にアーキテクチャを x86-64 に限定しました。このプロセスのドキュメンテーション (確かに乏しいのですが) は、コミュニティの wiki を通じて維持されています。
言うまでもなく、活気ある Linux のコミュニティは、当初から意欲的でした。アンリアル・エンジンが発売されると、熱心なデベロッパーたちが (私たちの会社よりも数段大きな会社に勤めている方もいました)、熱意をもって彼ら自身の取り組みを開始したのでした。それは、Linux で動作する開発ツールを作成するという取り組みでした。私たちがその取り組みを計画に (最近公開されたエンジンのロードマップをご覧ください) 入れた (まだ入っています) 時、率直に言えば、これほど早く事が運ぶとは思っていませんでした。しかし私たちは、コミュニティの存在のおかげで、アンリアル・エディタを Linux の下で起動できるようになったのです。
ここで、最も活発にコミュニティの努力を集結させてくれた人々の名前を挙げなければなりません。
もちろんその他にも、Freenode における #ue4linux の IRC チャンネルや私たちのフォーラムにいつも来ていただいた人たちが多数います。プルリクエスト (当然これはクレジットに反映されることになります) の一つ一つに対して、そして意見や貴重な助言に対して感謝を申し上げます! Google、Red Hat、MIT の人々がプライベートな時間を割き、Linux 用アンリアル・エンジン 4 を改善してくれたことを、名誉に思います!DarkSide の人々に (特に、私たちと額を突き合わせて UE4 の Linux のためのサポートに取り組んでくれた Michael Liebenow 氏に) お礼を申し上げます。
模索すべき道
AAA 級のゲームエンジンを研究や実験のために利用できるのであれば、エピックにとってもオープンソースのコミュニティにとっても有益なことです。私たちは、Linux のソフトウェア スタックに含まれている大量のコンポーネントを (もちろんドライバーも) 重要視しています。これらは、最終的に改良できる場合があります (たとえば、Valve の非常に便利な OpenGL デバッガ)。私たちは、さまざまなプロジェクトに従事できることを今から楽しみにしています!
コンパイラに関係するあらゆる研究にとって、アンリアル・エンジンは肥沃な大地であると思います。gcc と clang のコミュニティがともに私たちのコードベースを利用するようになればと期待しています。特に、私たちは最新の C++ の機能を取り入れることに積極的であるため、なおさらその思いは強いです。
Linux 上でアンリアル・エンジン 4 を使って私たちがやってみたいことは、いっぱいあります。現在時間がなくて取り組めていないものには、次のようなものがあります。
- 数十個の (数百個の?) CPU を搭載した大規模な NUMA マシン上でゲームサーバーを稼働させ、その CPU の利用方法を考察することによって、アンリアル・エンジン 4 の拡張性を向上させる。
- Loongson などの非主流のアーキテクチャに移植して、どのような問題が生じるか調べる。
- GCW Zero ポータブルゲーム機などの Linux ベースのデバイスや、Raspberry Pi に移植する。(私は過去に一部取り組んだことがあるので、サードパーティのライブラリを作成することに協力できます。)
- 自由に使用できるベンチマークを作成する (ソースやツールを配布しなければライセンス的に可能です)。ベンチマークは、Phoronix Test Suite に入れることができるようにする。または (あるいは、かつ) Linux のグラフィックのドライバーを改善するために使用できるようにする。
- 他の Unix 系 (FreeBSD、Solaris) OS に移植する。
UE4 のコミュニティの皆さんにはぜひ私たちを出し抜いて、アンリアル・エンジン 4 搭載の Linux 向けゲームを真っ先に作っていただきたいです!
ご意見をお待ちしています!私たちのフォーラムに立ち寄って、議論に加わりませんか?