本文へスキップ
darkmocha.dev
【前編】これまで作ってきたUnity作品を振り返ってみる
Back to Home
2026-07-25Unity9 min read

【前編】これまで作ってきたUnity作品を振り返ってみる

Unity作品を振り返って今後の糧とする。

こんにちは!Darkmochaです。
前回の記事から少し間が空いてしまいましたが、今回は私がこれまで作ってきたUnityの作品たちを振り返ってみようと思います。
というのも、これまでWebGL形式を中心に作成してきたのですが、とうとうiOS向けのゲームを作ることにしたので、このタイミングでBlogを書いてみました。
これまで作ってきた作品の数はなんと 7本!!!
notesでは「1ヶ月で4本作って10本目指すぞ!!」とか意気込んでいたのですが...
思っていたより時間をかけてしまって有言不実行になってしまいました。
まあ、これらも含めてなんでこうなったかも振り返りをしてみようと思います。
私のゲームの命名について
このゲームたちの名前を見ればわかると思いますが、名前を付けるのに結構こだわってきました笑
理由は以下の2つです。
  1. SEOで検索上位を獲得し、ゲームの認知度を最大化するため
  2. 公式アカウントのIDやドメインを綺麗に確保し、独自のブランドとして確立するため
今の自分にはまだ恩恵が少ないものの、いざApp Storeなどのストアに出すときにじわじわ効いてくるはず...と思っています。

1作品目「スライムバスタークマリオン」

スライド画像 1
スライド画像 2
スライド画像 3
この作品は初めてUnityで作成した作品になります。
Unityの右も左もわからない中、YouTubeのハンズオン動画を見ながら作成しました。
特に ゲーム制作ch. ニコリ さんのUnity教材が素晴らしくて、とても丁寧に説明されていて初心者にはとてもわかりやすかった記憶があります。
一緒にゲームを作って躓いてしまっても大体コメント欄に同じ悩みを持った人がいて、解決策とかも書いてくれていたので初学者にはおすすめの教材です。
ゲーム制作ch. ニコリ
https://www.youtube.com/@nikori_ch
今思い返してみると、2枚目の画像のようにスライムのコライダーが大きくて浮いていたり、少し雑だなと思う部分もありますが...初めてにしては頑張った作品なのではないでしょうか。

苦戦した「接地判定」

一番苦戦して覚えていることは、 接地判定 の部分です。
プレイヤーが空中にいる時にジャンプができないようにするのですが、これが思った以上に難しいのです。
プレイヤーの足の部分にBoxRaycastをつけて接地判定を取っていたのですが、スクリプトベースの判定なのでプレイヤーの大きさを計算しないとうまく接地判定が取れないのです。
さらに、boxの調整をしないと壁に当たった時に壁に引っかかってしまったり、不自然な挙動を取ってしまいます。
今の私ならボックスコライダーを使って接地判定を取ってしまいますが、空中判定・接地判定のプログラムを理解するいい経験になりました。

学んだこと:ガード節

あとは、このゲームでガード節の書き方を学びました。
if (Input.GetButtonDown("Jump"))
    return;
以降の制作でもガード節はよく使っていて、バグを防いだり処理を確実に行ったりするための大切なテクニックになっています。
以上!!

2作品目「賢者の遊戯リバーシ」

スライド画像 1
スライド画像 2
スライド画像 3
スライド画像 4
次に作成した作品はみんな大好きリバーシ(オセロ)です。
この作品も途中までYouTubeのハンズオンを見ながら作成しました。
オセロハンズオン動画
https://www.youtube.com/watch?v=FGugGSuVZ4g
ここで得られた知見は、次の2つです。
  • Blenderを使ってオセロの盤を作る方法
  • ルールベースAIをどうやって作成するのか

Blenderでのオセロ盤づくり

Blenderの操作が難しくて苦戦したのが懐かしいです。
動画の中では操作時の入力コマンドとかも表示してくれてるので、ぜひチャレンジしてみてください。

ルールベースAIの実装

擬似AIの作成については、下記の3段階でレベルを分けて作成しました。
Lv1:貪欲法
次の一手で、最も多くの石を取れる手を選ぶ。先の展開は考慮せず、その時点で最も利益の大きい手を選択する。
Lv2:重み付き盤面評価
オセロ盤の各マスに重みを設定し、手を打った後の盤面を評価する。単純に取れる石の数だけでなく、角などの有利なマスや、角の周辺などの不利になりやすいマスも考慮し、評価値が最も高くなる手を選ぶ。
Lv3:重み付き盤面評価+ミニマックス法/αβ法
相手も最善の手を選ぶことを想定し、3手先までの展開を探索する。そのうえで、将来的に自分の盤面評価が最も高くなると予測される手を選ぶ。また、探索処理を効率化するために、αβ法による枝刈りを行った。
実際の重み付き盤面評価は以下のような感じです。
 100 -20  10   5   5  10 -20 100
 -20 -50  -2  -2  -2  -2 -50 -20
  10  -2   5   1   1   5  -2  10
   5  -2   1   0   0   1  -2   5
   5  -2   1   0   0   1  -2   5
  10  -2   5   1   1   5  -2  10
 -20 -50  -2  -2  -2  -2 -50 -20
 100 -20  10   5   5  10 -20 100
角を取るのが一番強く、辺の部分も強いことが分かります。

3作品目「勇者ジャックの小さな試練」

スライド画像 1
スライド画像 2
スライド画像 3
3作目の「勇者ジャックの小さな試練」は、アセット制作とゲームの面白さの両方で苦戦した作品です。

AIを使ったアセット制作

この作品では新しい試みとして、スライムのアセット制作にGeminiのNano Banana Proを使用しました。
画像そのものはきれいに生成できたのですが、アニメーションに必要な差分を作るのには苦戦しました。同じキャラクターの見た目を保ったまま、少しずつ動きだけを変える調整が難しかったためです。
背景透過もうまくいかなかったので、ピンク色の背景で画像を生成し、最後に透過画像作成ツール(バナー工房)を使って手作業で透過していました。
AIを使えば簡単にアセットを作れると思っていましたが、ゲームで使える状態に仕上げるには、生成後の調整も必要だと実感しました。

ゲームの面白さを作る難しさ

このゲームは、障害物を動かして道を作り、ゴールを目指すゲームです。
ルール自体はシンプルなのですが、ステージの展開が単調になりやすく、遊びの幅を作るのが思った以上に難しかったです。
実装面でも、2つの障害物ブロックの間にプレイヤーが挟まり、接地判定がうまく取れなくなる問題が発生しました。面白いステージを考えるだけでなく、それを正しく動かすための実装力も必要だと痛感した作品です。

この作品から学んだこと

この作品から得た学びは、大きく2つあります。
  1. 自分以外の人にもゲームを遊んでもらう
  2. ゲームの内容を一言で説明できるようにする
同じゲームを何度もテストプレイしていると、操作の分かりにくさやUIの違和感に自分では気づきにくくなります。だからこそ、一緒にゲームを作っている仲間に遊んでもらい、客観的な意見をもらうことが大切だと感じました。
もう1つは、ゲームの核を見失わないことです。
この作品は、一言で表すと「障害物を動かして道を作り、ゴールを目指すゲーム」です。しかし、制作途中で面白さが足りないと感じ、弓矢が飛んでくるギミックやプレイヤーのローリングなど、さまざまな要素を追加しました。
結果としてゲームの核が大きく変わることはありませんでしたが、後から機能を増やすほどどんなゲームか分かりにくくなり世界観も崩れてしまいます。
すべてを最初から決め切る必要はありませんが、少なくとも「どんなゲームなのか」と「どこまで作るのか」は先に決めておくべきでした。新しい要素を追加するときも、それがゲームの核を本当に面白くするものなのか、一度立ち止まって考えることが大切だと学びました。
ゲームの核について考えるうえでは、こちらのチャンネルも参考にしています。
桜井政博のゲームを作るには
https://www.youtube.com/@sora_sakurai_jp

振り返ってみて

この3作品を通して、最初はハンズオンで基礎を学び、そこから少しずつ自分なりの工夫を加えられるようになりました。
また、ゲーム制作を続けるには、相談やレビューができる仲間の存在と、「自分が作りたいゲームを最後まで作り切る」という気持ちが大切だと改めて感じました。
一方で、作品を重ねるほど「ゲームを完成させること」だけでなく、「どうすれば面白くなるのか」を考える時間も増えていきました。
後編では、4作品目以降の制作を振り返りながら、ゲームの面白さやオリジナリティとどのように向き合ってきたのかを書いていこうと思います。
Thanks for reading.