見出し画像

GameAWeek2-1 クリックゲーム

GameAWeek 2作目 クリックゲーム
今回の目的 オブジェクトプールの習得

【今回の振り返り】
①Unity標準実装のオブジェクトプールはどれ?
②スパゲッティ職人 爆☆誕
③UIなどの一元管理
 の3本でお送りします。

①Unityのオブジェクトプールとは
オブジェクトプールを実装するためには、まずオブジェクトプールを知らねばならぬ、と様々な記事を拝読しました
そして問題が発生

解説、書き方が記事で全く違う ということ

オブジェクトプール自体、Unity独自のものではなくデザインパターンの1種、ということはわかりました
そのためUnityに標準実装される以前の記事、つまり自作したものも多く記事として存在していました

自分が知りたいのはあくまでもUnityに標準実装されている「UnityEngine.Pool」のこと
Unity公式の解説サイトは、一目見て諦めました
それは何故か・・
答えは簡単、初心者には内容が難しすぎてわかりませんでした

ラムダ式?deligate?Func??
入門したての自分にはまだまだ難しい内容でした
ではどうしたかというと
ChatGPTに「ラムダ式を使わずにUnityEngine.Poolの解説をして」
と頼みました
そうしてやっとのことで、オブジェクトプールの基礎の基礎を理解するに至りました
正直言うと、まだ手を出すには早かったかもと思いました
しかし、入門では学ぶことのないスキルに多く振れたため、今後の成長に必要なパズルのピースを手に入れた実感は大いにありました

②スパゲッティの出来上がり
そうして、オブジェクトプールの基礎をおさめた私は意気揚々とクリックゲームの作成にのりだしました
プールを作成し、クリック対象をつくり、テキストを更新してスコアや時間が更新されるよう書き加えた結果・・・

見事な、スパゲッティコードが出来上がりました

小さなバグのような挙動がちらほらとあるものの、いったいどこをどういじればいいか、まったくわからなくなっていました
とくに、テキストの更新がうまくいかず時々スコアが初期化されるという致命的なものも・・
動かすことを優先した結果、修正方法がわからなくなりました

③作る前に、まず考えよう
ここで得た教訓は、「作る前に、考える」です

・まず類似したゲームをプレイして自身が作るゲームに必要と思われる要素を書き出す
・その要素をどこに収め、それぞれがどういった相関関係になるか把握する
・要素を追加する必要が発生した場合は、それが現在の相関関係にどう影響を与えるかまず考える
・ゲーム進行、UI、サウンド、シーン、といったところはそれぞれで一元管理をすること

コーディングの基本だとは思うものの、
素人始まりの自分には、そうなる可能性があると知っていたけれど、いざそうなると「あぁ・・そういうことか」と実感

もはや1から作り直したほうが速そう、と思う程度には混沌としてきました
オブジェクトプールという目的は達成した以上、このままずるずると続けてもモチベーションが下がるだけと判断し
切り上げることにしました

いつか、デバッグやエラー修正の練習教材として
このゲームは活用したいと思います
その時はまたこのゲームを記事にしたいと思います



この記事が気に入ったらサポートをしてみませんか?