推しアイデア
マイクに向かって声を出すだけで「天候」が変わり、その天候で敵を攻撃するローグライクRPGです。小声=風、普通=晴れ、大声=雷や雹。敵ごとに弱点と耐性があるので、声の出し方が戦略になります。
マイクに向かって声を出すだけで「天候」が変わり、その天候で敵を攻撃するローグライクRPGです。小声=風、普通=晴れ、大声=雷や雹。敵ごとに弱点と耐性があるので、声の出し方が戦略になります。
今回のテーマである「wing-wave」から、waveを「声の波(声波)」、wingの風要素を「天候」として捉えました。ここから着想を得て、「声で天候を操るローグライクゲーム」を制作することに決めました。
入力された声の波形を解析し、それに対応する天候コマンドを割り当てるという仕組みです。
声を出すだけで天候を操り、敵と戦うローグライクRPGです。

イベントシーン


イベント成功シーン
イベント失敗シーン

失敗

| 声の強さ | 天候 |
|---|---|
| 0 ~ 10db | 風 |
| 11 ~ 20db | 晴れ |
| 21 ~ 30db | 雨 |
| 31 ~ 40db | 雷 |
| 41 ~ | 雹 |
敵ごとに弱点と無効があり、同じ天候でも0〜10ダメージと変わります。
アーキテクチャ図

| 技術 | 用途 |
|---|---|
| React + TypeScript | UIコンポーネント・HUD層 |
| Vite | ビルドツール・開発サーバー |
| Phaser.js | ゲーム描画(マップ・戦闘・演出) |
| Zustand | グローバル状態管理(HP・天候・進捗) |
| TailwindCSS | UIスタイリング |
| Web Audio API | マイク入力・AudioContext管理 |
| Meyda.js | 音声特徴量抽出(RMS / ZCR / SpectralCentroid / SpectralRolloff) |
| 技術 | 用途 |
|---|---|
| Ruby on Rails (API mode) | APIサーバー |
| PostgreSQL | データベース |
| rack-cors | CORS設定 |
| RuboCop | コード品質管理 |
初のハッカソンでしたがそれぞれ役割を分担し、開発を順調に進めることができた点が良かったです。
・初めて夜遅くまでチーム開発をして、いい経験になったし、楽しかった。 ・今回は自分で考えて作業をすることができなかったので、次ハッカソンに行く機会があったら自分から進んで作業できるようになりたいと思った。
チームがそれぞれをサポートしてくれたおかげで円滑に進められました。楽しかったです。