今回は2D/3Dゲームのどちらを作ったほうがいいか?という点に関する話題で、
というお話です。
私は執筆時点で35作品以上のゲームを開発してきて、そのうち3Dゲームも18作品作ったのですがどれも大変すぎて毎回半泣きになりながら作っていました。まあ流石に最近は慣れてきたものの、個人開発の場合はやっぱ3Dは気軽に手を出していい代物ではないよなぁと思う次第です。
そこでここでは
- 3Dゲーム開発のどんなところが大変なのか
- それを踏まえて、私が初心者の方に2Dゲーム開発をお勧めする理由
といったことについて書いていきますね。
なぜ3Dゲーム開発は大変なのか?その5つの理由
では早速ですが3Dゲーム開発が大変な理由を、2Dゲーム開発と比較しながらご説明しようと思います。主な理由としては次の5つが挙げられます。
- 高品質な3Dモデル素材を用意するのが難しいから
- 2Dより複雑なプログラムが必要だから
- 奥行きがある分レベルデザインも手間がかかるから
- 処理速度・ファイルサイズの二つの意味でゲームが重くなりやすいから
- 見た目がショボくなりやすいから
それぞれ詳しく見ていきましょう。
高品質な3Dモデル素材を用意するのが難しいから
まず一つ目の理由は、高品質な3Dモデル素材を用意するのが難しいからです。
3Dゲームに使われる3Dモデル素材は、立体物である都合上制作工程が多く自作するのがとても大変です。例えば3Dキャラクターを1体完成させるまでには主に次のような工程が必要になります。
- モデリング:3Dモデルの形状を作る
- リギング:3Dモデルを動かせるようにするために必要
- UV展開:テクスチャをどのように貼り付けるかを指定する
- テクスチャ制作:3Dモデル表面に貼り付ける画像を作る
これらの工程は一つ一つが結構難しく、きちんと習得できるまでに時間もかかるのでゲームを作りつつ自力で高品質なモデルも作るのは至難の業です。
また3Dモデルは作るのに手間がかかる分、購入するとなれば高価で数を揃えるのが難しいですし、仮に数をかき集めることができても作者によって品質や画風がバラバラだったりするので見た目を統一するのも難しいという問題があります。
したがって個人開発だと
- 3Dモデルがアセット頼みになり、お金がかかる上に見た目も他のゲームと似たような感じになってしまう
- かといって自作するのは手間も時間もかかり困難
といった状況になってしまいがちです。これは3Dゲームを作る上では非常に悩ましい問題ですね。
2Dより複雑なプログラムが必要だから
次に二つ目の理由は3Dゲームは2Dゲームよりも複雑なプログラムが必要だからです。
3Dゲームは2Dゲームと比べると、例えばキャラクターの移動処理が桁違いに難しくなります。3Dゲームの移動処理は奥行きの概念が増えた分複雑になりがちでプログラミングやソースコードのメンテナンスが面倒くさいですし、きちんと動くかテストする時もより多くのパターンを試す必要があって大変です。
奥行きがある分レベルデザインも手間がかかるから
さて三つ目の理由は、奥行きがある分レベルデザイン(=ステージなどの制作工程)も手間がかかるからです。
2Dゲームであれば平面上にパーツを配置していくだけですが、3Dゲームの場合は当然ながら奥行きまで考えて立体的にステージを作らないといけないので余計に手間がかかります。また、作る手間だけでなくテストプレイする時もチェックしないといけない箇所が増えるので、そちらのほうでもかなりの時間や労力が必要になってしまいます。このへんは地味ながら非常に面倒くさい部分です。
処理速度・ファイルサイズの二つの意味でゲームが重くなりやすいから
四つ目の理由は、3Dゲームは処理速度とファイルサイズの二重の意味でゲームが重くなりやすいからです。
先ほどお話しした通り、3Dゲームでは複雑なプログラムが必要になってくるのでその分処理が重くなりがちです。さらに3Dモデルを綺麗に見せるためには高解像度のテクスチャが多数必要になる場合も多く、ゲームのファイルサイズが肥大化しやすい傾向にあります。つまり3Dゲームを下手に作るとゲームが処理落ちしてカクカクしたり、メモリやストレージを無駄に圧迫したりするようになってしまうのです。
もちろん2Dゲームでも(特にスマホ向けの場合は)そのようなことにならないとは限らないわけですが、2Dゲームの場合は割と適当に作っても問題なく動くのに対して3Dゲームはそうはいかないのが難しいところだと思います。
見た目がショボくなりやすいから
最後に五つ目の理由は、3Dゲームは見た目がショボくなりやすいからです。
突然ですが皆さんは「個人開発の3Dゲームって、なんかグラフィックがショボいのが多いな」と感じたことはありませんか。たぶん皆さん多かれ少なかれそういうことを感じたことがあると思います。一方で、不思議と2Dゲームに対してはあまりそういう印象は受けないかもしれません。
実はそのような差が生じてしまう理由は、3Dゲーム特有の「ライティング(=照明)」による部分が大きいと私は分析しています。3Dゲームの場合は光の当て方によって画面の見栄えが全く異なってくることがよくあります。サンプルとして次の2枚の画像をご覧ください。
これはUnityのデフォルトのライティング(1枚目)と改善後のライティングの例(2枚目)で、照明に関わるところ以外は全く同じです。全然見栄えが違いますよね。
このように3Dゲームはライティング次第で見た目が全く違ってくるのですが、ライティングをうまく調整するためには別途専門知識が必要になってきますし、そのゲームに合ったライティングにするにはやっぱり手間がかかります。したがって個人開発ゲームはそこまで手が回らず、ダサい画面のままゲームをリリースしてしまい「このグラフィックダサいな…」と思われてしまう場合が往々にしてあるのです。
またそれ以外に画面がダサくなる原因としては、(一つ目の理由で述べたように)ゲームに使われている3Dモデルの品質が低かったり、見た目に統一感がなかったりといった点が挙げられる場合もあります。つまり3Dゲームは見栄えに関わる部分が幅広いので、見栄えよく調整するのに手間がかかるというわけです。
3Dゲーム開発は大変だけどロマンがある
さて、ここまでの内容で3Dゲーム開発の大変さ・難しさを何となくご理解いただけたと思います。先ほどまでの話は別に初心者の方への脅しというわけではなく、上記のような大変さがあることを前もって知っておいていただけると変に挫折しなくて済むということなので参考になさってください。
…とはいえ、もちろん3Dゲームの開発は楽しいことも大いにありますし、なんと言ってもロマンがあるという点は強調しておきたいです(そうでなければ私自身18個も3Dゲームを作りません)。3Dゲームは個性的な表現や新しいデバイス(VR等)との相性が良いので、そういうのが好きな方なら本当に面白くて挑戦しがいがあるのは間違いないでしょう。
ただそういったメリットと引き換えに2Dを上回る過酷さもあるのが3Dゲームなので、特に個人開発する場合は下手をすると頓挫する可能性が高いという点はくれぐれもご注意いただきたく思います。
ゲーム開発初心者は無理せず2Dゲームを作ろう
というわけでここまでの話を踏まえると、ゲーム開発初心者の方には2Dゲームを開発することを強くお勧めします。
というのは、やはり初心者のうちは
- ゲームを作って完成させる
- 作ったゲームを公開して意見をもらう
- 意見をもとにゲームを改良する
といった一連の流れを体験することが重要なので、まずはゲームを完成させるところまで持っていくことが何よりも大切だと思うからです。そのためにも必要な工程が少なくて完成させやすい2Dゲームがおすすめというわけですね。
ちなみに個人的には最初の2〜3作くらいは2Dゲームを作ってコツをつかみ、ゲーム開発に慣れてきたら3Dゲームに挑戦する…という流れが一番やりやすいかなと思います。
おわりに
以上、3Dゲーム開発の大変さや初心者の方に2Dゲーム開発がおすすめな理由について書いてきました。ぜひ上記の内容を参考にしていただき、無理のない形で3Dゲーム開発に挑戦していただければと思います。
この記事がゲーム開発で何かしら参考になれば幸いです。