リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: RPGストーリーフォージ AI風ドット絵冒険
フィールド・ダンジョン・ボス別モンスター追加画像セット(DQ風イラスト20種)の内蔵と図鑑・戦闘Canvas反映
## 1. 目的
現在 `lib.php` の `monster_images` には通常モンスター20種+ボス10種の計30種のPNG参照が定義されているが、管理者方針「ドラゴンクエストに出てきそうなビジュアルのモンスターを画像生成」に基づき、まだカバーされていないDQ風モンスター種別(スライムベス・キラーマシン・メタルスライム・バブルスライム・ドラキー・ホイミスライム・おばけキノコ・かげのきし・ギガンテス・ゾンビナイト・ベホマスライム・おどるほうせき・マドハンド・メラゴースト・いしにんぎょう・アンクル・サタンジェネラル・じごくのもんばん・ダークトロル・デスピサロ風)に相当する画像20種を新規生成・内蔵し、戦闘Canvas・図鑑・マップ上の敵表示へ自動反映する。
## 2. 具体的な仕様
### 2-1. 追加する画像ファイルと内蔵キー
`assets/monsters/` 以下に以下のPNGを追加(各128×128px、透過背景):
| キー | ファイル名 | 想定モンスター |
|---|---|---|
| slime_beth | slime_beth.png | スライムベス系 |
| metal_slime | metal_slime.png | メタルスライム系 |
| bubble_slime | bubble_slime.png | バブルスライム系 |
| drakee | drakee.png | ドラキー系 |
| hoimi_slime | hoimi_slime.png | ホイミスライム系 |
| mushroom | mushroom.png | おばけキノコ系 |
| shadow_knight | shadow_knight.png | かげのきし系 |
| gigantes | gigantes.png | ギガンテス系 |
| zombie_knight | zombie_knight.png | ゾンビナイト系 |
| behoma_slime | behoma_slime.png | ベホマスライム系 |
| dancing_jewel | dancing_jewel.png | おどるほうせき系 |
| mad_hand | mad_hand.png | マドハンド系 |
| mera_ghost | mera_ghost.png | メラゴースト系 |
| stone_statue | stone_statue.png | いしにんぎょう系 |
| ankh_demon | ankh_demon.png | アンクル系 |
| satan_general | satan_general.png | サタンジェネラル系 |
| hell_guard | hell_guard.png | じごくのもんばん系 |
| dark_troll | dark_troll.png | ダークトロル系 |
| killer_machine | killer_machine.png | キラーマシン系 |
| death_pisaro | death_pisaro.png | デスピサロ風ラスボス |
`death_pisaro` はボスフラグ(`is_boss: true`)を付与し、戦闘Canvasで大型(240×240px相当)表示とする。
### 2-2. lib.php の `rpgsf_assets()` への追記
`monster_images` 配列に上記20キーとパスを追加する:
```php
'slime_beth' => 'assets/monsters/slime_beth.png',
'metal_slime' => 'assets/monsters/metal_slime.png',
// ... 以下同様
'death_pisaro' => 'assets/monsters/death_pisaro.png',
```
また `monster_image_meta` サブ配列を新設し、ボス判定・推奨表示サイズ・タグを保持する:
```php
'monster_image_meta' => [
'death_pisaro' => ['is_boss' => true, 'display_size' => 240, 'tags' => ['dark', 'humanoid', 'boss']],
'gigantes' => ['is_boss' => false, 'display_size' => 160, 'tags' => ['giant', 'outdoor']],
// 通常種は display_size => 128
// ...
],
```
### 2-3. スプライトID自動マッチングの拡張
既存の `rpgsf_play_enemy_biome()` と敵データのタグ照合ロジックに、新規20キーのタグを追加する。
敵名・タグに以下の語が含まれる場合に対応するキーへマッチさせる(例):
- 「スライム」「べス」→ `slime_beth`
- 「メタル」「はぐれ」→ `metal_slime`
- 「キラー」「マシン」「機械」→ `killer_machine`
- 「デスピサロ」「ピサロ」「ラスボス」→ `death_pisaro`
- 以下同様(各キー2〜3ワード)
マッチしない場合は既存フォールバック(`slime.png` 等)を使用し、既存動作を壊さない。
### 2-4. 戦闘Canvas表示
- `monster_image_meta` の `display_size` を参照し、通常敵128px・中型160px・ボス240pxで描画。
- `death_pisaro` など `is_boss: true` の場合は既存ボス演出(登場エフェクト・HP低下色変化)を自動適用。
- 既存のボス10種(`boss_dragon_lord` 等)との処理パスは共通化し重複しない。
### 2-5. 図鑑タブへの反映
- 既存の図鑑Canvas描画ロジックが `monster_images` 配列を参照しているため、キーを追加するだけで自動的に図鑑に画像が表示される。
- 図鑑の「未撃破」モンスターはシルエット表示のまま(既存動作維持)。
## 3. 既存機能との整合(壊さない点)
- `monster_images` は配列追記のみ。既存30キーは変更しない。
- `display_size` 未定義キーは従来どおり128pxで描画。
- ボス判定フラグのない新規モンスターはボス演出をトリガーしない。
- スプライトIDマッチングは「完全一致→部分一致→フォールバック」の優先順位を維持。
- `.htaccess` の `max-age=31536000` キャッシュ設定はPNG追加で自動適用される。
現在 `lib.php` の `monster_images` には通常モンスター20種+ボス10種の計30種のPNG参照が定義されているが、管理者方針「ドラゴンクエストに出てきそうなビジュアルのモンスターを画像生成」に基づき、まだカバーされていないDQ風モンスター種別(スライムベス・キラーマシン・メタルスライム・バブルスライム・ドラキー・ホイミスライム・おばけキノコ・かげのきし・ギガンテス・ゾンビナイト・ベホマスライム・おどるほうせき・マドハンド・メラゴースト・いしにんぎょう・アンクル・サタンジェネラル・じごくのもんばん・ダークトロル・デスピサロ風)に相当する画像20種を新規生成・内蔵し、戦闘Canvas・図鑑・マップ上の敵表示へ自動反映する。
## 2. 具体的な仕様
### 2-1. 追加する画像ファイルと内蔵キー
`assets/monsters/` 以下に以下のPNGを追加(各128×128px、透過背景):
| キー | ファイル名 | 想定モンスター |
|---|---|---|
| slime_beth | slime_beth.png | スライムベス系 |
| metal_slime | metal_slime.png | メタルスライム系 |
| bubble_slime | bubble_slime.png | バブルスライム系 |
| drakee | drakee.png | ドラキー系 |
| hoimi_slime | hoimi_slime.png | ホイミスライム系 |
| mushroom | mushroom.png | おばけキノコ系 |
| shadow_knight | shadow_knight.png | かげのきし系 |
| gigantes | gigantes.png | ギガンテス系 |
| zombie_knight | zombie_knight.png | ゾンビナイト系 |
| behoma_slime | behoma_slime.png | ベホマスライム系 |
| dancing_jewel | dancing_jewel.png | おどるほうせき系 |
| mad_hand | mad_hand.png | マドハンド系 |
| mera_ghost | mera_ghost.png | メラゴースト系 |
| stone_statue | stone_statue.png | いしにんぎょう系 |
| ankh_demon | ankh_demon.png | アンクル系 |
| satan_general | satan_general.png | サタンジェネラル系 |
| hell_guard | hell_guard.png | じごくのもんばん系 |
| dark_troll | dark_troll.png | ダークトロル系 |
| killer_machine | killer_machine.png | キラーマシン系 |
| death_pisaro | death_pisaro.png | デスピサロ風ラスボス |
`death_pisaro` はボスフラグ(`is_boss: true`)を付与し、戦闘Canvasで大型(240×240px相当)表示とする。
### 2-2. lib.php の `rpgsf_assets()` への追記
`monster_images` 配列に上記20キーとパスを追加する:
```php
'slime_beth' => 'assets/monsters/slime_beth.png',
'metal_slime' => 'assets/monsters/metal_slime.png',
// ... 以下同様
'death_pisaro' => 'assets/monsters/death_pisaro.png',
```
また `monster_image_meta` サブ配列を新設し、ボス判定・推奨表示サイズ・タグを保持する:
```php
'monster_image_meta' => [
'death_pisaro' => ['is_boss' => true, 'display_size' => 240, 'tags' => ['dark', 'humanoid', 'boss']],
'gigantes' => ['is_boss' => false, 'display_size' => 160, 'tags' => ['giant', 'outdoor']],
// 通常種は display_size => 128
// ...
],
```
### 2-3. スプライトID自動マッチングの拡張
既存の `rpgsf_play_enemy_biome()` と敵データのタグ照合ロジックに、新規20キーのタグを追加する。
敵名・タグに以下の語が含まれる場合に対応するキーへマッチさせる(例):
- 「スライム」「べス」→ `slime_beth`
- 「メタル」「はぐれ」→ `metal_slime`
- 「キラー」「マシン」「機械」→ `killer_machine`
- 「デスピサロ」「ピサロ」「ラスボス」→ `death_pisaro`
- 以下同様(各キー2〜3ワード)
マッチしない場合は既存フォールバック(`slime.png` 等)を使用し、既存動作を壊さない。
### 2-4. 戦闘Canvas表示
- `monster_image_meta` の `display_size` を参照し、通常敵128px・中型160px・ボス240pxで描画。
- `death_pisaro` など `is_boss: true` の場合は既存ボス演出(登場エフェクト・HP低下色変化)を自動適用。
- 既存のボス10種(`boss_dragon_lord` 等)との処理パスは共通化し重複しない。
### 2-5. 図鑑タブへの反映
- 既存の図鑑Canvas描画ロジックが `monster_images` 配列を参照しているため、キーを追加するだけで自動的に図鑑に画像が表示される。
- 図鑑の「未撃破」モンスターはシルエット表示のまま(既存動作維持)。
## 3. 既存機能との整合(壊さない点)
- `monster_images` は配列追記のみ。既存30キーは変更しない。
- `display_size` 未定義キーは従来どおり128pxで描画。
- ボス判定フラグのない新規モンスターはボス演出をトリガーしない。
- スプライトIDマッチングは「完全一致→部分一致→フォールバック」の優先順位を維持。
- `.htaccess` の `max-age=31536000` キャッシュ設定はPNG追加で自動適用される。
💬 返信 (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