ゲームエンジンと言えば、UnityやUnrealEngine(UE)などが有名でしょうか。
企業クラスの売り上げがなければ無料で使用でき、ソフトとしても極めて強力です。
一方で、ゲームエンジンを理解するのは大変で難しいという話も聞きます。
ゲームエンジンは本当に難しいのか
結論としては、ゲームエンジンを使ったゲーム開発は難しくありません。
とんちのような理由を上げれば、誰でも使える様にしたのがゲームエンジンだからです。
なぜ難しいと言われるのか
まず念頭に置くべきなのが、努力すれば作れるようになるであり、最初から楽に作れるではありません。
ゲーム開発に限ったことではなく、あらゆることに共通する事だと思います。
今回はゲーム開発環境の進化を踏まえつつ、UnityおよびUEの選び方や心構えについて紹介します。
ゲーム開発エンジンとは?
そもそもの話として、ゲーム開発エンジンとは何かを確認しておきましょう。
ゲームエンジンとは必要な機能とサポートを包括的に提供するソフト
ざっくりとした定義としては題意の通りですが、中々イメージが付きにくいと思います。
あくまでイメージとしては、エクセルやパワポのような立ち位置でしょうか。
ひな形やパーツほど汎用化されていないものの、自力で作るより遥かに強力で簡単です。
煩雑なリリースのサポートまで可能とする
ユーザーとしては当たり前のようにあるクロスプラットフォーム(PC、Switch、PSなど複数の媒体に配信)ですが、自力で何とかしようとすると無謀です。
少なくとも、個人でどうこうするレベルでなく、何らかのエンジンは使うべきでしょう、
こういった「痒い所に手が届く」のが、エンジンの最大の強みとも言えます。
特定の分野に特化したゲームエンジンも存在する
UnityやUEはゲーム全般をサポートしますが、特定のゲームに特化したものがあります。
自分の目的が定まっている場合、特化ツールを使うのもおすすめです。
RPGツクールやノベルゲームなどが有名所
ゲームエンジンを選ぶための3つのポイント
かなりの範囲をサポートするゲームエンジンですが、得意・不得意の分野があります。
プロジェクト毎に適性がありますので、ざっくりとした分類を参考に選びましょう。
あくまで傾向のため、プロジェクト自体の品質が最も重要なことを忘れないこと!
ポイント1 特化したツールがあり目的がはっきりしている
先に上げたRPGツクールの用に、専用のツールがあり、作りたいソフト像がある場合はそれを選びましょう。
習作として様々な分野に発展させたい場合は、UnityやUEなどの総合的に開発できる環境を選んでも構いません。
ポイント2 スマホ対応のゲームを作りたい
Unityがおすすめです。
UEよりは処理が軽い傾向があり、実際にストアでリリースしているアプリもUnityが強いという調査もあります。
スマホ「アプリ」の場合はクロス開発のできるツールやwebビュー系の選択肢もある
一応の言及として、単にスマホアプリを作るのにはUnityが最適とは言い切れません。
Android/iOS対応をすると少人数で作る場合は、今なら「React Native」や「Flutter」あたりが選択肢になると思います。
逆に上記でゲームを作ろうとすると重くて使えない可能性が高い、要は適材適所
ポイント3 一定の性能を持ったマシンで美麗なグラフィックスを表現したい
UEがおすすめです。
UEはUnityに比べてグラフィック性能が高いことで知られています。
Unity自体もかなりきれいなのですが、よりリアルに近い表現が可能です。
ゲーム開発が「簡単」になるまでの過程
出発点であるゲーム開発が「簡単」なのかについて、軽く経緯を追いながら紹介します。
最初に書いた通り「努力しなくても作れる」よりは、「誰もがチャレンジできる」が近いかもしれません。
最初は会社単位で独自路線を展開
まだまだゲームがレッドオーシャンだった時代は、もちろんテンプレートなどはありません。
国内であれば任天堂やSEGAなどが有名だと思いますが、独自でハード(ファミコン、メガドライブなど)もソフトも作っていました。
アーケードゲームも含めて、個人で何とかする時代ではなかったのでしょう。
DirectXの登場でPCゲームが可能となる時代に発展
正確にはゲーム開発エンジンではありませんが、DirectX(1995年~)によってゲーム技術が汎用化しました。
それまでは主に専用のゲーム機が必要でしたが、家庭用PCでも動かすことを可能としたわけです。
今の用なPC普及率でもなかったため、まだ誰もが簡単にという時代ではない
DirextXとは?
簡単に言えば、ハードウェア(WindowsPC)からグラフィック機能を扱いやすくしたAPIです。
現在で言えば「NVidia」や「AMD」がGPUを作っていますが、製品が発売される度にコード修正をする必要はありません。
メモ
ざっくり言ってしまえば、内部の回路を知らなくても電化製品を使えるイメージ
より特化した機能としてゲームエンジンが登場
DirectX自体はWindows環境且つグラフィックのハードウェアに寄与するものですが、ゲームエンジンはその名の通りゲームに特化しています。
ゲームエンジンには、単純にハードウェアにアクセスする他にも3つの利点があります。
開発が簡単になり結果としてコストも抑えられる
有名どころでいえば当たり判定など、自分で作るとなれば面倒でバグらせやすいです。
アクション系ならまず必要になる機能ですし、そういったものを機能として提供することで大幅な時間の節約を狙えます。
何気に編集画面(エディタ)を見ながら障害物(オブジェクト)などを配置して、ゲームを作れるのもゲームエンジンならではです。
高品質なグラフィックが簡単に表現できる
ゲームはただ写っていればいいわけではなく、光や影なども含めて「違和感なく」見えることが大切です。
ゲームエンジンは明暗の表現をはじめ反射や発散、アニメーションなども含めて管理しやすいように設計されています。
複数の媒体に対して簡単に配信できる
この点については、どちらかというと現代の方が重要視されているでしょう。
ユーザーとしてはPCやPlayStation(PS)、Switchなどの複数媒体で遊べるゲームも珍しく感じないかもしれませんが、開発側としてはとんでもないことです。
ゲームに限らずハードウェアが違うと中身も全くの別物になるため、何十何百という時間をカットできる超強力な機能です。
ゲーム開発エンジン学習のおすすめ方法
継続しやすい方法で学習をする
何度か言及しているように、一朝一夕で何とかできるものではありません。
選択肢としては、以下のものが上がると思います。
-
公式チュートリアル
-
書籍での学習
-
サイトでの学習
-
動画教材での学習
-
スクールでの学習
上記のうち、チュートリアルは教科書っぽい感じがして取っつきにくいかもしれません。
ちなみに、私は動画(Udemyのセール中)で触ってチュートリアルで知識を埋めるような手順を取っています。
いずれにせよ、続けやすいことが大切です。
情報が古い場合があるので、レビューも参考にしつつなるべく新しいものを選ぼう!
尚、プログラミングスクールの場合は高額で長期的な計画を求められます。
以下の記事も参考にしつつ受けるかどうか考えてみてください。
一つのことに集中して学習する
具体的には、UnityとUEそれぞれを半々の時間ずつ勉強する様な方式は推奨しません。
プログラミング言語と同じく、一つ目を十分に扱えるレベルに高めた後に広げていった方が高効率を狙えます。
操作方法が違うものの中身はほとんど一緒というケースも珍しくなく、応用が効きやすい
なぜゲームエンジンは難しいと言われるのか
根本的には「イメージと違った」というところになると思います。
ではどのようなポイントでそう感じるのか、私見ではありますが言語化してみました。
「〇〇さんは××日でできた」という情報に惑わされる
お金周りや情報商材系でもあるあるですが、他人の意見というのは参考にしても当てにしてはいけません。
かける時間も考え方も、基礎知識も皆さんそれぞれ違います。
無計画なのも良くありませんが、他人の意見に釣られ過ぎないようには注意しましょう。
ココがポイント
自分でペースを決めて守れるように努力しよう
有名になっているものしか目に入らずクオリティーで挫折する
スポーツの競技人口が増えた状態
オリンピックなどで選手が活躍すると、プレイヤーが増えることはあると思います。
ゲームの分野も同様で、参入障壁が低くなってチャレンジしやすくなりました。
そうなるとインディーズでも「良作・傑作」も目に入りやすくなり、自信を無くしてしまう機会もあることでしょう。
「簡単に作れる」と「何もしなくても作れる」のギャップがある
ゲームエンジンによって、誰もが60点(及第点)を取りやすい環境になりました。
簡単な労力でリリースまでは可能
逆に言えば、誰もが完成まではできる状態であり、ユーザーから求められるレベルは上がってきているように思います。
今までチャレンジしてこなかった層とも比較される時代に
参入障壁が下がり参加人数が増えたことにより、ゲームが「天職」だと気づく人も必然的に増えるでしょう。
ゲームを作りたいと思うくらいに「目の肥えた」人が、自分で満足できるゲームを企画し制作することは相応の努力が必要です。
「動く」ゲームを作ることへのハードルは下がりますが、「満足のできる」ゲームを作るのはまた別の話だと思います。
ゲーム開発で挫折しないための方法
上記とは逆説的に、理想と現実のギャップを埋めて計画的に行動することに尽きると思います。
必ずステップアップは必要になりますので、まずは一段階目から踏んでみましょう。
一番最初は公式の製品の紹介動画を見よう
いきなり勉強を始めてもいいのですが、まず製品が何を推しているのかを知ることは大切です。
大体何ができてどういう風に勉強していくかのチュートリアルがあるので、第一歩として目を通しておくことをおすすめします。
ポイント
チュートリアル自体は迂遠さを感じることも多いです。学習自体は先のセクションで上げたように、続けやすいものを選ぼう!
短期の学習計画を立てよう
勉強をほとんど始めていない状況では、長期計画を立てるのは難しいです。
例えば、1週間~1ヵ月位の間に初期チュートリアルまで、といった目標を立てましょう。
中期計画としてプロトタイプのゲームを作ろう
サンプルでも作れるようになれば、後は作りながら慣れていきましょう。
いきなり本番は難しいでしょう。
多くの場合は小さい機能から作るようになると思います。
プロトタイプとしてではなく、本番として取り組むようにした方が身につきます
一発で完成は難しい関係上、モデルなどの機能以外の作りこみはほどほどに
長期計画を立て完成を目指そう
最後は実行に移すだけです。
ダラダラしないように目途やチェックポイントなどの計画は必ず立てましょう
売れる/成功するはともかく、1本目は特に最後までやり切ることが大切だと思います。
知り合いやコミュニティに使ってもらおう
実際に使ってもらうことは大切です。
都合よく知り合いに頼めない時は、コミュニティを頼ってみましょう。
不特定多数に投げても良いですが、「色々な人」がいる点に注意
初めのうちはある程度仕方ないものの、慣れてきたらコミュニティにも還元しよう(「お客様」ではない)
まとめ:現代はチャレンジしやすい環境で間違いなし!恐れずやってみよう!
悪い意見ほど目立ってしまうためやり辛さはあるかもしれません。
ただし、今は特別な能力がなくてもチャレンジできる環境があります。
UnityでもUEでも、別のツールでも、どれから始めても構いません。
挫折しないように環境を整えて、気軽に始めてみましょう。