ソフトウェアエンジニア T.Y.
2026.4.10
ガンシューティングといえば、ターゲットを撃つ、敵を倒すといったバイオレンスな表現が一般的です。 Sinden LightGun を眺めながら、「このデバイスを、もっと別の体験に使えないか?」と考えたのが今回のプロジェクトの始まりでした。
そこで思いついたのが、「トリガーを引いている間だけ水が出る、デジタル水遣り」というコンセプトです。
あえて制限時間もスコアも設定せず、ただ「育てること」に没頭できるアプリを目指しました。
アクション: 銃口を向け、トリガーを引くと如雨露のようなシャワーが降り注ぐ。
成長: 枯れた大地に点在する「芽」に水をかけ続けると、葉がつき、最後には色鮮やかな花が咲く。
私は普段Web系のプログラマーとして働いていますが、Unityに関してはほぼ初心者。これが想像以上に「別世界」でした。
C#の作法に戸惑う: 昔はC#を書いていましたが、普段の言語とは違う型定義やクラスの構造に惑わされました。
Unity独自のライフサイクル: Update や Start といった関数の実行タイミングや、インスペクター上での紐付けなど、Web開発のモデルとは異なる「独特の作法」に苦戦しました。
そこで今回は、AI(ChatGPT等)を「ペアプロ相手」に採用しました。 「このオブジェクトに、〇〇秒間当たり判定があったら次のスプライトに切り替えるようにしたい」と、ロジックを言語化してAIに相談しながら、全体を組み上げていきました。
コードが動くようになっても、次はハードウェアの制約を受けました。 PC画面でテストを始めたところ、「照準が全く合わない」という問題が発生。
Sinden LightGunはカメラで画面の枠を認識する仕組みですが、どうやら部屋の明るさが悪影響を与えていたようです。 「もしかして……」と思い部屋を暗くしたところ、今までの狂いがほぼなくなり、かなり正確に位置を検出できるようになりました。
学び: デバイス開発において、ソフトウェアだけでなく「物理的な環境(照明)」も重要な要因になることを痛感しました。
自分で作ったアプリながら、トリガーを引いて花が咲いた瞬間は嬉しさを感じました。 「狙って壊す」時の感覚とは真逆の、「水をまいて咲かせる」時の優しい感覚。デバイスの新しい可能性を感じた瞬間です。
Webエンジニアにとって、Unityやハードウェア制御はほとんど未知の領域でしたが、AIの助けを借りることで、アイデアを形にするスピードを格段に上げることができました。
「技術の使い道は一つじゃない」ということを、この小さな水遣りゲームから学べた気がします。
関連する記事
この人が書いた記事