【ゲーム制作011】テックアカデミーの9~17週目:卒業課題!オリジナルゲームをつくる -後編-

ゲーム制作

ご覧になっていただきありがとうございます。「ひさよろ」です。

“ありたい自分” で人生を楽しむ大人を増やす
という理念のもと、コーチングを使って
日本人が大志を抱けるゲームをつくる

私は上記のような夢を持ち、会社員ながら完全未経験の『ゲーム制作』と『コーチング』を掛け合わせた活動を行っています。

今回はオンラインスクール「TechAcademy(以下、テクアカ)」Unityコースの学習状況紹介の最後です。

卒業課題として取組んだ「車を走らせるコースをつくるゲーム」を前回の前編と合わせて2つの記事にしました。目次は↓。

  1. なぜその題材を選んだか
  2. 最初に考えた構想と卒業のために妥協したこと
  3. ゲームプロジェクトの構成
  4. 苦労・工夫したこと今回はここから
  5. 今後のアップデート内容(いつの日か)

私自身(初心者)の備忘録的な位置づけでもあるので、大した内容ではありませんがお付き合いください。

ゲームは↓リンク先の記事からプレイすることができますので、よろしければどうぞ。

人生で最初につくったゲーム「Car Course Creator」

せっかくなのでテクアカも宣伝しておきます。ゲーム制作を始めたい人はこちらで学んでみては?

Unityコース
Unityを選抜された現役エンジニアから自宅で学べる。パーソナルメンターがマンツーマンで学習サポート。

前編の記事を紹介しておきます

後編からお読みいただいた方は何のこっちゃだと思いますので、前編の記事のリンクを貼っておきます↓

このゲームをつくるうえで工夫・苦労したこと

なんとか完成までたどり着きましたが、その過程ではたくさんの壁が現れ、その都度テクアカのメンターさんに相談して乗り越えてきました。週2回の30分ずつ。小さなことから大きなことまで。理解できたかと言われるとびみょうだなぁ、、、ということも多いですが、今後自分の力でゲームをつくっていく上での対応力(分からないことの調べ方)は身に付いたと思います。

ここでは、その中から特に工夫したこと、というよりも苦労したことを2つご紹介いたします。

  • 車がカーブに沿って上手く走らない問題!の改善
  • コースのパーツをピッタリ接続できない問題!の改善

車がカーブに沿って上手く走らない問題!の改善

このゲームでは「車は常に直進する」「コースが車を曲がらせる」ようにしたい。ミニ四駆のようなイメージですね。

一つ目は簡単。車に「ローカル座標の進行方向に移動する」スクリプトを書いてアタッチするだけです。無限にまっすぐ進みます。

二つ目もすぐに、やり方を思いつきました。コースに壁を設置して、そのコライダーに車がぶつかれば壁に沿って移動するだろう。早速やってみると、、、

「ん、カーブで車がカクカクしているなぁ、、、あ、引っかかって止まった。」

どんな状態なのか、カーブ付近を拡大表示してコマ送りで動かしてみると、車とカーブの壁が接触した時に、車が弾かれています。初期のコライダーがBox Colliderになっていたので、その角部がカーブの曲線状コライダーに点当たりしていることが原因のようです。そこで、コライダーを変更しました↓。

右側のように車の四隅にCapsule Colliderを配置して、カーブのコライダーと接触させるとスムーズに走るようになりました。Capsule Colliderがミニ四駆のローラーの役割を果たしているわけです。

動画で動きを比較するとこんな感じです↓。

ちなみに、↑の動画ではすでに実施済みですが車のX軸・Z軸の回転を抑制しています。そうしないとプルプル震えてしまったのです。

これで車がかなりスムーズに走るようになりました。運転者視点に切り替えたときに画面が小刻みに揺れて酔いそうになっていたのも、かなりマシになりました(まだ若干気になりますが)。

コースのパーツをピッタリ接続できない問題!の改善

コースとなるパーツは、自由にマウスで動かせるようにしたかったので、そのようなスクリプトを作成しました。マウスで掴んで動かすコードは、生成AIに聞いたらすぐに教えてくれます。下の図の左半分です。

改善策を右半分に書きましたが、いっそパーツを動かせる自由度を制限してしまおう!という発想に変えて、見えないグリッド線上にのみパーツが移動できるようにしました。そこでポイントは、オブジェクトを自分が決めたグリッドサイズに合うようにキッチリと作成する、です。が、私はカーブをProbuilderで作るのにすごく苦労しました。Archの特性がわかりづらかった。。。

パーツ移動のBEFORE-AFTERを比較すると↓の動画のようになります。

簡単に書きましたが、実はここにたどり着くまでに長い時間がかかりました。というよりも、最後まで手を付けるのを先送りにしていました。前回の前編で書いた通り、最初の構想では細かいパーツをつないで、クネクネ背骨みたいに動かせるようにしたかったのです↓

なので、パーツは自由に連続的に動かせて、パーツ同士が近づいたらピタッと狙い通りに自動接続させたかった、、、でもできそうもなかった、、、調べて悩んで多くの時間を溶かした、、、諦めた、、、というわけです。

まぁ、こだわりすぎるのは良くないので(第一作目ですし)、今の自分でできる妥協案はないか?を探すことに頭を切り替え、結果として完成させることができたので満足しています。

実際は、もっとたくさんの壁があったのですが、考えなしに試行錯誤しまくったので、何をやったのか忘れてしまったことが多いです。この辺は初心者あるあるでしょうか。次に同じような壁にぶつかったら思い出すでしょう。こういう経験を積むことで成長できるんだろうなと思います。

今後(いつの日か)のアップデート内容

苦労しながらver.1を公開できたわけですが、今後アップデートしたいことがたくさんあるので、実装するかどうかはさておき、忘れないように書いておきます。他のゲームをつくりながら気が向いたら、自分のレベルが上がって改善できるようになったら取組みます。

  • ビュー回転時に中心位置を現在視点の中心に改善(今はズレていて不親切)
  • BGM、効果音の追加
  • 装飾用オブジェクトの追加(木、岩、動物など)
  • コースパーツの追加(ガタガタ道、坂道、橋、トンネルなど)
  • フィールドの追加(川、起伏があるような)
  • パーツ自動接続機能の追加(グリッド移動の廃止)
  • パーツを背骨みたくクネクネ曲げる機能の追加

欲を言えば、パーツの購入機能を追加して、課金ゲームにできたらいいなぁと思いますが、それはまた別の話。。。

というわけで

テックアカデミーを無事に卒業できました!その後に少し整えて第一作目を公開することもできました。学び始める前はゲームをつくるのって難しいんでしょ?と不安でしたが、4か月間の学習で「基本の基」は理解できたと思います。困ったときに相談に乗ってくれるメンターさんの存在が本当に大きかった。スタートを独学でやっていたら挫折していたかもしれないな。。。テックアカデミーに感謝です(お金はかかりましたが)。

2025年も小さいオリジナル作品の制作を通してスキルを磨き、多くの人に楽しい!と思ってもらえるゲームをつくれるようになりたい。いや、なる!

というわけで最後にいつもの、

みんなだんばれ!!

頑なに張るの「がんばる」ではなく、
弾むように張るの「だんばる」で、
一緒に人生を楽しみませんか?

最後までご覧になってくださったあなた、ぜひぜひX(旧Twitter)で交流しましょう!ゲーム制作をしていない方もウェルカムです。人生や働くことを楽しむために、日々くだらないことをつぶやいています。

以上です。

コメント

タイトルとURLをコピーしました