TickTackBanBan

概要

  • チクタクバンバンっぽいゲームを作る

開発環境

  • Unity2021.3.4f1
  • Microsoft Visual Stdio 2022

やった事

マップパイルの作成

  • 3Dのキューブオブジェクトで作成
  • マップの種類を定義、それぞれに情報を持たせて表示させた。

マップを作る

  • パイル射出後のマップ上のレイアウトを作った。
  • レーン数を指定可能なリスト配列を作成し、凸凹地形を再現できるようにした。

やること

マップパイルの作成

  • マップパイルの情報に対して、マップ内でルート形成ができるかの検証

マップを作る

  • スタート地点を作る(手動or決め打ち)
  • 自動でスクロールする

ゲームシーン
パイルを射出させる

  • フッター(画面下の部分)に4枚パイルを並べる
  • フッターのパイルをタップして、タップした地点からXポイント以上タップしたまま動かす(ドラッグしようとした)場合、射出モードになる。
    • 射出モードになると、画面下、射出予定のラインにパイルが移動する
    • タップのX位置にあわさる。Yは変化しない。
  • 指を話すと、パイルが射出され、くっつく
    自機
  • スタートから一定数出てきて、ルートに沿って歩く
    • パイルに侵入したらまずパイルの**を目指して動きその後、次の面に向かう
    • ルートは複数存在しない
    • 進めなくなるか、スクロールに巻き込まれたらゲームオーバー

思った事(適当な自問自答とか気付きのメモ)

NavMeshAgentで射出後にベイクするのって非効率なのかな?
少し前に経路探索するのにNavMeshを使って、その時にNavMeshAgentってのを使うとゲーム再生中に経路のベイクが出来るって知った

  • マップパイル個々に情報を保持させてゲームシーン上で管理するより、適当な通行可能領域を指定した後にゲーム中に自機からゴールである下に向かってNavMeshする方がコード的にも複雑にならないんじゃない?
    • 複数のルート、無限ループ時の処理が出来なくなる…?
    • そもそもNavMeshのベイク自体重たくなかった…?

そもそもこれ3Dでやる意味ある?
* そもそも俺が3D苦手で2Dの方が好きだし楽ってのもある

  • 真剣に考えて、ハイカジュって遊んでるとほとんど3D系のゲームだし、売れるハイカジュを作りたいなら2Dってのは愚策なのか…?

配列リストって頭悪い????
全体を扱う配列親クラス、縦のタイルをリストで管理する子クラス、その直下に個々のタイルを管理するという方法を取った。

  • タイルの横の数は定数で決まってるからいいけど、射出してくっつく方(縦)のタイルって数に決まりがあるわけじゃない。
  • 歪にタイルを組んでいくと凸凹になるのを再現するにはどうしたらいいか?↓
    • 今の自分には縦に積まれていくタイルのリストを作って、それをマップとして制御する横の配列を作って管理する方法しか思いつかなかった。
    • 一応ほぼ配列的な組み方だし、凸部分でカーブするとタイルがない(行き止まりの)判定も出来るし問題ないかな…?って楽観的に考えてる。

ヤベェ
☆作業が終わらない☆

  • 主な原因は設計不良?
  • パイルの情報とか管理に必要なものは粗方作れたけど、それをゲーム上で管理するにはどうしたらいいのかが分からん。
  • そもそもパイルに必要な情報を組み込めたところでデータをどう扱うか考えられていないのってダメじゃん。
    • どのデータをどこで扱っているかもう少し整理してから(ってやってたら時間ないけど)全体を慎重に組み直す必要あり。
  • 3D用のGridLayoutGroupがあれば楽だったのかな…?
    • 違ェ、あれって子オブジェクトを詰めて表示するから、このゲームの設計には向かないか。