【進捗】Unity教本の写経進捗:CandyDozer

 Unityの教本に記載されたコードを写して動かす学習方法を仏教のお経を書き写す修行に準えて「写経」と表現していますが、KuroMikanもオリジナルゲーム制作の傍らUnity教本の写経を行っています。今までにUnity教本を2冊終え、3冊目に進んだところなのですが、オススメUnity教本の紹介も兼ねて、写経の進捗を載せていこうと思います。

 まずどんな教本を終えたのかという話なのですが、1冊目は「これが最初で本当に良かった」という一冊です。それはこちら。



2Dスプライトの表示・操作から始まり、3Dゲーム開発まで網羅しています。エディターの操作手順を端折ることなく毎回丁寧に説明してくれるので作法が染み付きやすいと思います。そのため最初の一冊に最適だと考えています。最終的には🔍いらいらバスケットの原型を作ることができました。
どんなものが作れるのか興味がある方は🔍いらいらバスケットをダウンロードしてみて下さい。


2冊目はこちらです。


3DピンボールやStandard Assetsを使ったもの、シューティングゲームが作れます。執筆者のUnityバージョンが若干古いのか最新バージョンとの乖離が(UI・挙動ともに)大きいため、操作も覚束ない未経験者には逆に辛いと思います。また、🔍Standard Assetsのエラー回避能力が必要です。最終的には固定視点のボーリングライクなシューティングゲームが作れます。


そして今進めている3冊目はこちら。


7月1日に🔍Celestial Ballという新作をリリースしたのですが、なんとこの教本の一作目のサンプルゲームを魔改造したものです。非常に質の高いサンプルが揃っており、実践的なスキルが学べると思います。さらに各ストアへの申請方法といった実用的な情報が網羅されているのも高評価です。

現在、2つ目のサンプルゲーム「CandyDozer」を進めているところです。

CandyDozer1.png

画面タップでキャンディを飛ばし、中央のプッシャーでキャンディを手前に落とします。
射出できるキャンディのストックは30個で、手前に落としたキャンディ×3個がストックに入るため、なるべく左右に落ちないように投入位置を調整する…というゲームです。
見た目にも綺麗で、Rigidbodyの挙動を存分に味わえる良いサンプルだと思います。


進捗としては「コルーチン」の作成、使用するところまで進みました。秒数管理や連続射出のクールタイムをコルーチンで管理しよう、というものです。
    IEnumerator RecoverCandy()
{
counter = RecoverSeconds;

// 1秒おきに処理をする
while (counter > 0)
{
yield return new WaitForSeconds(1.0f);
counter--;
}

candy++;
}
このサンプルで初めてコルーチンに触れまして、3冊目にしてやっと実践的な引き出しが増えた実感があります。

今週末には完成まで持っていきたいと思っていますが、このゲームを魔改造してリリースすることはありません。技術の習得がメインになると思います。でもシステムとしては非常に面白いので、いずれ自作ゲームの報酬獲得システムの一つとして導入しようかなと思いました。ログボや宝箱などで権利をストックし、溜まったらストックを射出して報酬を狙う、みたいなイメージです。



以上、KuroMikanのUnityゲーム開発進捗でした。