Edited at

ミニゲームを作ってUnityを学ぶ! [ 3Dマインスイーパー編 - イントロダクション ]

More than 1 year has passed since last update.

前回「タンクウォーズ編」に続いて第2弾!

今回はもう少しシンプルなお題を選びました。


Unity初心者の筆者

チュートリアルの「玉転がし」「シューティングゲーム」は完成した!

次はミニゲームを自作してUnityで出来ることを増やしていこう!

そんな経緯がありまして、後学のために開発したゲームっぽい何かの作り方を1から解説していきます。

*使用言語はC#で解説内容は上記2点のチュートリアルが完了していることを前提としています。


お題:3Dマインスイーパー

どんなゲーム?

おなじみ、かつてはWindowsにプリインストールされていた地雷撤去ゲーム。

正方形のマスが並んだフィールド内でプレイヤーはそのマスを1つ1つ開けていく。

マスは地雷マスと通常マスの2種類があり、地雷マスを開けてしまうとゲームオーバー。

地雷マスを1つも開けずに通常マスを全て開けることができればゲームクリア。

また、通常マスを開けた場合はヒントとして隣接1マス以内にある地雷の数が示される。

プレイヤーはマスを開けるアクションの他に、地雷だと思われるマスにマーカーを付けることができる。

スクリーンショット

unity_sweeper_ss_0.jpg

完成品をプレイ(PC専用 -- WebGL)

こちらから(少し読み込み時間があります)

難易度を選択したらSTARTボタンを押して開始。

[W/A/S/D] カメラ移動

[左クリック] マスを開ける

[右クリック] マスにマーカーを付ける


作り方

1. 下準備

2. ブロックを作る

3. フィールドを作る

4. ブロックを操作する

5. ゲームの進行

6. 機能の追加


スクリプト

3Dマインスイーパーのスクリプト(GitHub)

上記リンクより今回のスクリプトをダウンロードすることができます。

記事内ではどうしてもコードが飛び飛びになってしまって全体像が掴みずらいため、解説がわかりにくい場合なんかはこちらを見たら解決するかもしれません。

尚、こちらのコードは今回の解説用に書き直したモノではなく実際のWebGLアプリに実装されているコードのため、コメントアウトされた未使用のメソッドがあったり、そもそものメソッド名・フィールド名が異なる場合があるかもしれません。

その場合は記事の内容を優先してください。