Unityでローグライクゲームを作ってみた

はいどーもこんばんはフリーランスプログラマ(予定)のツミオです。
本日はUnity公式チュートリアルにあったローグライクゲームを作ってみました。
前回のシューティングゲームよりは複雑になっているかなーという印象です。
ほな見ていきましょう。

チュートリアルは英語

公式サイトにアクセスしてみればわかる通り、前回とは違って動画でのチュートリアルです。
また、言語は英語オンリーです。
僕はリスニング能力が著しく低いので、基本的には字幕をつけて動画を眺めていました。
ただ日本語の字幕は自動翻訳っぽいので、言語は英語を推奨します。
気になった字幕のミスはpassがparseやらなんやらになっていたくらいでしょうか。
どーしても日本語がいいんだという方は、ひよこのたまごさんの記事を参考に進めていけばよいのではないでしょーか。
ただしパッと見た感じ、大幅にコメントが省略されています。また、動画とは違った順序でコードの内容を解説をしている場合があるようです。
C#初心者でかつ英語が多少なりともできるなら、原文のコードを参照するほうが流れを理解しやすいと思わます。
逆にC#がある程度できてかつ英語が苦手な場合、ひよこのたまごさんのコードを追って行ったほうが手早く内容を理解できるかもしれませんね。
むしろそういう人は動画を見ずにひよこのたまごさんの解説をサラッと流す程度でもOKかも。

必要な下地

前回のチュートリアルとは違って、ローグライクのチュートリアルでは結構な量のコードを書きます。
C#の主要な文法は一通り頭に入れておいたほうがいいでしょう。
少なくとも、ジェネリックってなに? 抽象クラスってなに? とググるレベルではコードを読むのが辛いと思われます。
が、実際にバリバリ書ける必要は全くありません。
各概念を知識として認識できていれば十分理解できるレベルのコードです(僕がそんな感じですが、全く問題ありませんでした)。
あと当然ですが、Unityの基本的な操作は覚えておいたほうがいいです。
細かい操作方法は省略されてます。

気になった点

動画の下に、そのパートで使うコードが貼り付けられてあります。
非常にありがたいのですが、のちのち別の機能を実装する際に必要となるコードが混じっている場合があります(例えば音楽用とかエネミーをリストに追加するコードとか)。
そのため、そのパートでは不必要なコードは自分で削除する必要があります。
動画を見ながらやっていればどのコードが不要なのかはすぐわかると思いますが、C#というかプログラミング自体が初心者の方だとちょっと戸惑うかもしれないなーと思いました。
あと、コメントを挟む都合でしょうが、原文コードのif-elseの書き方がなんか嫌でしたw

part11までやった感想

基本的な機能はpart11までで揃います。
僕はこのパートまでをかなり丁寧に読み解いていきました。
Unity初心者の方はもちろん、C#初心者の方も得られるものは大きいんじゃないかなーと思いました。
抽象クラスやら何やらの具体的な実装を見れたのは非常な収穫ですね。
残りのパートは本当に「ゲームのための機能」なので、そのうちボチボチやります。
もう少しマップを拡大したりギミックを増やしたりすれば、十分遊べるゲームに変貌するだろうなあという印象です(トルネコみたいなの作れちゃうかも)。

終わりに

このゲームの中に「マップの自動生成」機能があります。
これをJavaScript(ツクール)に応用して、マップ自動生成プラグインなんか作れないかなーと模索中です。
まあすでにプロっぽい方がマップ自動生成プラグインを作っているようなので需要は皆無でしょうが、後学のために作ってみたいですね。
そんな感じでほなまた。

フォローする