リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: RPGストーリーフォージ AI風ドット絵冒険
島バイオーム別「人型・戦士・盗賊・魔法使い系」敵モンスター画像20種の追加
## 1. 目的
人型の敵(盗賊、傭兵、邪悪な騎士、魔法使い、暗黒司祭、山賊など)はDQシリーズでも頻出の敵カテゴリだが、現在の内蔵画像では城・塔・遺跡バイオームの人型敵に割り当てられる専用画像が不足している。本改善では島バイオーム別に自動マッチングされる人型・戦士・盗賊・魔法使い系モンスター画像20種を追加し、戦闘Canvas・図鑑・マップ上の敵表示品質を向上させる。
## 2. 追加する画像20種(assets/monsters/ 以下に配置)
| ファイル名 | モンスター名(表示用) | 主な対応バイオーム |
|---|---|---|
| humanoid_bandit.png | 山賊 | 草原・森・海岸 |
| humanoid_rogue.png | 盗賊 | 草原・砂漠・城 |
| humanoid_mercenary.png | 傭兵 | 草原・城・遺跡 |
| humanoid_axe_warrior.png | 斧戦士 | 雪原・火山・城 |
| humanoid_berserker.png | バーサーカー | 火山・雪原・古城 |
| humanoid_spear_soldier.png | 槍兵 | 草原・城・砂漠 |
| humanoid_dark_paladin.png | 暗黒騎士 | 城・神殿・魔塔 |
| humanoid_curse_knight.png | 呪縛の騎士 | 古城・廃墟・ダンジョン |
| humanoid_shadow_assassin.png | 影の暗殺者 | 沼地・廃墟・城 |
| humanoid_desert_raider.png | 砂漠の略奪者 | 砂漠・海岸 |
| humanoid_snow_hunter.png | 雪原の狩人 | 雪原 |
| humanoid_swamp_shaman.png | 沼地の呪術師 | 沼地・毒沼 |
| humanoid_fire_cultist.png | 炎の狂信者 | 火山 |
| humanoid_sea_raider.png | 海賊 | 海岸・海洋 |
| humanoid_apprentice_mage.png | 見習い魔法使い | 草原・城・神殿 |
| humanoid_sorcerer.png | 妖術師 | 砂漠・沼地・廃墟 |
| humanoid_necromancer.png | 死霊使い | 古城・廃墟・ダンジョン |
| humanoid_dark_priest.png | 暗黒司祭 | 神殿・魔塔・古城 |
| humanoid_rune_witch.png | ルーン魔女 | 雪原・神殿・魔塔 |
| humanoid_void_sage.png | 虚無の賢者 | 終盤島・魔塔・ダンジョン |
## 3. 実装仕様
### 3-1. 画像ファイル配置
- `assets/monsters/humanoid_bandit.png` … `humanoid_void_sage.png` の20ファイルを追加
- 解像度: 128×128px(既存モンスター画像に準拠)
- 背景透過PNG
### 3-2. lib.php の `rpgsf_assets()` への追記
`monster_images` 配列に以下20件を追加(既存エントリに続けて記述):
```php
'humanoid_bandit' => 'assets/monsters/humanoid_bandit.png',
'humanoid_rogue' => 'assets/monsters/humanoid_rogue.png',
'humanoid_mercenary' => 'assets/monsters/humanoid_mercenary.png',
'humanoid_axe_warrior' => 'assets/monsters/humanoid_axe_warrior.png',
'humanoid_berserker' => 'assets/monsters/humanoid_berserker.png',
'humanoid_spear_soldier' => 'assets/monsters/humanoid_spear_soldier.png',
'humanoid_dark_paladin' => 'assets/monsters/humanoid_dark_paladin.png',
'humanoid_curse_knight' => 'assets/monsters/humanoid_curse_knight.png',
'humanoid_shadow_assassin' => 'assets/monsters/humanoid_shadow_assassin.png',
'humanoid_desert_raider' => 'assets/monsters/humanoid_desert_raider.png',
'humanoid_snow_hunter' => 'assets/monsters/humanoid_snow_hunter.png',
'humanoid_swamp_shaman' => 'assets/monsters/humanoid_swamp_shaman.png',
'humanoid_fire_cultist' => 'assets/monsters/humanoid_fire_cultist.png',
'humanoid_sea_raider' => 'assets/monsters/humanoid_sea_raider.png',
'humanoid_apprentice_mage' => 'assets/monsters/humanoid_apprentice_mage.png',
'humanoid_sorcerer' => 'assets/monsters/humanoid_sorcerer.png',
'humanoid_necromancer' => 'assets/monsters/humanoid_necromancer.png',
'humanoid_dark_priest' => 'assets/monsters/humanoid_dark_priest.png',
'humanoid_rune_witch' => 'assets/monsters/humanoid_rune_witch.png',
'humanoid_void_sage' => 'assets/monsters/humanoid_void_sage.png',
```
### 3-3. バイオーム別タグルール(pages/play.php の `rpgsf_play_enemy_biome()` 内 `$tag_rules` へ追記)
既存の castle / tower / ruin / grassland / desert / snow / swamp / coast / ocean / volcano / dungeon / temple 各エントリのキーワード配列に、以下の文字列を追加マージする:
- `'grassland'` → `'humanoid_bandit', 'humanoid_mercenary', 'humanoid_spear_soldier', 'humanoid_apprentice_mage', '山賊', '傭兵', '槍兵'`
- `'forest'` → `'humanoid_bandit', 'humanoid_rogue', 'humanoid_shadow_assassin'`
- `'desert'` → `'humanoid_desert_raider', 'humanoid_sorcerer', '砂漠の略奪者', '妖術師'`
- `'snow'` → `'humanoid_snow_hunter', 'humanoid_berserker', 'humanoid_rune_witch', '雪原の狩人'`
- `'swamp'` → `'humanoid_swamp_shaman', 'humanoid_sorcerer', 'humanoid_shadow_assassin', '呪術師'`
- `'coast'` → `'humanoid_sea_raider', 'humanoid_bandit', '海賊'`
- `'ocean'` → `'humanoid_sea_raider', '海賊'`
- `'volcano'` → `'humanoid_fire_cultist', 'humanoid_berserker', 'humanoid_axe_warrior', '炎の狂信者'`
- `'castle'` → `'humanoid_dark_paladin', 'humanoid_curse_knight', 'humanoid_mercenary', 'humanoid_spear_soldier', '暗黒騎士', '呪縛の騎士'`
- `'tower'` → `'humanoid_dark_priest', 'humanoid_void_sage', 'humanoid_necromancer', 'humanoid_rune_witch', '暗黒司祭', '虚無の賢者'`
- `'ruin'` → `'humanoid_necromancer', 'humanoid_curse_knight', 'humanoid_shadow_assassin', 'humanoid_sorcerer', '死霊使い'`
- `'dungeon'` → `'humanoid_necromancer', 'humanoid_dark_paladin', 'humanoid_void_sage', 'humanoid_rogue'`
- `'temple'` → `'humanoid_dark_priest', 'humanoid_rune_witch', 'humanoid_dark_paladin', '暗黒司祭'`
### 3-4. モンスター画像マッチング関数への反映
既存の `rpgsf_resolve_monster_image()` 相当のロジック(sprite_id / id / name / tags からキー照合)において、新規20キーが自動的にマッチするよう、追加した `monster_images` エントリがそのまま使用される。追加コードは不要(既存ロジックで吸収される)。
### 3-5. 図鑑・マップ表示
既存の図鑑タブおよびマップ上の敵アイコン描画ロジックは `monster_images` 配列から画像パスを引くため、追記だけで自動反映される。追加実装不要。
## 4. 既存機能との整合
- 既存モンスター画像・バイオームルール・戦闘ロジックは一切変更しない
- タグルールはキーワード配列への追記のみで、既存エントリの削除・変更なし
- manifest.json の `version` を 2.22.0 に更新し、`features` と `release_notes` に本改善を追記する
人型の敵(盗賊、傭兵、邪悪な騎士、魔法使い、暗黒司祭、山賊など)はDQシリーズでも頻出の敵カテゴリだが、現在の内蔵画像では城・塔・遺跡バイオームの人型敵に割り当てられる専用画像が不足している。本改善では島バイオーム別に自動マッチングされる人型・戦士・盗賊・魔法使い系モンスター画像20種を追加し、戦闘Canvas・図鑑・マップ上の敵表示品質を向上させる。
## 2. 追加する画像20種(assets/monsters/ 以下に配置)
| ファイル名 | モンスター名(表示用) | 主な対応バイオーム |
|---|---|---|
| humanoid_bandit.png | 山賊 | 草原・森・海岸 |
| humanoid_rogue.png | 盗賊 | 草原・砂漠・城 |
| humanoid_mercenary.png | 傭兵 | 草原・城・遺跡 |
| humanoid_axe_warrior.png | 斧戦士 | 雪原・火山・城 |
| humanoid_berserker.png | バーサーカー | 火山・雪原・古城 |
| humanoid_spear_soldier.png | 槍兵 | 草原・城・砂漠 |
| humanoid_dark_paladin.png | 暗黒騎士 | 城・神殿・魔塔 |
| humanoid_curse_knight.png | 呪縛の騎士 | 古城・廃墟・ダンジョン |
| humanoid_shadow_assassin.png | 影の暗殺者 | 沼地・廃墟・城 |
| humanoid_desert_raider.png | 砂漠の略奪者 | 砂漠・海岸 |
| humanoid_snow_hunter.png | 雪原の狩人 | 雪原 |
| humanoid_swamp_shaman.png | 沼地の呪術師 | 沼地・毒沼 |
| humanoid_fire_cultist.png | 炎の狂信者 | 火山 |
| humanoid_sea_raider.png | 海賊 | 海岸・海洋 |
| humanoid_apprentice_mage.png | 見習い魔法使い | 草原・城・神殿 |
| humanoid_sorcerer.png | 妖術師 | 砂漠・沼地・廃墟 |
| humanoid_necromancer.png | 死霊使い | 古城・廃墟・ダンジョン |
| humanoid_dark_priest.png | 暗黒司祭 | 神殿・魔塔・古城 |
| humanoid_rune_witch.png | ルーン魔女 | 雪原・神殿・魔塔 |
| humanoid_void_sage.png | 虚無の賢者 | 終盤島・魔塔・ダンジョン |
## 3. 実装仕様
### 3-1. 画像ファイル配置
- `assets/monsters/humanoid_bandit.png` … `humanoid_void_sage.png` の20ファイルを追加
- 解像度: 128×128px(既存モンスター画像に準拠)
- 背景透過PNG
### 3-2. lib.php の `rpgsf_assets()` への追記
`monster_images` 配列に以下20件を追加(既存エントリに続けて記述):
```php
'humanoid_bandit' => 'assets/monsters/humanoid_bandit.png',
'humanoid_rogue' => 'assets/monsters/humanoid_rogue.png',
'humanoid_mercenary' => 'assets/monsters/humanoid_mercenary.png',
'humanoid_axe_warrior' => 'assets/monsters/humanoid_axe_warrior.png',
'humanoid_berserker' => 'assets/monsters/humanoid_berserker.png',
'humanoid_spear_soldier' => 'assets/monsters/humanoid_spear_soldier.png',
'humanoid_dark_paladin' => 'assets/monsters/humanoid_dark_paladin.png',
'humanoid_curse_knight' => 'assets/monsters/humanoid_curse_knight.png',
'humanoid_shadow_assassin' => 'assets/monsters/humanoid_shadow_assassin.png',
'humanoid_desert_raider' => 'assets/monsters/humanoid_desert_raider.png',
'humanoid_snow_hunter' => 'assets/monsters/humanoid_snow_hunter.png',
'humanoid_swamp_shaman' => 'assets/monsters/humanoid_swamp_shaman.png',
'humanoid_fire_cultist' => 'assets/monsters/humanoid_fire_cultist.png',
'humanoid_sea_raider' => 'assets/monsters/humanoid_sea_raider.png',
'humanoid_apprentice_mage' => 'assets/monsters/humanoid_apprentice_mage.png',
'humanoid_sorcerer' => 'assets/monsters/humanoid_sorcerer.png',
'humanoid_necromancer' => 'assets/monsters/humanoid_necromancer.png',
'humanoid_dark_priest' => 'assets/monsters/humanoid_dark_priest.png',
'humanoid_rune_witch' => 'assets/monsters/humanoid_rune_witch.png',
'humanoid_void_sage' => 'assets/monsters/humanoid_void_sage.png',
```
### 3-3. バイオーム別タグルール(pages/play.php の `rpgsf_play_enemy_biome()` 内 `$tag_rules` へ追記)
既存の castle / tower / ruin / grassland / desert / snow / swamp / coast / ocean / volcano / dungeon / temple 各エントリのキーワード配列に、以下の文字列を追加マージする:
- `'grassland'` → `'humanoid_bandit', 'humanoid_mercenary', 'humanoid_spear_soldier', 'humanoid_apprentice_mage', '山賊', '傭兵', '槍兵'`
- `'forest'` → `'humanoid_bandit', 'humanoid_rogue', 'humanoid_shadow_assassin'`
- `'desert'` → `'humanoid_desert_raider', 'humanoid_sorcerer', '砂漠の略奪者', '妖術師'`
- `'snow'` → `'humanoid_snow_hunter', 'humanoid_berserker', 'humanoid_rune_witch', '雪原の狩人'`
- `'swamp'` → `'humanoid_swamp_shaman', 'humanoid_sorcerer', 'humanoid_shadow_assassin', '呪術師'`
- `'coast'` → `'humanoid_sea_raider', 'humanoid_bandit', '海賊'`
- `'ocean'` → `'humanoid_sea_raider', '海賊'`
- `'volcano'` → `'humanoid_fire_cultist', 'humanoid_berserker', 'humanoid_axe_warrior', '炎の狂信者'`
- `'castle'` → `'humanoid_dark_paladin', 'humanoid_curse_knight', 'humanoid_mercenary', 'humanoid_spear_soldier', '暗黒騎士', '呪縛の騎士'`
- `'tower'` → `'humanoid_dark_priest', 'humanoid_void_sage', 'humanoid_necromancer', 'humanoid_rune_witch', '暗黒司祭', '虚無の賢者'`
- `'ruin'` → `'humanoid_necromancer', 'humanoid_curse_knight', 'humanoid_shadow_assassin', 'humanoid_sorcerer', '死霊使い'`
- `'dungeon'` → `'humanoid_necromancer', 'humanoid_dark_paladin', 'humanoid_void_sage', 'humanoid_rogue'`
- `'temple'` → `'humanoid_dark_priest', 'humanoid_rune_witch', 'humanoid_dark_paladin', '暗黒司祭'`
### 3-4. モンスター画像マッチング関数への反映
既存の `rpgsf_resolve_monster_image()` 相当のロジック(sprite_id / id / name / tags からキー照合)において、新規20キーが自動的にマッチするよう、追加した `monster_images` エントリがそのまま使用される。追加コードは不要(既存ロジックで吸収される)。
### 3-5. 図鑑・マップ表示
既存の図鑑タブおよびマップ上の敵アイコン描画ロジックは `monster_images` 配列から画像パスを引くため、追記だけで自動反映される。追加実装不要。
## 4. 既存機能との整合
- 既存モンスター画像・バイオームルール・戦闘ロジックは一切変更しない
- タグルールはキーワード配列への追記のみで、既存エントリの削除・変更なし
- manifest.json の `version` を 2.22.0 に更新し、`features` と `release_notes` に本改善を追記する
💬 返信 (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