Selacoの開発は、生の処理能力だけが視覚的なリアリティへの唯一の道ではないことを示している。チームは、老舗のDoom EngineをベースにしたエンジンであるGZDoomから、パフォーマンスとグラフィック品質を引き出すことに成功し、最新のレンダリング技術に匹敵するソフトウェアベースの動的照明システムを実装した。この技術的成果は、事前定義されたボリュームに基づく環境破壊システムと高度なパーティクルエミッターと組み合わさり、Selacoを、限られたツールを最適化してAAA級の結果を得る方法に関するケーススタディにしている。
リバースエンジニアリング:GZDoomにおける照明、パーティクル、破壊 🛠️
動的照明を実現するために、開発者はGZDoomのレンダリングパイプラインを変更し、フラットシェーディングを、2.5Dジオメトリ上でリアルタイムにソフトシャドウを計算するピクセル単位の照明モデルに置き換えた。これは、ハードウェアレイトレーシングを必要とせずにバウンスライトをシミュレートするカスタムGLSLシェーダーを注入することで達成される。一方、パーティクルシステムはゼロから書き直され、マップとの衝突と熱による減衰をサポートし、仮想金属を溶かす爆発を可能にした。環境破壊は、衝撃を受けると高精細テクスチャ(Photoshopで作成)と瓦礫の3Dモデル(Blenderでモデリング)を交換する動的セクターシステムによって実装され、エンジンのブロック構造を壊すことなく実現されている。
インディーへの教訓:エンジンよりも職人技 🎨
Selacoは、ゲームエンジンの真の限界はその古さではなく、それを修正する創造性にあることを示している。最適化されたポリゴンアセットを作成するためにBlenderを、法線マップとアンビエントオクルージョンを持つテクスチャのためにPhotoshopを使用することで、チームは伝統的なピクセルアートと現代のフォトリアリズムの間の架け橋を築いた。独立系開発者にとっての教訓は明らかだ。モデリングとテクスチャリングのツールを習得することで、AAAエンジンの欠如を補うことができる。鍵となるのは、ベースエンジンの強みを理解し、そのクラシックなアイデンティティを失うことなく、本来設計されていないことを強制的に行わせることにある。
Selacoチームが、クラシックエンジンのパフォーマンスを犠牲にすることなくGZDoomに動的照明を実装する際に直面した最大の技術的課題は何でしたか?
(追伸:シェーダーはマヨネーズのようなものです。分離したら、最初からやり直しです)