唐突に思い立ってUnityに入門したくなりUnity 超入門 やさしくわかるゲーム開発を購入し読破した。
Unityの入門であればインターネット上に大量のドキュメントがありそれらを見れば無料で学習もできると思うのだが、体系的に学びたかったのとインターネット上の情報は古くて参考にならなかったりしたりするので*1本を購入することにした。ちなみに、AIを使うことも考えられるがそもそも何もわからん状態でAIを使ってもAIの情報が正しいか判断できないので逆に学習の妨げになるので選択肢から外した。 この本を選択した理由は2つある。 1つ目は実際にゲームを作りながら学べることである。これは大抵の入門書ではそうなっているのだが、本書は4つのゲーム、3D/2Dゲームそれぞれを題材にしていて広く浅く学べそうな印象を感じた。 2つ目はC#の説明が書いていないことである。プログラミング初心者向けのUnity入門書はC#の説明も書かれている。しかし、私はC#はわかるのでこの部分は不要である。その分、Unityの説明にページが割かれているのがとてもよいと感じた。 本書は帯にも書いてあるとおり、「アセットストアの使い方」「プレハブの利用」「AI Navigationの活用」「Input Systemの活用」などの基本が説明されているため、今後ゲームを作る際に参考になると感じた。 また、おまけでデバッグの仕方についても書かれていて最初のステップとして本書を読んだのは正解だったと感じた。 個人的には、EXEファイルのビルドの仕方やタイトル画面の作り方などゲームを「完成される」ための要素についても触れてほしかったが、ここらへんはインターネットを検索すればヒットするのでなんとかなるはず。
本書を通して4つのゲームを作るのだが、第5章で作成した2D対戦ゲームをせっかくなのでGitHubに公開した。
Unityについて
ここからは本の感想ではなくUnityについて。 初めてUnityを触ったがかなりよくできていると感じた。たしかにみんなこれを使うのがわかる出来だった。コツがわかっていれば数時間でゲームができてしまうのは本当によくできている。 しかし、ひたすら重いのがすごく大変だった…。プロジェクトフォルダがGB単位になったり、ソースコードを変更しただけでコンパイルが走ったり…ちょっとパラメータを変更して動作確認して~みたいなのにものすごく時間がかかった。デバッグモードにするのも億劫である…本職でゲームを作っている人たちはどうしているんだろうなぁ。
開発環境について
本書ではVisualStudioで開発しているが、私はVSCodeの方が慣れているので途中からはVSCodeで開発していた。 といいつつ、Cursorが便利そうだったのでそっちを使っている。 VSCodeをベースに開発されているので特に問題も発生せず快適に開発できた。 特にAIのサジェストでコードが補完されるので、本書のコードを写経するのもスラスラ行けてよかった…たまに意図とは違うコードになっていたのは御愛嬌。
ゲームを作っている
早速ゲームを作っている。 方向性とかは自分の中で決まったのでそれに向かって少しずつやっていく予定。
*1:実際に調べたわけではなく過去の経験からそう感じている