新たなゲームエンジン「Arete Engine」発表。ユニファイドメモリへの最適化を特徴とし「Unityの1000倍高速」とうたう
アメリカ・サンフランシスコに拠点を置くソフトウェア開発企業Arete Gamesは11月11日、ゲームエンジン「Arete Engine」を正式発表し、バージョン0.1を公開した。主に2D/3Dゲーム開発向けゲームエンジンとして、現時点でPC(Windows/Mac/Linux)/iOSおよびVRデバイスをサポート。将来的には家庭用ゲーム機やAndroid、Steam Deckにも対応予定とされている。
Arete Engineは、Rustベースで開発されているECSゲームエンジンで、独自のアーキテクチャによる従来にないアプローチとして、ユニファイドメモリへの最適化が大きな特徴とされている。もともとはスタンフォード大学でのプロジェクトとして、およそ2年前に開発が始まったそうだ。サポートするプログラミング言語はRustのほか、C・C++・Swiftなどが挙げられており、C#への対応も進めているとのこと。
Arete Engineにて、ユニファイドメモリを採用するプラットフォーム向けにビルドした場合、フレーム毎のCPUからGPUへのデータのコピーが不要となり、従来のゲームエンジンに比べオーバーヘッドが大幅に排除されるとのこと。こうしたユニファイドメモリへの最適化は、特に動的なオブジェクトが多い複雑なシーンにおける、データ処理のボトルネックを避けることに繋がるという。開発者は、CPUのフレームタイムにおいて「Unityの1000倍高速」であると主張している。
また、Load Balancingと呼ばれる機能も特徴のひとつに挙げられている。これはシステム上のボトルネックを把握して、レンダリングのタスクをCPUかGPUに振り分ける仕組み。ユニファイドメモリに限らず、システムの負荷のバランスを改善させることでフレームレートの向上が見込めるという。特にカスタムメイドのPCやAndroidといった、仕様がさまざまでシステム上のボトルネックを予測することが困難な場合に、この機能が真価を発揮するとされている。
今回配布開始されたバージョン0.1は、Arete Engineとして公開された最初のバージョンにあたり、まだ開発初期段階ということもあって、基本的な機能を紹介するような内容になっているとのこと。なお上述したLoad Balancingは、現時点では無効にされている。今後さらに開発が進められるなかで、さまざまな機能が追加されていくようだ。開発ロードマップも公開されている。
また、サンプルとなる簡易的なゲームのコードも同時に配布開始。ひとつはUnityの公式チュートリアルで紹介されているゲームをArete Engineで再現した『Tanks』。もうひとつは『ギャラガ』『スペースインベーダー』から影響を受けたというシューティングゲーム『Space』である(以下の投稿にて動画が掲載)。
Arete Engineの正式リリース後の利用料金について、学習・研究用途など商用利用でなければ無料。商用利用する場合は、開発した製品の収益が100万ドル(約1億5000万円)に達するまでは無料で利用でき、超えた場合は1%のロイヤリティの支払いが発生するとのこと。収益の数字については、利用者が自己申告するかたちとなる。なお正式リリースから最初の3年間程度は早期導入期間に位置付けられ、同期間中はこの料金プランが維持される予定である。
Arete Engineの詳しい内容については公式サイトを確認してほしい。
※ The English version of this article is available here