リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: RPGストーリーフォージ AI風ドット絵冒険
島別ボス&中ボス専用モンスター画像セット追加(DQ風・島ごと固有20種)
## 1. 目的
世界マップが複数の島に分かれており、島ごとに固有モンスター遭遇テーブルが既に存在するが、現状の画像アセットは汎用的なものが中心。各島の「ラスボス・中ボス」に対応する島テーマ別専用画像を追加することで、島ごとの個性と達成感を強化し、プレイヤーの探索意欲を高める。
## 2. 追加画像アセット仕様
以下20種のPNG画像を `assets/monsters/` に追加する。ファイル名と対応する島テーマ・役割は下記の通り:
| ファイル名 | 島テーマ | 役割 |
|---|---|---|
| island_boss_sea_dragon.png | 海洋島 | ボス:海竜王 |
| island_boss_sand_pharaoh.png | 砂漠島 | ボス:砂漠のファラオ |
| island_boss_ice_giant.png | 雪原島 | ボス:氷雪巨人 |
| island_boss_volcano_demon.png | 火山島 | ボス:炎魔王 |
| island_boss_forest_spirit.png | 森林島 | ボス:大精霊樹 |
| island_mid_sea_serpent.png | 海洋島 | 中ボス:海蛇 |
| island_mid_sand_scorpion_king.png | 砂漠島 | 中ボス:大サソリ王 |
| island_mid_blizzard_wolf.png | 雪原島 | 中ボス:吹雪狼 |
| island_mid_lava_golem.png | 火山島 | 中ボス:溶岩ゴーレム |
| island_mid_treant.png | 森林島 | 中ボス:古木の精 |
| island_boss_swamp_witch.png | 沼地島 | ボス:沼の魔女 |
| island_boss_ruin_guardian.png | 遺跡島 | ボス:遺跡の守護者 |
| island_boss_thunder_bird.png | 高原島 | ボス:雷鳥神 |
| island_boss_dark_castle_lord.png | 暗黒城島 | ボス:暗黒城主 |
| island_boss_sea_witch.png | 海洋島サブ | ボス:海の魔女 |
| island_mid_swamp_toad.png | 沼地島 | 中ボス:大毒蛙 |
| island_mid_ruin_golem.png | 遺跡島 | 中ボス:石像兵 |
| island_mid_storm_hawk.png | 高原島 | 中ボス:嵐の鷹 |
| island_mid_shadow_knight.png | 暗黒城島 | 中ボス:影の騎士 |
| island_mid_coral_crab.png | 海洋島 | 中ボス:珊瑚蟹 |
## 3. lib.php の `rpgsf_assets()` 修正
`monster_images` 配列に上記20エントリを追記する:
```php
'island_boss_sea_dragon' => 'assets/monsters/island_boss_sea_dragon.png',
'island_boss_sand_pharaoh' => 'assets/monsters/island_boss_sand_pharaoh.png',
// ... 以下20種全て
```
## 4. 島ボスマッチングロジック追加
既存の `rpgsf_play_enemy_biome()` や島固有モンスターテーブルのマッチング処理を拡張し、以下のルールで新画像を自動選択する:
- 敵の `tags` 配列または `name` に `['ボス', 'boss', '王', '魔王', 'lord', 'king']` を含み、かつ島バイオームが `coast/ocean` → `island_boss_sea_dragon`
- 同条件で `desert` → `island_boss_sand_pharaoh`
- 同条件で `snow/ice` → `island_boss_ice_giant`
- 同条件で `volcano` → `island_boss_volcano_demon`
- 同条件で `forest` → `island_boss_forest_spirit`
- `['中ボス', 'mid_boss', '将', '副将']` タグ+バイオームで中ボス画像を同様にマッチング
- マッチしない場合は既存のフォールバック処理(汎用ボス画像)をそのまま使用
マッチング関数 `rpgsf_island_boss_image(array $enemy, string $biome): ?string` を `lib.php` に追加し、戦闘Canvas描画側・図鑑登録側で呼び出す。
## 5. 戦闘Canvas・図鑑への反映
- ボス画像は既存の `boss_*` 系と同様に通常モンスターより1.5倍大きく表示(Canvasの `drawImage` サイズ調整)
- 中ボス画像は通常の1.2倍
- 図鑑タブの「エリア別」表示で島名と対応ボス画像サムネイルを表示
- 既存の `monster_images` フォールバック処理はそのまま維持し、新画像がない場合は従来画像を使用
## 6. 既存機能との整合
- `monster_images` 配列への追記のみで既存エントリを変更しない
- マッチング関数は新規追加のみ、既存関数を上書きしない
- 画像ファイルが存在しない場合はCanvas描画をスキップし既存のドット絵生成にフォールバック
- スマホ・PC両対応のCanvas描画サイズは既存の `boss_*` 系に準じる
世界マップが複数の島に分かれており、島ごとに固有モンスター遭遇テーブルが既に存在するが、現状の画像アセットは汎用的なものが中心。各島の「ラスボス・中ボス」に対応する島テーマ別専用画像を追加することで、島ごとの個性と達成感を強化し、プレイヤーの探索意欲を高める。
## 2. 追加画像アセット仕様
以下20種のPNG画像を `assets/monsters/` に追加する。ファイル名と対応する島テーマ・役割は下記の通り:
| ファイル名 | 島テーマ | 役割 |
|---|---|---|
| island_boss_sea_dragon.png | 海洋島 | ボス:海竜王 |
| island_boss_sand_pharaoh.png | 砂漠島 | ボス:砂漠のファラオ |
| island_boss_ice_giant.png | 雪原島 | ボス:氷雪巨人 |
| island_boss_volcano_demon.png | 火山島 | ボス:炎魔王 |
| island_boss_forest_spirit.png | 森林島 | ボス:大精霊樹 |
| island_mid_sea_serpent.png | 海洋島 | 中ボス:海蛇 |
| island_mid_sand_scorpion_king.png | 砂漠島 | 中ボス:大サソリ王 |
| island_mid_blizzard_wolf.png | 雪原島 | 中ボス:吹雪狼 |
| island_mid_lava_golem.png | 火山島 | 中ボス:溶岩ゴーレム |
| island_mid_treant.png | 森林島 | 中ボス:古木の精 |
| island_boss_swamp_witch.png | 沼地島 | ボス:沼の魔女 |
| island_boss_ruin_guardian.png | 遺跡島 | ボス:遺跡の守護者 |
| island_boss_thunder_bird.png | 高原島 | ボス:雷鳥神 |
| island_boss_dark_castle_lord.png | 暗黒城島 | ボス:暗黒城主 |
| island_boss_sea_witch.png | 海洋島サブ | ボス:海の魔女 |
| island_mid_swamp_toad.png | 沼地島 | 中ボス:大毒蛙 |
| island_mid_ruin_golem.png | 遺跡島 | 中ボス:石像兵 |
| island_mid_storm_hawk.png | 高原島 | 中ボス:嵐の鷹 |
| island_mid_shadow_knight.png | 暗黒城島 | 中ボス:影の騎士 |
| island_mid_coral_crab.png | 海洋島 | 中ボス:珊瑚蟹 |
## 3. lib.php の `rpgsf_assets()` 修正
`monster_images` 配列に上記20エントリを追記する:
```php
'island_boss_sea_dragon' => 'assets/monsters/island_boss_sea_dragon.png',
'island_boss_sand_pharaoh' => 'assets/monsters/island_boss_sand_pharaoh.png',
// ... 以下20種全て
```
## 4. 島ボスマッチングロジック追加
既存の `rpgsf_play_enemy_biome()` や島固有モンスターテーブルのマッチング処理を拡張し、以下のルールで新画像を自動選択する:
- 敵の `tags` 配列または `name` に `['ボス', 'boss', '王', '魔王', 'lord', 'king']` を含み、かつ島バイオームが `coast/ocean` → `island_boss_sea_dragon`
- 同条件で `desert` → `island_boss_sand_pharaoh`
- 同条件で `snow/ice` → `island_boss_ice_giant`
- 同条件で `volcano` → `island_boss_volcano_demon`
- 同条件で `forest` → `island_boss_forest_spirit`
- `['中ボス', 'mid_boss', '将', '副将']` タグ+バイオームで中ボス画像を同様にマッチング
- マッチしない場合は既存のフォールバック処理(汎用ボス画像)をそのまま使用
マッチング関数 `rpgsf_island_boss_image(array $enemy, string $biome): ?string` を `lib.php` に追加し、戦闘Canvas描画側・図鑑登録側で呼び出す。
## 5. 戦闘Canvas・図鑑への反映
- ボス画像は既存の `boss_*` 系と同様に通常モンスターより1.5倍大きく表示(Canvasの `drawImage` サイズ調整)
- 中ボス画像は通常の1.2倍
- 図鑑タブの「エリア別」表示で島名と対応ボス画像サムネイルを表示
- 既存の `monster_images` フォールバック処理はそのまま維持し、新画像がない場合は従来画像を使用
## 6. 既存機能との整合
- `monster_images` 配列への追記のみで既存エントリを変更しない
- マッチング関数は新規追加のみ、既存関数を上書きしない
- 画像ファイルが存在しない場合はCanvas描画をスキップし既存のドット絵生成にフォールバック
- スマホ・PC両対応のCanvas描画サイズは既存の `boss_*` 系に準じる
💬 返信 (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