なぜ同じコロニーシムジャンルのゲームでも「Songs of Syx」は「RimWorld」と比べて動作が軽いのか?最大の理由:ゲームエンジン


“Songs of Syx” uses a custom engine and is designed for huge populations, so it can run very efficiently.
“RimWorld” uses Unity and simulates each character in much greater detail, which requires more processing power.
Neither approach is better; each game uses the technology that best fits its design goals.


例えば、「Songs of Syx」とよく比較される同じジャンルのコロニーシムに「RimWorld」がある。こちらはUnity製…んで、これってね、エンジンにUnity使ってるから、共通性だとか互換力の点では当然優れている、ってのはある。でもね、Unityというエンジンを駆使して、多数のユニットを管理させるのはとても重いゲーム構成になりがちでもある。当然、コロニーシムジャンルみたいなシミュレーション系のゲームでは多数のユニットをエンジンに管理させなけりゃならない。動作の軽快さと言う点で重くなりがち…ここがウィークポイントになるのだ。

ここを「Songs of Syx」はこう改善した。【独自のゲームエンジンを使う】これはゲームごとに本来そうあるべきなんだろうと思う。手数はかかるがそうあるべき。なぜだろうか?ゲームってね、ゲームごとに目標とするべき駆動性に差異があるじゃない?だから、ゲームごとに最適なエンジンがあるはずなのだ。というかゲームの軽快さを最重要視するならば、当然、そのゲームごとにエンジンを作り替えなけりゃならないという矛盾がある。だが、共通性とか互換力の点で、ギッチリ詰めていくのであれば、エンジンは究極的に汎用のものを使うべきだよな。コロニーシムだからこそ、そこはなおのこと強いファクターなんだ。

聴くところによると、(また「そうだろうな!」と思ったゲーマは多いだろうが)このゲーム、JavaとOpenGLでゼロから自作しているそうな。無駄な処理がなく、大規模な群衆シミュレーションに特化した最適化が行われている…上述の通りだね。汎用ゲームエンジンを使うということはゲームの制作環境&プレイ環境ハードルが大分低くて済むんだけど、その分、重くなりがちな傾向がある。それが誤差の範囲内で済めばいいんだが、こういう群衆シミュレーションのゲームではそれがそうそう簡単にいかないのだ。ここのあたりなんかは、マジ上手く作ってるよな。

また、ゲームの基礎設計の点・基礎デザインの点でもそれはそうだ。2Dスプライトを中心とした描画に収め、群衆を細やかにかつ細部は端折って描く。「RimWorld」みたいな疑似2D-3Dのような、複雑なポリゴン描写はプレイヤーのPCに大きな負荷をかけるけど、この点本作は、ドット絵調の2Dキャラクターとタイルベースの俯瞰マップ構造を採用している。つまり、何千ものキャラクターが画面上にいてもGPU(グラボ)への負荷が劇的に抑えられているんだ。つまり、ゲームエンジンという二次的問題でも、ゲームの大局的デザインという一次的問題においても、強みを上手く活かしているんだ。

じゃあこれだけが問題なのか?っていうとそうでもない。此処まで言うと、あたかも「RimWorld」の世界が動作重くて、悪い設計で作られている、と誤解されるかもしれない。だが、これはあくまで「Songs of Syx」の側から見たものであって、「RimWorld」側から見たものじゃないんだ。「RimWorld」は世界観が此処のユニットベースに配分されていて、個々人のユニットのステータスが多い。例えば、視線とか視点とか思考とか試行とか。つまり、ユニットプロセスのゲームなんだよな。だから重い。こういうゲームの性格があるから、当然Unityみたいなエンジンを使っちゃうってのが適している。だからあたかもUnityが重い・それが悪いのだ、と思ってしまったかもしれんが、そうじゃないっていう面もある。

究極的にはエンジンは自作したほうがいいに決まってる。けれども、ある程度の【良い具合のさぼり方】ってのがあるんだよね。それはゲームの個性に適してるから、決してこうだともいえない面もあるのだ。これが【パスファインディングの設計】だろう。「RimWorld」はそうある(それが必須である)のであって、「Songs of Syx」はそうじゃないということだ。当然、多要素のゲームになれば必要とされる計算量も多くなる。だからこそ、エンジンはUnityを使えばこその問題が無くなっていく収束ポイントがあるのだ。だからこそ、「RimWorld」は汎用エンジンであるUnityを使う。それに対して、軽量さがある「Songs of Syx」は独自エンジンを組んだ方がまだまだより良いということなんである。

もちろんこれは極論だ。厳密に言うと、「Songs of Syx」はやりたいこと・実現したいことがあって、それに適した形でゲーム制作をしたい。だから、独自エンジンを使えばよかった。それに対して、「RimWorld」にもやりたいことがある。だからこそ、それに適したUnityを使った。だからそれで都合がお互い良かった、ということなんだ。出来る限りのことをやっていれば、それでゲーム制作はまーるく収まるという点が肝要である。ま、こんな間抜けなことを言わなくても良いんだ。つまりは、技術的な都合の良さ、というところが一番重要なんだ。ま、暴論と言う人もいるだろうけど、これが一番簡単な、なぜエンジンを使うか?という理由付けの点なのだ。

(*´Д`)<けっこう曖昧でそれ以上に重箱ツツキな記事である…このことにはご容赦お願いしたいトコロテン♡