ゲーム開発初めたては...ツライ!!
筆者はUnityでゲーム開発を初めて2年半ほどです。
まったくの無知の状態から、設計、コーディング、シェーダー開発、エフェクト制作、UIデザイン、アニメーション、ネットワーク通信、サーバー構築などなど、ゲームを完成させるために必要なありとあらゆる知識を吸収して、このブログ等でも発信してきました。
プロジェクトでなにか問題が起きても、大体は解決できますし、なんなら最近は問題が出ると、少し楽しめるくらいの心持ちまでにはなりました。ゲーム開発は本当に楽しいです。
ですが、ゲーム開発を始めたての頃は、とっても辛かった記憶が残っています。
もともと私は文系で、プログラミングを本職でやってきたわけでもなく、やりたいことはあれど、何をやっても分からないことだらけ。インターネットの記事を見ても、エンジニアをやっている人に向けた記事が多く、初心者にとって理解しがたい記事ばかり。そんで、コピペでコード貼り付けてエラーになって...。
Unity独自の用語も意味不明な内容ばかり。
少しプログラムが分かるようになったところで、今度はデザインや演出のこともわからないから、The・初心者丸出しのゲームしか作れない。そして、ゲームを作ったところでだーれも反応してくれない。最初の1年近くは本当に苦しかったです。
そこで、ゲーム開発始めたての過去の自分が知りたかった、より楽しく・より効率的な学習・開発が出来るようになるために知っておくべきことをまとめました!
最初は3Dゲームを作るな!
最初に作るゲームは2Dゲームにしましょう。
確かに3Dゲーム制作のチュートリアルはたくさんありますが、初心者は3Dに手を出すと間違いなく苦労します。
なぜなら、3Dのアセットを使う場合、2Dゲームには無い以下の点を考慮する必要があります
・アセットで購入したシェーダーが使えない(URPとBuilt-Inの違い)
・パフォーマンス
特にUnityのシェーダー問題はいろんな罠があり、初心者をつまずかせる最大のポイントです。
無料で販売されているBoothやUnity Asset Storeで売られているアセットには、Built-Inしかサポートされていないものも多いですが、URPでゲームを作っている人が割合としては一番多く、アセット買ったはいいもののピンクじゃん!ってことがよく起きます。

ある程度知識があれば、Built-InからURPに移行させる作業はそこまで難しくないのですが、初心者がこれをやるのは結構難しいです。自動でできるツールもありますが、うまくいかないことも多くあります。
しかも、シェーダー関連の情報は、初心者お断りなものが多いです。正直シェーダーの学習はまじでムズいです。
なにか問題が生じて、ググっても解決しようとしても、初心者のあなたが解決出来ない可能性は高いでしょう。
特にBoothで販売されているアセットは、VRChat向けのものが多いのですが、VRChatがサポートしているのはBuilt-Inだけです。一方、ゲーム開発をする方はURPで制作することが多いので、ピンク色のアセットに頭を抱えることになるでしょう。

また、パフォーマンスも、ゲーム開発者が広く頭を悩ませる問題です。
無料の3Dアセットを入れてゲームを作っても、一般的なノートPCではまともに動く可能性は低いです。
この程度のアセットで、こんなにカクつくの!?と驚くことになります。
そして、パフォーマンス改善作業は、長年の経験者でも苦労する領域です。
初心者の知識で、良い見た目のアセットを買って、カッコイイ見た目のゲームでまともに動かすことは間違いなく出来ません。
なので、まず完成させるとしたら2Dゲームからなのです。2Dゲームと3Dゲームでもベースの考え方に違いはありません。まずは2Dのゲームを作りましょう。
結論:最初に作るゲームは2Dゲームにしよう!
無料で使えるいい感じのアセットを使う
誰しも始めたてのころは、お金をかけたくないと思います。
ですが、UnityAssetStoreにある無料のアセットは「なんかコレジャナイ」ものが多数あります。
そんなあなたにおすすめするのがKennyアセットです。
変にいろんなストアでいろんなものごちゃごちゃ組み合わせるより、同じところのアセットだけで作った方が見栄え的に良くなることの方が多いです。
また、フォントは、Google Fontsから探すのがおすすめです。個人的なおすすめは、M+フォントです。無料で使える高品質なフォントで、大手のゲームでもよく採用されています。
Unityでゲーム内にフォントを使うと、いろんな落とし穴があります。ビルドされると日本語が表示されなかったり、入力が出来なかったり。TextMeshProとTextでコードが変わったり。私は何度も躓いたので、躓いた時の対処は全部このブログに書きました。困ったことがあったら、上の検索欄から調べてみてください。
結論:絵が描けないなら、Kennyアセットを使って作れ!
公開しただけでは、あなたのゲームはほとんどの人に見てもらえない
Youtubeしかり、SNSしかり、ゲームもそうですが、あなたとリアルで交流が無い人が、あなたが作ったゲームを見つけて、勝手に遊んでくれる可能性はほぼありません。
だって、全然知らない初心者が作ったゲームをあなたは遊んだことありますか?
ほとんどの人は無いと思います。
「もしかしたらバズっちゃうかも...!」
「いっぱいダウンロードされて、お金が入るかも...!」
なんてことを考えている人もいるかもしれません。
ですが、もしあなたが何者でもないのであれば、自分への期待値は出来るだけ低くもっておいた方が良いです。
その期待をくじかれた後に、乗り越えられるかが適性があるかどうかの分水嶺になる部分もあるので、あえて挫かれてもいいっちゃいいのですが。
ただ、ゲーム制作が楽しいと感じて、それをもっと続けたいなと思うのであったら、自分に期待値を高く持ちすぎないことです。
いろんな開発者と会って話してきた中で、初めて作った1本目で大ヒット!となった人を見たことがありません。
私は、”天才”とは、最初から何でもできる人ではなく、好きの熱量が他人より多い人、だと思っています。
数々の失敗や駄作を繰り返してもなお、PDCAを回して、飽きずにより良いものを作る挑戦をし続け、結果を出せる人こそが真の天才です。
まだ1作も世に出せていなかったら、あなたは100%天才ではありません。
失敗したり、反応をもらえなかったとしても、とにかく作り続けることです。そのためには、まずは完成させ、公開することです。先に完成日を決めてそこまでに出来たものを完成にするのがよいでしょう。
また、1作で最高傑作を目指すと、期待値と現実のギャップに挫折感を味わうことでしょう。
そうではなく、「長期的なビジョンの中のスタート地点として、この作品を公表するんだ」というモチベーションで公開することをおすすめします。
結論:自分に期待値を高く持ちすぎない!
アセットの購入費用をケチらない
趣味の範囲でゲームを作るとなった時に、アセット購入費用を出来るだけ使いたくない気持ちは非常に分かります。
ただ、私の意見としては、アセット購入費用をケチらない方が圧倒的に早く学習出来るので、良いアセットは出来るだけ買うべきだと思っています。
なぜかというと、基本的にアセットというのはその道のプロか、プロに近い人が作っているものです。ゲーム会社の中で働いても無い限り、その道のプロの成果物を見る方法はありません。
ですが、アセットを買うだけでプロの成果物を、設定値単位で見ることができるのです。こんなお得な学習素材はありません。
購入したアセットをそのまま使うだけにしてはもったいないです。購入したら骨までしゃぶりつくしましょう。
一番のおすすめは、購入したアセットを自分で改造することです。
たとえば、エフェクトアセットだったら、パーティクルの速度や、色などを自分で変えてみたりすると、どこをどう変えれば何が起きるのかが分かるようになります。
あ、私もアセットを販売していますので、ぜひこちらも見ていってくださいね(ダイレクトマーケティング)
結論:質の高いアセットを購入して、骨までしゃぶり尽くせ!
世の中の良いモノを分析して自分の糧にしよう!
突然ですが、みなさんはレストランでご飯を食べた時にどんな感想が頭に浮かびますか?
私は1年間で320日くらい料理をしています。
ですが、料理を始めるまでは、レストランに行っても、
「おいしいな~」、「まずいなぁ~」
くらいの感想しか出てきませんでした。
料理を真面目にやり始めると、こういう感想になっていきました。
「ここの麻婆豆腐はひき肉ではなく、牛すじを使っているので、風味や食感が違う!」、「ここのイタリアンドレッシングは、ごま油・醤油が入っていて日本人向けのアレンジがされている、醤油の角もしっかりと取れていてとっても食べやすい!」
麻婆豆腐もドレッシングも自分で作ったことがあるからこそ、食べた時にこういった観察ができるようになるのです。
ゲーム制作も同じです。
自分でゲームを作ってみると、いかに自分の作ったものと、世の中に出ている「スゴイゲーム」と差があるかが分かるはずです。「やっぱり大手のゲームはスゴイなぁ~」と思っているだけだと、自分で作れるようには一生なれません。
やるべきなのは、「自分が良い/悪い」と感じたものを、しっかりと要素分解して言語化することです。
スロー/リピート再生をしたり、自分なりの改善案を考えたり、同じようなものを自分でも作ってみたりして、具体的に何が良いのか/何が悪いのかを言語化してみましょう。
スイカゲームのフルーツを別のオブジェクトに差し替えただけのゲームを作っていても、あまり成長はしません。
ですが、要素を分解できるようになると応用が効きます。スイカゲームが面白いと感じたら、なぜ面白かったのか、その要素を分解してみるときっとあなただけのオリジナルのゲームが作れるはずです。
例えば、
・いまにも崩れそうで崩れないグラグラ感が面白いのでは?
→2人プレイでお互いにオブジェクトを積み上げていって崩したら負け、というゲームにしても面白くなるかも。
・自分で落とす位置を決める予測可能な制御と、物理演算による予測が難しい制御の組み合わせが面白いのでは?
→風の影響を考慮しながら、高い位置からボールを落として、ホールインワンさせるゲームでも面白くなるかも。
こんな感じで、面白いと感じたものを要素分解し、それを水平思考していくと、あなただけのオリジナルのゲームアイディアが作れるはずです。
テレビドラマの演出、電車内のモニターのUI、映画の映像表現、アニメの演出などなど、日常の中にあなたのゲームを良くするキッカケはたくさん眠っています。
いろんなことに目を配り、良いと感じたものを要素分解して言語化していく作業をしていくと、より良いもののストックがあなたの中に溜まっていき、より良いアウトプットに繋がるはずです!
結論:世界をより広く見渡して、自分の作品を高めるための観察眼を養おう!
まとめ
私は、大学卒業後、ずっと企業の中で使う業務システム開発をしていました。
数値さえ正しければ見た目は何でもいい、そんなものをずっと作ってきました。
ですが、ゲーム開発を始めて、数値が正しいものを作るだけでは誰かを楽しませることは出来ないと気づきました。
プログラミングができるだけでも、絵が書けるだけでもだめで、デザイン・演出・心理学等々、ありとあらゆるものを学習しなければ本当に良いゲームは作れないという、ゲームの奥深さを日々堪能しています。
その奥深さ故に、ゲームを作りを始めたての人は、理想と現実のギャップに苦しむことも多いと思います。
ですが、千里の道も一歩から。
この記事が少しでもそんなあなたの役に立つことを願っています。
それでは素敵なゲーム制作ライフを!
コメント