Play ↗HorseGame
Games / HorseGame
障害競技をモチーフにした、ドット絵の馬のジャンプゲーム。
- Stack
- Unity / C# / WebGL
- Year
- 2025
作成のきっかけ
乗馬が趣味の友人の「障害競技の馬ゲームがしたい」というリクエストから制作をスタート。見た目も可愛く、どこでも気軽に簡単に楽しめるゲームをコンセプトに、実際の馬の音や動きを再現しつつも、見た目はオモチャっぽいドット絵やポップなカラー使いにし、構成もシンプルに仕上げた。
操作方法
- PC:スタートボタンをクリックで開始、スペースキーでジャンプ
- スマートフォン:スタートもジャンプも、画面をタップするだけ
ゲームルール
- 右から流れてくる障害物をジャンプで飛び越える
- 障害にぶつかるとゲームオーバー
- 障害は左まで到達すると自動で得点加算
- アイテムはキャッチで得点加算
| アイテム / 障害物 | 得点 |
|---|---|
| 🟦 青い障害物 | +30 |
| 🟥 赤い障害物 | +50 |
| 🥕 にんじん | +100 |
| 🍎 りんご | +50 |
ゲームのロジック構成
プレイヤー(馬)
- スクリプト:
HorseController.cs - 地面に着地している間は自動ジャンプ(アイドルジャンプ)
- 空中ではスペースキーまたはタップで「ジャンプブースト」
- アイテム取得時に「いななき」サウンド再生(自作ニーサウンド)
障害物
- スクリプト:
Spawner.cs/ObstacleMover.cs - 出現数は
CanSpawn()で制御 - 30秒ごとに5秒間だけ出現数が増加(通常5未満 → 最大10未満)
IEnumerator SpawnLoop()によって出現制御Vector3.Distanceを用いて縦の重なりを回避し、プレイヤーの通り道を確保- ポイント加算や移動処理は
ObstacleMover.csに記述
アイテム
- スクリプト:
Spawner.cs/ItemMover.cs(動きの制御は障害物と同じ構成) - アイテム取得処理は
HorseController.csのOnTriggerEnter2D()にて- ポイント加算
- いななきサウンド再生
- プレハブの非表示(消滅)
ゲーム全体の制御
- スクリプト:
GameManager.cs
| メソッド名 | 機能内容 |
|---|---|
StartGame() |
馬の状態・UI・音の初期化 |
AddScore() |
スコア加算処理 |
TriggerGameOver() |
音・UI演出(アニメーション付き) |
OnGoBackButtonClicked() |
ゲーム再スタート処理 |
こだわりポイント
足音やブルブル音は、友人の愛馬「レジャ」の動画音を抽出して使用
負荷を減らす為、短い音源をループ。
プレハブはレトロなドット絵

GameOver 音は自作のギター
アコースティックギターで Gadd9、GarageBand で収録。
自作サイトに埋め込みやすい配色設計

時間がかかったところ
- アイドルジャンプの制御がうまくいかず、着地しないバグが続いた
- スマホ対応のための Touch の制御が効かず、タッチに反応しないバグ
- アイテムのサイズ調整
- 障害物同士の間隔の調整
- WebGL のビルド(画面のサイズなどの調整)
今後のアップデート予定
- 一定スコアで馬に「羽」をつけて進化演出 🪽
- スクリプトの整理(プレイヤーとアイテムの処理の分離)
- アイテムの速度を遅くするタイミングを追加
- スタート画面にアニメーション導入