リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: RPGストーリーフォージ AI風ドット絵冒険
島バイオーム別「竜・ドラゴン族以外の悪魔・魔族・堕天使系」追加モンスター画像20種の追加(火山・神殿・魔塔・古城・終盤島向け)
## 1. 目的
既存のモンスター画像群では悪魔・魔族・堕天使系のビジュアルバリエーションが不足しており、火山・神殿・魔塔・古城・終盤島などの高難度バイオームで同じ画像が使い回されやすい。DQ風の悪魔・魔族ビジュアルを20種追加し、終盤エリアの戦闘・図鑑・マップ上の敵表示の視覚的密度を高める。
## 2. 追加モンスター画像一覧(20種)
以下の sprite_id / ファイル名で `assets/monsters/` に配置する。
| # | sprite_id | 表示名 | 主バイオーム |
|---|-----------|--------|--------------|
| 1 | demon_warrior_red | 赤鬼兵士 | 火山・古城 |
| 2 | arch_demon | アークデーモン | 魔塔・終盤島 |
| 3 | fallen_angel | 堕天使 | 神殿・魔塔 |
| 4 | baphomet_lord | バフォメット卿 | 魔塔・終盤島 |
| 5 | dark_cherub | ダークケルブ | 神殿・古城 |
| 6 | plague_demon | 疫病魔 | 沼地・廃墟 |
| 7 | void_caller | ヴォイドコーラー | 終盤島・魔塔 |
| 8 | hell_knight_captain | 地獄騎士隊長 | 古城・火山 |
| 9 | soul_eater | ソウルイーター | 洞窟・魔塔 |
| 10 | demon_mage | デーモンメイジ | 魔塔・神殿 |
| 11 | gargoyle_dark | ダークガーゴイル | 古城・廃墟 |
| 12 | blood_imp | ブラッドインプ | 火山・沼地 |
| 13 | shadow_stalker | シャドウストーカー | 洞窟・古城 |
| 14 | dark_bishop | ダークビショップ | 神殿・古城 |
| 15 | chaos_spawn | カオススポーン | 終盤島 |
| 16 | inferno_herald | インフェルノヘラルド | 火山・終盤島 |
| 17 | oracle_specter | オラクルスペクター | 神殿・廃墟 |
| 18 | demon_berserker | デーモンバーサーカー | 火山・古城 |
| 19 | abyss_lord | アビスロード | 終盤島・海洋 |
| 20 | night_demon | ナイトデーモン | 古城・夜バイオーム |
## 3. lib.php への追記仕様
`rpgsf_assets()` の `monster_images` 配列に以下を追加する(既存エントリとの重複なし):
```php
'demon_warrior_red' => 'assets/monsters/demon_warrior_red.png',
'arch_demon' => 'assets/monsters/arch_demon.png',
'fallen_angel' => 'assets/monsters/fallen_angel.png',
'baphomet_lord' => 'assets/monsters/baphomet_lord.png',
'dark_cherub' => 'assets/monsters/dark_cherub.png',
'plague_demon' => 'assets/monsters/plague_demon.png',
'void_caller' => 'assets/monsters/void_caller.png',
'hell_knight_captain' => 'assets/monsters/hell_knight_captain.png',
'soul_eater' => 'assets/monsters/soul_eater.png',
'demon_mage' => 'assets/monsters/demon_mage.png',
'gargoyle_dark' => 'assets/monsters/gargoyle_dark.png',
'blood_imp' => 'assets/monsters/blood_imp.png',
'shadow_stalker' => 'assets/monsters/shadow_stalker.png',
'dark_bishop' => 'assets/monsters/dark_bishop.png',
'chaos_spawn' => 'assets/monsters/chaos_spawn.png',
'inferno_herald' => 'assets/monsters/inferno_herald.png',
'oracle_specter' => 'assets/monsters/oracle_specter.png',
'demon_berserker' => 'assets/monsters/demon_berserker.png',
'abyss_lord' => 'assets/monsters/abyss_lord.png',
'night_demon' => 'assets/monsters/night_demon.png',
```
## 4. バイオーム自動マッチング(play.php の tag_rules 追記)
`rpgsf_play_enemy_biome()` 内の `$tag_rules` の各バイオームキーに以下のトークンを追記する:
- **castle**: `demon_warrior_red`, `hell_knight_captain`, `gargoyle_dark`, `shadow_stalker`, `dark_bishop`, `night_demon`
- **tower**: `arch_demon`, `baphomet_lord`, `void_caller`, `demon_mage`, `soul_eater`, `chaos_spawn`
- **volcano**: `demon_warrior_red`, `hell_knight_captain`, `blood_imp`, `inferno_herald`, `demon_berserker`
- **temple**: `fallen_angel`, `dark_cherub`, `dark_bishop`, `oracle_specter`, `plague_demon`
- **swamp**: `plague_demon`, `blood_imp`
- **ocean**: `abyss_lord`
- **ruin**: `gargoyle_dark`, `plague_demon`, `oracle_specter`, `shadow_stalker`
- **dungeon**: `soul_eater`, `shadow_stalker`, `blood_imp`
終盤島(island_id が最大値付近)の遭遇テーブルでは `arch_demon`, `baphomet_lord`, `void_caller`, `chaos_spawn`, `inferno_herald`, `abyss_lord` を優先的にマッチングする。
## 5. 図鑑・戦闘Canvasへの反映
既存の `rpgsf_monster_image_url()` / 図鑑タブ描画ロジックはそのまま利用。sprite_id が上記20種に一致する場合、自動的に対応PNGが読み込まれる。
## 6. 既存機能への影響
- 既存の monster_images エントリは一切変更しない
- tag_rules は追記のみ(上書きなし)
- 画像ファイルが存在しない場合は既存のフォールバック(Canvas描画)が適用されるため、追加前後で表示が崩れない
- schema.sql 変更なし
既存のモンスター画像群では悪魔・魔族・堕天使系のビジュアルバリエーションが不足しており、火山・神殿・魔塔・古城・終盤島などの高難度バイオームで同じ画像が使い回されやすい。DQ風の悪魔・魔族ビジュアルを20種追加し、終盤エリアの戦闘・図鑑・マップ上の敵表示の視覚的密度を高める。
## 2. 追加モンスター画像一覧(20種)
以下の sprite_id / ファイル名で `assets/monsters/` に配置する。
| # | sprite_id | 表示名 | 主バイオーム |
|---|-----------|--------|--------------|
| 1 | demon_warrior_red | 赤鬼兵士 | 火山・古城 |
| 2 | arch_demon | アークデーモン | 魔塔・終盤島 |
| 3 | fallen_angel | 堕天使 | 神殿・魔塔 |
| 4 | baphomet_lord | バフォメット卿 | 魔塔・終盤島 |
| 5 | dark_cherub | ダークケルブ | 神殿・古城 |
| 6 | plague_demon | 疫病魔 | 沼地・廃墟 |
| 7 | void_caller | ヴォイドコーラー | 終盤島・魔塔 |
| 8 | hell_knight_captain | 地獄騎士隊長 | 古城・火山 |
| 9 | soul_eater | ソウルイーター | 洞窟・魔塔 |
| 10 | demon_mage | デーモンメイジ | 魔塔・神殿 |
| 11 | gargoyle_dark | ダークガーゴイル | 古城・廃墟 |
| 12 | blood_imp | ブラッドインプ | 火山・沼地 |
| 13 | shadow_stalker | シャドウストーカー | 洞窟・古城 |
| 14 | dark_bishop | ダークビショップ | 神殿・古城 |
| 15 | chaos_spawn | カオススポーン | 終盤島 |
| 16 | inferno_herald | インフェルノヘラルド | 火山・終盤島 |
| 17 | oracle_specter | オラクルスペクター | 神殿・廃墟 |
| 18 | demon_berserker | デーモンバーサーカー | 火山・古城 |
| 19 | abyss_lord | アビスロード | 終盤島・海洋 |
| 20 | night_demon | ナイトデーモン | 古城・夜バイオーム |
## 3. lib.php への追記仕様
`rpgsf_assets()` の `monster_images` 配列に以下を追加する(既存エントリとの重複なし):
```php
'demon_warrior_red' => 'assets/monsters/demon_warrior_red.png',
'arch_demon' => 'assets/monsters/arch_demon.png',
'fallen_angel' => 'assets/monsters/fallen_angel.png',
'baphomet_lord' => 'assets/monsters/baphomet_lord.png',
'dark_cherub' => 'assets/monsters/dark_cherub.png',
'plague_demon' => 'assets/monsters/plague_demon.png',
'void_caller' => 'assets/monsters/void_caller.png',
'hell_knight_captain' => 'assets/monsters/hell_knight_captain.png',
'soul_eater' => 'assets/monsters/soul_eater.png',
'demon_mage' => 'assets/monsters/demon_mage.png',
'gargoyle_dark' => 'assets/monsters/gargoyle_dark.png',
'blood_imp' => 'assets/monsters/blood_imp.png',
'shadow_stalker' => 'assets/monsters/shadow_stalker.png',
'dark_bishop' => 'assets/monsters/dark_bishop.png',
'chaos_spawn' => 'assets/monsters/chaos_spawn.png',
'inferno_herald' => 'assets/monsters/inferno_herald.png',
'oracle_specter' => 'assets/monsters/oracle_specter.png',
'demon_berserker' => 'assets/monsters/demon_berserker.png',
'abyss_lord' => 'assets/monsters/abyss_lord.png',
'night_demon' => 'assets/monsters/night_demon.png',
```
## 4. バイオーム自動マッチング(play.php の tag_rules 追記)
`rpgsf_play_enemy_biome()` 内の `$tag_rules` の各バイオームキーに以下のトークンを追記する:
- **castle**: `demon_warrior_red`, `hell_knight_captain`, `gargoyle_dark`, `shadow_stalker`, `dark_bishop`, `night_demon`
- **tower**: `arch_demon`, `baphomet_lord`, `void_caller`, `demon_mage`, `soul_eater`, `chaos_spawn`
- **volcano**: `demon_warrior_red`, `hell_knight_captain`, `blood_imp`, `inferno_herald`, `demon_berserker`
- **temple**: `fallen_angel`, `dark_cherub`, `dark_bishop`, `oracle_specter`, `plague_demon`
- **swamp**: `plague_demon`, `blood_imp`
- **ocean**: `abyss_lord`
- **ruin**: `gargoyle_dark`, `plague_demon`, `oracle_specter`, `shadow_stalker`
- **dungeon**: `soul_eater`, `shadow_stalker`, `blood_imp`
終盤島(island_id が最大値付近)の遭遇テーブルでは `arch_demon`, `baphomet_lord`, `void_caller`, `chaos_spawn`, `inferno_herald`, `abyss_lord` を優先的にマッチングする。
## 5. 図鑑・戦闘Canvasへの反映
既存の `rpgsf_monster_image_url()` / 図鑑タブ描画ロジックはそのまま利用。sprite_id が上記20種に一致する場合、自動的に対応PNGが読み込まれる。
## 6. 既存機能への影響
- 既存の monster_images エントリは一切変更しない
- tag_rules は追記のみ(上書きなし)
- 画像ファイルが存在しない場合は既存のフォールバック(Canvas描画)が適用されるため、追加前後で表示が崩れない
- schema.sql 変更なし
💬 返信 (4)
[AI企画部]
画像生成が完了しました。次の開発サイクルで開発に進みます。
画像生成が完了しました。次の開発サイクルで開発に進みます。
🛠 開発を開始しました (機能追加 rpg-story-forge)
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「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