最高のゲームエンジンはどれか?:Unityはあなたに向いているのか
業界に入ったばかりのデベロッパにとって,最高のゲームエンジンを選ぶのは困難な作業だ。ここでは,最も人気のあるゲームエンジンの1つである Unityに関する話題を多く取り上げるので,プロジェクトに適切なゲームエンジンかどうかを確認してほしい。
このページですべての主要なゲームエンジンに関するその他の詳細なガイドを読むことができる。
EGXでRezzedゾーンを見渡すと,Tea for Twoの共同創設者Garry Williams氏が,ショーフロアに出展するインディーズ開発者の99%がおそらくUnityを使用しているとジョークを飛ばしてくる。
この発言を厳密な事実で裏付けることは困難だが,Unityに関しては間違いなく最も一般的な信じられている。このエンジンは,インディーズゲームやモバイルゲームの開発環境として知られている。一部のデータはそのイメージを部分的に支持している:2019年9月現在,上位1000のモバイルゲームの52%がUnityを搭載しており,すべてのAR/VRコンテンツの60%を同社が占めているとしている。Unityのゲームプレイヤーは195か国に存在する。これは文字どおり,地球上のすべての国だ。
分かりやすいiOSからPS4まで,さらに見えづらいWindows MRやAndroid TVまで,25以上のプラットフォームをサポートするエンジンは,過去12か月で330億回以上インストールされている。リアルタイム開発プラットフォームにより,2D,3D,VR,ARコンテンツの作成が可能となり,過去12か月間で30億台のデバイスに到達している。
そして,とくに小規模なプロジェクトでUnityが人気なのには理由がある:それは無料だからだ。エンジンのパーソナルライセンスにより,個人であれば,過去12か月間にUnityの使用から得られた収益または資金で10万ドル以上を獲得または受け取っていないことを条件に,無料で商用ゲームを作成できる。
※正確には,Unityに起因する収益とは明言されていない。
一方,ビジネスプランの価格は2020年の初めに変更された。ビジネスライセンスは,プラスバージョンの月額40ドル(4400円)から始まり,過去 12か月間にUnityを使用して得た収益または資金が20万ドル以上獲得または受け取っていない場合に対象となる(※同上)。
次に,収益や資金調達に制限がないProバージョンがあるが,デベロッパは月額150ドル(1万6500円)を支払って追加のサポートやカスタマーサービス,ソースコードアクセスのオプションにアクセスできる。
上記のすべてのプランは年次プランであり,Unity のWebサイトで詳細を確認できる。
ユニティの利点はなにか?
●Unityは広く普及しており,求職で有利
Unityの普及度は,その主要な強みの1つだ。
Team17のプログラマとして6年間勤務し,1年以上パブリッシングレーベルのゲームの開発を監督およびサポートしてきたNo More Robotsの開発リーダーであるDan Foster氏は次のように述べている。
「多くの人がすでにUnityを知っていますが,これは請負業者を手に入れる場合に非常に便利なことです」と,氏は説明を始めまた。「新しいエンジンを覚える必要はありません。同じことはUnrealについても言えますが,とくにインディーズ開発では,より多くの人々がUnityを使用する傾向があります。モバイル開発に大きな基盤を持っていたので,おそらくそれはインディーズシーンに足を踏み入れるのにも役立ちました」
「今では多くの人がそれを使っているので,使い方を知っている人を雇うハードルはとても低く,素早く安くやっていきたいのなら本当に価値があります」
両方のYooka-LayleeのエントリーをUnity上で構築したPlaytonicのソフトウェアディレクター,Simon Gerges氏は,エンジンが多くの教育レベルで使用されていると付け加え,それが採用プロセスを非常に簡単にしているという。
●Unityは初心者用の良いエンジン
Unityは無料なので,学生や意欲的なデベロッパにとって非常に貴重なツールとなる。
Tea for TwoのWilliams氏は,2008年にUnityを使用し始めた。職業プログラマである彼は,スキーリゾートのシムの Snowtopiaでインディーズ開発に移行する前は,UbisftとEAで働いていた。彼は,Unityが初心者のための良いエンジンであることに同意し,3Dで何かをしたいときに面倒なことをすべて処理してくれると語る。
「プログラミングを学びたいと思っていて,何かを成し遂げたいのなら,Unityから始めるのがいいでしょう」と氏は語る。「重いレベルの設計を行う必要があるときでも,大丈夫です。すべてのツールがそこにありますので」
●Unityは速く,アジャイルである
Unityの物事を非常に迅速に行う能力は,非常に高速なイテレーションを可能とし,新しいゲームコンセプトのブレーンストーミング時に非常に便利だ。
FlotsamのデベロッパであるPajama Llamaのアーティスト兼共同創設者Stan Loiseaux氏は,Gamescom 2019でBest Unity Game賞を受賞した。
「プログラミングを学び,何かを成し遂げたいのなら,Unityから始めるのがよいでしょう」-Stan Loiseaux氏,Pajama Llama
「Unityを選んだのは,非常に迅速にゲームを作ることができる高速エンジンだからです。コーディングなし,もしくは非常に簡単なコーディングで大丈夫です」と氏は語る。「最初にいくつかのゲームをプロトタイプにして,その後Flotsamを作り始めました。●Unity により移植性が向上
Williams氏は,開発が速いことに加えて,Unity は移植が速く,ゲームは基本的に1回クリックすればすべての異なるプラットフォームに移植できると付け加えている。Unityが 25の異なるプラットフォームで利用できることは,ここで繰り返しておく価値があり,非常に貴重な機能を実現している。
Gerges氏は,この移植プロセスのシンプルさを強調した。YOoka-Laylee は PS4,Xbox One,Switch,PC,macOS,Linux で利用できる。
「マルチプラットフォームゲームに焦点を当てた当社にとって,リードフォーマットからビルドをデプロイして反復できる容易さは,我々の仕事を非常に簡単にしてくれます」と氏は語る。
●Unityは大規模で多様なAsset Storeを持つ
PlaytonicスタジオディレクターのGavin Price氏も,Unityの「さらなるツールのための品揃え豊富なAsset Store」を賞賛し,非常に十分に文書化され,素晴らしい開発コミュニティでサポートされていると語る。
毎月約150万人の開発者がAsset Storeを訪れ5万6000個のパッケージを閲覧している。
ただし,一部のアセットは時間の経過と一度に利用できなくなる可能性がある。開発の途中で重大な遅延が発生する可能性があるため,ゲームに影響を与えるアセットの使用は多くしすぎないようにしたほうがいいだろう。
●Unityでは独自のツールを構築可能
Unity のAsset Storeは,開発者がツールを簡単に購入できるだけでなく,エンジンを使用してツールを簡単に構築できるようにしている。
「これは,ゲームを作るうえで本当に役立つものです。なぜなら,誰でも難しいことを簡単にやりたいと思っているからです」とFoster氏は語る。
「小さなゲームを作りたいなら,Unityは本当に良いエンジンです。Unityは独自の方法でオブジェクトをレンダリングします。おそらくあなたは特定のプラグインを使用することになるでしょう。あまりにも低レベルには手を出せません。多くのツールが用意されていますが,根本的な部分を変更することはできません。多くのことを行うのに十分な柔軟性を与えられていても,ドリルダウンすることはできません」
「Unityはエンジンをモジュール化し,拡張可能なものにすることに多大な努力を注いでいます」-Trevor Blom氏, Vertigo Games
●UnityはVR開発者向きインタビュー対象者によって強調されたすべての資質は,UnityをVR用の理想的なエンジンにしていると,Arizona SunshineのデベロッパVertigo GamesのリードテックであるTrevor Blom氏は指摘している。一方,UnrealもVRの能力で賞賛されているエンジンでもあることは注目すべきだろう。
「Unityを選んだ最初の理由は,前作でエンジンに関して多くの経験を積んだからです」と氏は語る。「VRがUnityにとって重要であり,技術の最先端にあることがすぐに明らかになりました。新しい API,機能,パラダイムは,VRの大手企業と連携して迅速に実装されます」
「さらに,Unityはインディーズや小さなチームに非常に人気があります。これはまさにほとんどのVR開発チームのことです。最近,彼らはエンジンをモジュール式に拡張できるように力を入れてきました」
Unityの欠点はなにか?
●Unityは大きなプロジェクトには適していない
あまり深くドリルダウンできないことは,Unityの強みでもあり弱みでもある。一方では,初心者に適応した迅速なプロセスを可能にし,一方でUnityは,あなたがオーダーメイド,または大規模なものを作ることを強く望んでいる場合は,おそらくあなたが探しているものではないことを意味している。
AAA ゲームや,画面上に大量のものが一度に表示される大きなシーン,またはネットワークゲームを行うことを目指している場合は,選択を再検討することをお勧めする。
「Unityは多くのAAA的側面を持っていますが,オープンワールドに関してはまだそんなにないと思います」とFoster氏は語る。「(Unity Technologiesは)現時点でネットワーキングモデルを再構築しているので,将来的には当てはまらないかもしれませんが,今のところ,あなたが壁にぶつかたときに重い最適化を行うのに十分に掘り下げることができません。Unityはあまり変更の余地を与えていないので,多くの派手なトリックを使う必要があります。そこでユニティの柔軟性に気付くのです」
●Unityは悪いコードの慣行を促進する
Tea for TwoのWilliams氏にとっての問題は,Unityが必ずしもゲームエンジンになるつもりはなかったという事実にある。もともとはウェブ開発とJavaScriptを対象としていたのだ。
「Unityは,小規模なプロジェクトを対象としていたため,不適切なコード慣行を促進します」-Garry Williams氏, Tea for Two
「C#とゲーム開発にはあまり適応していないものがいくつかあります」と氏は語る。私はMonoGameからUnityに切り替えましたが,私は本当にUnityが好きなわけではないので,それは私にとって簡単な決定ではありませんでした。これは,小規模なプロジェクトを対象としているため,不適切なコードプラクティスを促進します」「ほんの少しの小さな振る舞いを書くつもりだったのに,オブジェクトが追加され,何かダイナミックなものになっていました。しかし,それを行うだけでも,コードとデータの分離が見逃され,すべてが絡み合い始めます。ですから,すべてが長期的に良いわけではありません。そして,すべてはUnityの初期段階から受け継がれました」
興味深いことに,これは英国の開発者Cliff Harris氏が数年前にGDCの「Fuck Unity and the horse it rode in on」と題した講演で挙げていた問題だ。
●UnityはそのままではUnrealほどアーティストフレンドリーではない
Pajama Llamaが拠点を置くベルギーでは, Flotsamを構築するためにUnityを選んだコーダーがいる。そして,アーティストであるLoiseaux氏はUnrealで始めたほうが良かったと信じている。
「あなたはUnityで私が喋っていることとほとんど同じことができますが,素の状態では(Unrealのほうが)ずっと良いです」と氏は語る。「照明やシェーダのようなものでは,より多くのオプションがあります。よりアーティストフレンドリーだと思います。Unityを使用しても,同じものを作ることができますが,あなたがUnrealと同じポイントに到達するためには,少し努力する必要があります」
●UnityはUIの機能不足
Loiseaux氏はまた,Flotsam上のすべてのUIの実装を担当しており,この分野をUnityの改善すべき点として認識している。
「アーティストとしては使えるので大丈夫ですが,まだ少し足りないんです」と氏は語る。「特定の UI 機能を見つけるのが難しいことがあります」
新たなUnity ユーザーに対するアドバイス
●とにかく何かを作る
Unity開発者,学生,初心者を目指す人のために,我々が集めたアドバイスのほとんどは,Unityに限らない1つの簡単な推奨事項を中心としている。 それは非常に単純なゲームであっても,何かを構築することが大事だということだ。小さなプロジェクトを最初から最後まで完了することには本当の価値がある。
「ゲーム開発を始めたばかりなら,とにかくできることをやって,動くようにするべきです」とWilliams氏は語る。「そうすれば,あとで視野を広げ,ゲーム開発以外のことを学び,通常のUnityの方法ではできないことも見てみるべきです」
しかし,PlaytonicのPrice氏は,構造なしでそこに入るべきではないと考えている。
「目標とベンチマークテストを設定し,試してみてください」と氏はアドバイスする。「考えや推測を1人で決めようとしないでください」
●独自ツールを構築する方法の詳細
「Unity を使用して独自のツールを構築する方法を学びましょう」-Dan Foster氏, No More Robots
いくつかの小さなプロジェクトを完了したら,基本を超えて他の機能を調べる必要がある。
「Unity を使用して独自のツールを構築する方法を学びましょう」と Foster氏は語る。「すべてはC#にあります。ガベージが生成されるときは,コードの動作について学んでください。ガベージコレクタは,あなたがモバイルやSwitch,Xbox,PS4に移植するときにゲームを遅くする悪魔です。また,ガベージを生成しないコードを記述すると,コードは高速に実行され,もう心配する必要はありません」
●コミュニティに参加する
Unity をゲーム エンジンとして検討している場合の朗報は,コミュニティが十分に大きかっているため,ほとんどの問題がGoogle検索で解決してしまう可能性が高いことだ。初心者向けから重い最適化まで,あらゆるレベルの開発のためのチュートリアルが何千もあるので,絶対にコミュニティに頼るべきだ。
Gerges氏は,ゲームは「面白い獣」であり,彼は「頭を悩ませないようなゲームには取り組んだことがありません」と指摘している。そして,15年間ゲームで働いているような人でも「我々はコミュニティから何度も恩恵を受け,Unityから直接サポートを受けて,ハードルやトリッキーな状況を克服しました」と語っている。
Price氏は,多くのプラットフォームやジャンルにわたって素晴らしいゲームを作り出しているUnityの実績に言及することで締めくくった。
「開発者は,どのようなエンジンを使用しても,ビジョンを達成するために,どのように使用するかについて創造的である必要があります」と,氏は語る「Unityは,あなたの想像力が作成したいと願うあらゆるゲームを作ることができます」
すべての主要なゲームエンジンに関する詳細なガイドは,ゲームに最適なテクノロジーを見つけるのに役立つ- このページは定期的に更新され,新しいエンジンがリストに追加される予定だ。あなたが最も人気のあるゲームエンジンを見たい場合は,すぐに我々のUnrealガイドにジャンプするか,こちらでGameMakerの詳細を読むことができる。
※本記事はGamesIndustry.bizとのライセンス契約のもとで翻訳されています(元記事はこちら)