[Unity本 紹介] たのしい2Dゲームの作り方 Unityではじめるゲーム開発入門

[Unity本 紹介] たのしい2Dゲームの作り方 Unityではじめるゲーム開発入門
「たのしい2Dゲームの作り方 Unityではじめるゲーム開発入門 [著]STUDIO SHIN」は制作するゲームを2Dに絞ったUnity教則本である。”入門”なんて書いてあるが、私の感覚ではC#をある程度理解しており、かつ他に1冊か2冊ほどUnity本で学び終えた初学者向けである。この本でUnityを始めるのは相当な覚悟がいると思う。
かと言って説明不足だとか不親切とかいう本ではない。それとはまったくの逆で、けっこう細かいところまで説明されている。しかしまっさらの初心者はこれらの情報を全部受け取る準備ができていない。各コンポーネントやパラメータの詳しい説明は、ある程度Unityを触った経験があれば深い学びになるが、初心者が一度に受け取るには情報が多すぎると思う。
この本で制作するゲームは簡単に言うとスーパーマリオ風アクションゲームとファミコンのゼルダの伝説風アクションゲームだ。横スクロールと見下ろし型の2Dゲームの基本的な仕組みはだいたい学ぶことができる。ここから調整や肉付けをしてゆけば、豪華なオリジナルゲームへと発展させることも夢ではないと思う。
多くの方は(特に若い方は)3Dゲームの制作を目指していらっしゃることだろう。私はファミコン世代なので2Dゲームに対する憧れが強いから、自作のゲームも2Dで制作するつもりでいる。だが3Dでのゲーム制作を目指している方も、気が向いたらこの本を手に取ってみてもいいかも知れない。宝箱からアイテムがピョコンと飛び出す演出やボス戦時のカメラなど役立つかも知れないし、3Dであえて2D風な画面を作りたい方の参考にもなるかも知れない。
どっちにしろ、Unity教則本の2冊目・3冊目に迷っている方にオススメだ。完成するゲームは2つだが、得られる技術や情報はかなり多い。この本を手にとってみる価値は十分にある本だと思う。
内容をChapterごとに紹介
問題のない範囲で本の内容をイメージできるように各CHAPTERごとに簡単に紹介したい。
第1部 ゲームを作る準備
Chapter 1
最初にゲーム開発に必要な要素や基本、機材(PC)とUnityの説明。さらにUnityのインストールとUnityにおけるゲーム開発に必要な構成要素の説明。ゲーム制作とUnityの基本中の基本からとても分かりやすく説明してくれている。
※UnityのインストールとVisual Studioとの連携については最新の情報をネットで調べたほうがいい。
Chapter 2
Unityで初めてのプロジェクトを立ち上げる。新規でのプロジェクト作成から画面のビューやツールバー・ボタンの説明。簡単なゲーム画面の作成をしながらコンポーネントや画面の操作を学ぶ。思いのほか細かく解説してくれているので、Unity操作の基本がキッチリ学べる。
Chapter 3
最後はスクリプトでキャラクターを動かしてみて終了。C#についての簡単な解説も掲載されているが、時間や資金に余裕があるならばC#の教則本で基本を学んでおいたほうがいい。他言語を経験済みの方はザッと目を通すくらいでも理解できるだろう。
第2部 サイドビューゲームを作ろう
Chapter 4
スーパーマリオ風の横スクロールのジャンプアクションゲームを作る。プレイヤー操作、ブロック、クリアとゲームオーバーの仕組みをプログラミングする。それぞれがChapter分けできるような内容をギュッと詰め込んでいる。第1部で書いたスクリプトを再利用するとはいえ、まったくの初心者には厳しいと思う。とはいえ写真も多く説明も丁寧なので、じっくり取り組めば得るものも多いだろう。
Chapter 5
前Chapterで作ったゲームのUI(ユーザーインターフェイス)の作成。スタートボタンなどのボタン類やクリア表示などを作る。画像を調整したりボタンに文字を付けたり。本に書いてあるとおりにするだけなので、特につまづくところは無いだろう。
Chapter 6
スタート画面を作成し、スタートボタンを押すとステージ1から始まるようにする。ステージの幅を広げて画面をスクロールさせるようにする。背景を多重にしたりカメラがついて来るようにしたりする。ステージに時間制限を設けて時間表示を設置する。さらに得点アイテムと得点表示を設置する。ステージをクリアしたあとのリザルト画面を作成、トータルスコアを表示しタイトルへ戻るボタンも設置する。
Chapter 7
ダメージブロックや動くブロックを設置。スイッチで現れるブロックや弾を打ってくる砲台でステージを複雑にする。さらに敵キャラを配置して難易度を上げる。ゲーム中のBGM・SEを追加。最後にマウスやタッチパネル操作に対応させる。これでひと通りゲームが完成する。あとは自分でステージを作ったり操作性の調整や敵のバリエーションを増やせばそれなりのゲームになるだろう。
第3部 トップビューアクションゲームを作ろう
Chapter 8
初代ゼルダの伝説風の見下ろし型アクションゲームを作成する。同じサイズの画像を並べてマップを作るタイルマップという方法で世界を作る。草地・海・山などのタイルを切り出してパーツとして使用する。パーツを配置し、当たり判定を追加したりして世界を構築してゆく。
プレイヤーキャラクターも同時に作成する。360度8方向へ移動する、武器(弓矢)を持たせる、キャラクターと矢に当たり判定を追加する。思ったより大変な作業だが、動かしてみるとその感動もひとしおである。
Chapter 9
フィールドからダンジョンへのシーン移動を実現する。宝箱や矢などのアイテムを配置する。敵を配置する。アイテムやHPを管理しUIに表示する。スマホでの操作に対応させるために、ヴァーチャルバッドを画面に表示する。ここまででゲームの基本部分は出来上がる。アイテムやHPは増えたり減ったりするし、その度に画面の表示が変わるのでスクリプトは複雑に絡み合う。個々のスクリプトの関係をしっかり把握することが重要だ。
Chapter 10
スタート画面を作成。アイテムや開いたドアなどを記録保存して、コンティニューできる仕組みを作る。ゲーム中のオブジェクトの数や状態を管理するのは大変な作業で、一つ一つ丁寧にスクリプトを書かないといけない。思い通りに動かなくて原因を探しまくった結果、ただの綴りや番号のふり間違いだったなんてことはよくある失敗だ。
ボスを配置し各種BGM・SEを設定する。ボス戦では時間で矢を生成したりボスの攻撃モーションを作ったりする。ボス戦では敵のスケールが違うのでボス用にカメラを設定して、ボスの攻撃や自分の放った矢がよく見えるようにする。
見下ろし型のアクションゲームの完成。ダンジョンへの移動や宝箱からのアイテム入手など、”知りたい仕組み”のヒントが満載。自分で作るときの大きな助けになると思う。
感想
個人的にはかなり勉強になることが多かった。扉によるステージの移動や宝箱の演出など、定番の表現が学べた。単なるステージのセーブではなく、所持アイテムをそれぞれ維持しながら保存する方法も学べた。武器の角度で8方向の表現をするのも面白い。ボス戦でのカメラ位置の変更もなるほどと思った。
どちらのゲームも馴染み深いジャンルのゲームなので、作っている最中はワクワクしっぱなしであった。見慣れた仕掛けや演出を自分で再現できるのはとても楽しい。また、この本には書かれていない武器や仕掛けを再現するには、どういったスクリプトを書けば良いのか考えるのも楽しかった。
Unityで開発を行う場合(特に個人でやるなら)、作りたいジャンルのテンプレートを購入してアレンジした方がはるかに効率的だし、比較的手軽にリッチなゲームができるだろう。しかし、ひとつひとつ自分らしい調整をしながら作るというのもアリなんじゃないだろうか。まぁ時間はかかってしまうだろうけど。
ゲームといえば3Dなのが当たり前の時代に、この本がどれだけの需要があるのかは分からない。私は今回この本で2Dゲームを作ることで、小学生の頃にあこがれた”ゲーム会社の人”に近づけたような気がしてとても嬉しかった。こういう気持ちを思い出せたことが、私にとってこの本で得た最大の収穫だった。
私のようなノスタルジーな気持ちの無い方も、作るなら3Dゲームでしょという方も、ステージの仕掛けやセーブ周りに関する考え方なんかは”応用がきく”知識だ。少し寄り道をするような気分で2Dゲームに手を出してみてもいいんじゃないかと思う。きっと学べることがあるはずだ。