Artemis3Dエンジンのご紹介

インフィニティー株式会社では、オリジナル3DゲームエンジンArtemis3Dを使用しゲーム開発を行っています。
プログラム紹介のページに情報が掲載されていますが、2021年現在ではずいぶん古い情報になってしまい、読んでいただいた方にもあまり響かないかも…。ということで、こちらで情報のアップデートを図っていきたいと思います。
また、ついでなので、社内のプログラマ用の教育用ドキュメントとして利用できるような情報を掲載できればと。

さて、現在では、ほとんどのゲームプラットフォームが64ビット環境に移行しているため、Artemis3Dも標準で64ビット対応しています。保守的な意味で32ビット対応版を別リポジトリとして残してありますが、今後利用することはあまりないでしょう。

● 対応プラットフォーム
Windows7/8/10(DirectX11,DirectX12)
iOS (OpenGLES 3.0)
Android (OpenGLES 3.0)
Nintendo Switch
PlayStation 4/5
XboxOne/XboxSerieseX

● プラットフォーム間の互換性
マルチプラットフォームの利点は、ゲーム開発におけるコーディングからデバッグまでのほとんどをWindows上で行うことができるという点です。
 ゲームアプリケーションのソースコードを書く場合は、プラットフォーム間の違いはほぼ意識する必要はありません。シェーダーもすべてのプラットフォームで同じソースコードが利用できます。3D/2Dアセットもプラットフォームを意識せず作成することができます。
このため、ターゲットプラットフォーム上での開発は、全体から見ると非常に短い期間になります。
 とはいえ、ターゲットプラットフォームについて全く知る必要がないかというと、そんなことはありません。たとえばテクスチャのフォーマットは、アセット作成時にプラットフォームを意識する必要があります。モバイル系では、ASTCフォーマットを、PCベースのプラットフォームでは、DDS(BC)を標準で採用しているためです。しかし、Artemis3DのWindows版は、ゲーム開発の基本OSという位置づけであるため、標準サポートされているDDSに加え、ソフトウェアデコードによるETC、PVRやASTCフォーマットのテクスチャが利用可能となっています。