C#
game
Unity
Unity入門

ミニゲームを作ってUnityを学ぶ! [ ひつじコレクション編 - イントロダクション ]

前回「3Dマインスイーパー編」に続いて第3弾!
ゲーム作成の定番、ドットイート型ゲーム(の亜種)をお題にしました。

Unity初心者の筆者

チュートリアルの「玉転がし」「シューティングゲーム」は完成した!
次はミニゲームを自作してUnityで出来ることを増やしていこう!

そんな経緯がありまして、後学のために開発したゲームっぽい何かの作り方を1から解説していきます。
*使用言語はC#で解説内容は上記2点のチュートリアルが完了していることを前提としています。

お題:ひつじコレクション

どんなゲーム?
たいへん、たいへ~ん!
ひつじさん達が森の中に入っていっちゃったみたい!
スライムに捕まらないように、なるべく多くのひつじさんを連れて帰ろう!

スクリーンショット
action_sheep_0.jpg

完成品をプレイ(PC専用 -- WebGL)
こちらから(少し読み込み時間があります)

Enterキーを押してプレイ開始。

[W/A/S/D] プレイヤーの移動
[Backspace] リスタート

ひつじさんを連れて赤色のBOX内に到達するとポイントが獲得できます。
ひつじさんを一度に多く運ぶほど獲得ポイントが上昇しますが、連れているひつじさんが多いほどプレイヤーの移動速度が低下します。

*TOP5に入るスコアはオンラインランキングに登録されます。

作り方(更新中)

1. プレイヤーキャラクターの作成
プレイヤーの制御・アニメーション・アニメーションイベント・ビヘイビアなどを設定します。

2. ステージの作成
Resourcesフォルダからファイルを読み込んでステージを動的に生成します。

3. フォロワーを作成
一定時間毎にひつじさんをポップアップさせます。

4. フォロワーに追従機能を実装
NavMeshの動的なBakeによってひつじさんをプレイヤーに追従させます。

5. ゴールエリアとスコアを実装
ステージ内にゴールとなるオブジェクトを設置し、スコアの概念を実装します。

6. チェイサーの作成
プレイヤーの邪魔をする敵キャラクターを3種作成し、それぞれ異なる行動AIを実装します。

7. チェイサーとの当たり判定を実装
プレイヤーまたはひつじさんが敵キャラクターに当たったときの処理を実装します。

8. ミニマップを表示
画面下部にミニマップを表示し、視界の悪さを改善します。

9. ゲームの開始と終了
シーンの流れを制御してゲームに開始と終了の概念を実装します。

10. UIの作成(1)
ゲームに必要なUIを作成し、DotweenによるUIのアニメーションを実装します。

11. UIの作成(2)
引き続きその他UIを作成し、併せてゲームに時間制限を実装します。

12. パフォーマンスチューニングみたいなこと(1)
Tris, Verts, SetPassについてチューニングを行い、パフォーマンスを向上させます。

13. パフォーマンスチューニングみたいなこと(2)
引き続き、描画部分の修正を行います。

14. オンラインランキングを実装
ニフティクラウドMobaileBackendを使ってオンラインでのランキングを実装します。

スクリプト

ひつじコレクションのスクリプト(GitHub)

上記リンクより今回のスクリプトをダウンロードすることができます。
記事内ではどうしてもコードが飛び飛びになってしまって全体像が掴みずらいため、解説がわかりにくい場合なんかはこちらを見たら解決するかもしれません。

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

ユニティちゃんライセンス

この作品はユニティちゃんライセンス条項の元に提供されています