もぐほり!
地質学者の一人娘「ほるちゃん」は、火山の噴火で地上へと飛ばされてしまった「モグラくん」と出会う。モグラくんを故郷へと送り届けるため、ほるちゃんの地底探検が始まる── 「ブロックを破壊する爽快感」をテーマにした3Dパズルゲーム。ツルハシで床や壁を崩し、ゴールへの道を作り出せ!
<プラットフォーム>
PC (Windows)
<ジャンル>
3Dパズルゲーム
<プレイ人数>
1人
<制作に使用したソフトウェア>
- Unity
- Visual Studio
- GitHub Desktop
- Maya
- Adobe Illustrator
- Adobe Photoshop
- Excel(仕様書作成・管理に利用)
- Minecraft(レベルデザインに利用)
など
<制作人数>
7人(プランナー2人、デザイナー2人、プログラマー3人)
<ゲームシステム>
▼ ゲームシステム紹介映像 ▼
ゲームの目標は、ツルハシでブロックを壊しながらフィールドを移動し、ゴール(赤いブロック)の真上に辿り着くことです。
ゴールに「爆発する杭」を打ち込むと...
すべてのブロックが一気に破壊され、ステージクリア!
<全9種のステージ>
▼ ステージ/ギミック紹介映像 ▼
ゴールに辿り着くためには、「ブロックを壊す順序」が重要になります。ブロックを落下させたり、特殊なブロック「あんよ岩」の動きを利用したりして、ゴールへの道を作り出す3Dパズルが楽しめます。
<担当した作業>
- 企画
- プレゼンテーション
- レベルデザイン
- 進行管理
- 仕様書作成
- プログラミング
<企画/プレゼンテーションについて>
このゲームは、大学の「ゲーム制作」という授業の中で2022年4月~2023年1月にかけて制作した作品です。
「ゲーム制作」の授業では、まずプランナーがゲームの内容を企画し、学科の先生方にプレゼンテーションを行います。
このプレゼンテーションの後、企画内容が先生方に承認された場合、本格的に制作を始めることができます。
私の最初の役割は、プランナーとしてこのゲームの企画を行い、プレゼンテーションを成功させることでした。
その後もα版発表、β版発表、ファイナル版発表と、制作の中間報告/完成報告のためのプレゼンテーションを行いました。
<レベルデザインについて>
私はこのゲームに登場する全9ステージのうち、「ステージ4」を除く計8ステージのレベルデザインを行いました。
各ステージでこのような仕様書を作成しました。ステージを生成するソースコードを意識した書き方になっています。
ゲーム中盤からは「あんよ岩」という特殊なブロックを登場させることにしました。 (詳細な説明は「ステージ/ギミック紹介映像」をご覧ください。)
制作時、スケジュールの都合から「実装できる特殊ギミックは1種類のみ」という制約が発生しました。そのため、なるべく多くのパズル性を生み出せるような仕様をデザインしました。
レベルデザイン時にはMinecraftが活躍しました。
1.Minecraftでパズルをラフにデザイン
2.ソースコードに反映してUnity上でステージを生成
3.テストプレイと細かな修正
このような流れでステージを実装していきました。
テストプレイはチームメンバーや友人に協力してもらいました。パズルの別解が見つかった時には、それを残すべきか排除するべきか、慎重に決定していきました。
レベルデザインで大切にしていたことは、「難しいパズルを作る」ことではなく、「楽しいパズルを作る」ことです。
このゲームのテーマは「ブロックを壊す爽快感」です。「ブロックを壊しながら頭を使い、謎解きを楽しめる」ということがゲームのコンセプトであり、レベルデザインの絶対条件でした。
見つかった別解は基本的に残しています。ただし、「ブロックを一度も壊さずにクリアできる」「単純な動作を繰り返すだけでクリアできる」ようなことが分かった場合にはレベルデザインを修正し、コンセプト通りの体験が得られるようにしています。
<進行管理について>
制作の初期にはExcelでガントチャートを作成・共有して各メンバーのタスク管理を行っていましたが、これはあまり効果的ではありませんでした。
初めてのゲーム制作ということもあり、ひとつひとつの作業に勉強が必要になり、作業時間の予測が正確にできなかったことが大きな要因です。
最終的には私がタスクの分担を行い、それぞれのメンバーとこまめに連絡を取り、進捗の確認と〆切の相談を行って全体のスケジュールを調整するスタイルに落ち着きました。
<プログラミングについて>
プランナーとしてゲームデザインを行う一方で、プログラマーとしていくつかのC#ソースコードを記述しました。
仕様書を正確に作成するためにC#の勉強を始めたことがきっかけですが、新型コロナウイルス感染症の影響などで発生したタスクの遅れを解消するために私もプログラミングを行うようになったという経緯があります。
実装した機能は
- プレイヤーのマス目移動
- プレイヤーの状態管理(目の前の段差が昇降可能であるか否かの判定など)
- プレイヤーのモーション遷移
- 「あんよ岩」の挙動
などです。
コライダーの衝突イベントに頼った強引な実装も多くありましたが、ここでのプログラミング経験は後の「サメのカノン」「ELECTRO HOLIDEY 」などのゲーム制作で活かされました。
その他に、Unity上で光源配置やノーマルマップの適用・調整作業などをデザイナーの方と相談しながら行いました。
<ゲームシステムなどの議論>
ゲームの核となるルールや基本操作の仕様については、チーム全員で議論しながら決定していきました。
初期には「ブロックを壊すためにポイントを消費する」「ゴールは隠されており、ヒントをもとに位置を特定する」などのアイデアがありましたが、ゲームのテーマである「ブロックを壊す爽快感」を実現するためには不適切だったため、取り除いていきました。
メンバーそれぞれがプランナー・デザイナー・プログラマーという専門の領域を持っていますが、それらにとらわれず様々な役割を果たし、よい作品づくりができたと思います。