リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: RPGストーリーフォージ AI風ドット絵冒険
島バイオーム別「天変地異・自然災害」ランダムイベントと専用モンスター画像20種の追加
## 1. 目的
島ごとのフィールド探索中に、バイオーム固有の「天変地異・自然災害」ランダムイベントを発生させる。地震・津波・噴火・猛吹雪・砂嵐・毒霧拡散など島の地形に合った自然災害が突発し、専用モンスターが出現するか、地形やステータスに一時的な変化をもたらす。既存の天候・時間帯システム・バイオーム遭遇テーブルを壊さず、その上位レイヤーとして機能する。
## 2. 具体的な仕様
### 2-1. 災害イベントトリガー
- フィールド移動ごとに `disaster_chance` を判定(通常0〜3%、バイオーム・難易度補正あり)
- 発生時はCanvas中央に警告バナー(赤フラッシュ+テキスト)を200msで表示し、進行ログに追記
- セッション内で同一バイオームで連続2回は起きないクールダウン(10ターン)を設ける
### 2-2. バイオーム別災害テーブル(PHP配列で内蔵)
| バイオーム | 災害名 | 効果 |
|---|---|---||
| volcano | 噴火 | フィールド遭遇率2倍・炎系モンスター強制エンカウント |
| snow | 猛吹雪 | 移動力-1・3ターン間視界制限(ミニマップ非表示) |
| desert | 砂嵐 | 命中率-20%が3戦闘継続 |
| swamp | 毒霧拡散 | パーティ全員に微毒(1ターン1HP減少・3ターン) |
| ocean | 嵐・高波 | 航海ランダムエンカウント確定・海洋モンスター強制出現 |
| grassland/forest | 落雷 | ランダム1キャラにスタン(次ターン行動不可) |
| coast | 津波警報 | 港タイル一時封鎖(2ターン後解除) |
### 2-3. 災害専用モンスター20種(画像新規追加)
災害発生時に通常遭遇テーブルとは別に出現する専用モンスターを20種定義し、`assets/monsters/` に PNG を追加。モンスター名タグ例:
`disaster_fire_elemental`, `disaster_rock_golem`, `disaster_blizzard_wolf`, `disaster_sand_worm`, `disaster_storm_serpent`, `disaster_poison_miasma`, `disaster_thunder_bird`, `disaster_tsunami_leviathan`, `disaster_magma_turtle`, `disaster_avalanche_bear`, `disaster_tornado_hawk`, `disaster_acid_slime`, `disaster_lava_crab`, `disaster_frost_giant`, `disaster_dark_cloud_bat`, `disaster_earthquake_centipede`, `disaster_mud_golem`, `disaster_whirlpool_fish`, `disaster_ash_zombie`, `disaster_lightning_wolf`
### 2-4. 既存システムとの整合
- `rpgsf_play_enemy_biome()` のタグルールに disaster_ プレフィックスタグを追加するだけで既存マッチングに乗る
- 戦闘画面の「フィールド種別バッジ」に「⚠️災害」サブラベルを追記(既存バッジ表示ロジック末尾に条件追加)
- 図鑑テーブルへの登録は既存の `rpgsf_ghost_records` と同じ撃破カウント方式を流用
- 天候システム(`env_weather`)とは独立したフラグ(`state['active_disaster']`)で管理し、既存天候演出に干渉しない
- セーブ/ロード時は `state_json` に `active_disaster` と `disaster_cooldowns` を含めるだけ
### 2-5. Canvas演出
- 災害発生時:バイオームカラーの半透明オーバーレイ(噴火=赤、吹雪=白、砂嵐=黄など)を0.4秒かけてフェードイン→フェードアウト
- 戦闘背景:既存の天候別背景レイヤーの上に災害シルエット(炎・雪煙・砂柱など)をdrawImage合成
### 2-6. UIテキスト例
- 「⚠️ 噴火! 火山が轟音とともに噴き上がり、灼熱のモンスターが現れた!」
- 「⚠️ 猛吹雪! 視界が閉ざされ、3ターン間ミニマップが見えなくなった。」
## 3. 実装ファイル構成
- `lib.php` : `rpgsf_disaster_check(array &$state, array $map, string $biome, string $difficulty): ?array` 関数を追加
- `pages/play.php` : フィールド移動時に上記関数を呼び出し、結果をJSに渡してCanvas演出トリガー
- `assets/monsters/disaster_*.png` : 20種の新規画像を追加
- 既存の `monster_images` 連想配列末尾に disaster_* キーを20件追記するだけで図鑑・戦闘に自動反映
島ごとのフィールド探索中に、バイオーム固有の「天変地異・自然災害」ランダムイベントを発生させる。地震・津波・噴火・猛吹雪・砂嵐・毒霧拡散など島の地形に合った自然災害が突発し、専用モンスターが出現するか、地形やステータスに一時的な変化をもたらす。既存の天候・時間帯システム・バイオーム遭遇テーブルを壊さず、その上位レイヤーとして機能する。
## 2. 具体的な仕様
### 2-1. 災害イベントトリガー
- フィールド移動ごとに `disaster_chance` を判定(通常0〜3%、バイオーム・難易度補正あり)
- 発生時はCanvas中央に警告バナー(赤フラッシュ+テキスト)を200msで表示し、進行ログに追記
- セッション内で同一バイオームで連続2回は起きないクールダウン(10ターン)を設ける
### 2-2. バイオーム別災害テーブル(PHP配列で内蔵)
| バイオーム | 災害名 | 効果 |
|---|---|---||
| volcano | 噴火 | フィールド遭遇率2倍・炎系モンスター強制エンカウント |
| snow | 猛吹雪 | 移動力-1・3ターン間視界制限(ミニマップ非表示) |
| desert | 砂嵐 | 命中率-20%が3戦闘継続 |
| swamp | 毒霧拡散 | パーティ全員に微毒(1ターン1HP減少・3ターン) |
| ocean | 嵐・高波 | 航海ランダムエンカウント確定・海洋モンスター強制出現 |
| grassland/forest | 落雷 | ランダム1キャラにスタン(次ターン行動不可) |
| coast | 津波警報 | 港タイル一時封鎖(2ターン後解除) |
### 2-3. 災害専用モンスター20種(画像新規追加)
災害発生時に通常遭遇テーブルとは別に出現する専用モンスターを20種定義し、`assets/monsters/` に PNG を追加。モンスター名タグ例:
`disaster_fire_elemental`, `disaster_rock_golem`, `disaster_blizzard_wolf`, `disaster_sand_worm`, `disaster_storm_serpent`, `disaster_poison_miasma`, `disaster_thunder_bird`, `disaster_tsunami_leviathan`, `disaster_magma_turtle`, `disaster_avalanche_bear`, `disaster_tornado_hawk`, `disaster_acid_slime`, `disaster_lava_crab`, `disaster_frost_giant`, `disaster_dark_cloud_bat`, `disaster_earthquake_centipede`, `disaster_mud_golem`, `disaster_whirlpool_fish`, `disaster_ash_zombie`, `disaster_lightning_wolf`
### 2-4. 既存システムとの整合
- `rpgsf_play_enemy_biome()` のタグルールに disaster_ プレフィックスタグを追加するだけで既存マッチングに乗る
- 戦闘画面の「フィールド種別バッジ」に「⚠️災害」サブラベルを追記(既存バッジ表示ロジック末尾に条件追加)
- 図鑑テーブルへの登録は既存の `rpgsf_ghost_records` と同じ撃破カウント方式を流用
- 天候システム(`env_weather`)とは独立したフラグ(`state['active_disaster']`)で管理し、既存天候演出に干渉しない
- セーブ/ロード時は `state_json` に `active_disaster` と `disaster_cooldowns` を含めるだけ
### 2-5. Canvas演出
- 災害発生時:バイオームカラーの半透明オーバーレイ(噴火=赤、吹雪=白、砂嵐=黄など)を0.4秒かけてフェードイン→フェードアウト
- 戦闘背景:既存の天候別背景レイヤーの上に災害シルエット(炎・雪煙・砂柱など)をdrawImage合成
### 2-6. UIテキスト例
- 「⚠️ 噴火! 火山が轟音とともに噴き上がり、灼熱のモンスターが現れた!」
- 「⚠️ 猛吹雪! 視界が閉ざされ、3ターン間ミニマップが見えなくなった。」
## 3. 実装ファイル構成
- `lib.php` : `rpgsf_disaster_check(array &$state, array $map, string $biome, string $difficulty): ?array` 関数を追加
- `pages/play.php` : フィールド移動時に上記関数を呼び出し、結果をJSに渡してCanvas演出トリガー
- `assets/monsters/disaster_*.png` : 20種の新規画像を追加
- 既存の `monster_images` 連想配列末尾に disaster_* キーを20件追記するだけで図鑑・戦闘に自動反映
💬 返信 (7)
[AI企画部]
画像生成が完了しました。次の開発サイクルで開発に進みます。
画像生成が完了しました。次の開発サイクルで開発に進みます。
🛠 開発を開始しました (機能追加 rpg-story-forge)
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ 第 1 フェーズをリリースしました [フェーズ 1/最大5]
ご要望いただいた「RPGストーリーフォージ AI風ドット絵冒険」のうち、島バイオーム別の天変地異・自然災害イベント、災害専用モンスター画像20種、警告表示とCanvas演出の今回分を実装・リリースしました。
引き続き残りの効果反映を次のサイクルで開発します。
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=rpg-story-forge
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/rpg-story-forge/
ご要望いただいた「RPGストーリーフォージ AI風ドット絵冒険」のうち、島バイオーム別の天変地異・自然災害イベント、災害専用モンスター画像20種、警告表示とCanvas演出の今回分を実装・リリースしました。
引き続き残りの効果反映を次のサイクルで開発します。
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=rpg-story-forge
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/rpg-story-forge/
🛠 開発を開始しました (機能追加 rpg-story-forge / フェーズ 2)
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の第2フェーズ実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の第2フェーズ実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「RPGストーリーフォージ AI風ドット絵冒険」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=rpg-story-forge
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/rpg-story-forge/
ご利用ありがとうございます!
ご要望いただいた「RPGストーリーフォージ AI風ドット絵冒険」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=rpg-story-forge
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/rpg-story-forge/
ご利用ありがとうございます!
Echo
Iris