リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: RPGストーリーフォージ AI風ドット絵冒険
ボス・中ボス専用モンスター画像セットの追加と戦闘画面への大型表示
## 1. 目的
現在の20種モンスター画像はスライム・ドラゴン・スケルトンなど汎用的なものだが、ボス戦・中ボス戦に対応した「より強大でドラゴンクエスト風の迫力あるボスモンスター」画像が存在しない。シナリオのクライマックスであるボス戦でプレイヤーが受ける視覚的インパクトを高めるため、ボス専用の大型モンスター画像を追加し、戦闘Canvasでの表示サイズを通常敵より大きくする改善を行う。
## 2. 追加する画像素材
以下10種のボス・中ボス向けモンスターPNG画像を `assets/monsters/` 以下に追加する:
- `boss_dragon_lord.png` … 魔王風ダークドラゴン(最終ボス想定)
- `boss_demon_king.png` … 甲冑を纏った魔王(人型ボス)
- `boss_hydra.png` … 三頭蛇ヒドラ(中ボス)
- `boss_golem_titan.png` … 巨大岩石ゴーレム(中ボス)
- `boss_lich.png` … 骸骨魔法使いリッチ(中ボス)
- `boss_kraken.png` … 海底クラーケン(海洋バイオームボス)
- `boss_phoenix.png` … 炎の不死鳥(火山バイオームボス)
- `boss_dark_knight.png` … 暗黒騎士(城バイオームボス)
- `boss_slime_emperor.png` … 王冠付き超巨大スライム皇帝(コミカルボス)
- `boss_ancient_dragon.png` … 古代竜(最終ダンジョンボス)
## 3. lib.php の変更
`rpgsf_assets()` の `monster_images` 配列に上記10キーを追加する:
```php
'boss_dragon_lord' => 'assets/monsters/boss_dragon_lord.png',
'boss_demon_king' => 'assets/monsters/boss_demon_king.png',
'boss_hydra' => 'assets/monsters/boss_hydra.png',
'boss_golem_titan' => 'assets/monsters/boss_golem_titan.png',
'boss_lich' => 'assets/monsters/boss_lich.png',
'boss_kraken' => 'assets/monsters/boss_kraken.png',
'boss_phoenix' => 'assets/monsters/boss_phoenix.png',
'boss_dark_knight' => 'assets/monsters/boss_dark_knight.png',
'boss_slime_emperor'=> 'assets/monsters/boss_slime_emperor.png',
'boss_ancient_dragon'=> 'assets/monsters/boss_ancient_dragon.png',
```
## 4. シナリオ生成側でのボス判定と画像割り当て
シナリオJSON内の各敵に `is_boss: true` フラグが付いている(またはクエスト目標の討伐対象である)場合、`sprite_id` に `boss_` プレフィックスのキーを優先的に割り当てるロジックをシナリオ生成PHP(`lib.php` 内の生成関数)に追加する。
- バイオーム・テーマとのマッチング例:
- 海洋/海岸バイオーム → `boss_kraken`
- 火山バイオーム → `boss_phoenix`
- 城/暗黒テーマ → `boss_demon_king` または `boss_dark_knight`
- 洞窟/ダンジョン → `boss_ancient_dragon` または `boss_lich`
- デフォルト最終ボス → `boss_dragon_lord`
## 5. 戦闘Canvas側でのボス大型表示
`pages/play.php` 内の戦闘Canvas描画JSにて、敵データの `is_boss === true` を検出した場合:
- 通常敵: Canvasに対して幅160px × 高さ160px で描画
- ボス敵: 幅240px × 高さ240px(1.5倍)で描画し、Canvas中央寄り上方に配置
- ボス登場時に1回だけ画面全体を黄金色にフラッシュするCSSアニメーション(`@keyframes boss-flash`)を追加
- ボスのHP低下演出(50%以下)でスプライトに赤みがかったCanvas `globalCompositeOperation` フィルタを適用
## 6. 既存機能との整合
- 既存の20種モンスター画像・通常敵の表示ロジックは一切変更しない
- `is_boss` フラグがない敵は従来通りの通常サイズで表示
- 図鑑タブでもボスモンスターは大きめのサムネイルで表示(64px → 96px)
- スマホ表示ではボスサイズを `min(240, canvas.width * 0.55)` でClampし、はみ出しを防ぐ
- 後方互換のため `sprite_id` が `boss_` で始まるが画像ファイルが存在しない場合はフォールバックとして `dragon.png` を使用
現在の20種モンスター画像はスライム・ドラゴン・スケルトンなど汎用的なものだが、ボス戦・中ボス戦に対応した「より強大でドラゴンクエスト風の迫力あるボスモンスター」画像が存在しない。シナリオのクライマックスであるボス戦でプレイヤーが受ける視覚的インパクトを高めるため、ボス専用の大型モンスター画像を追加し、戦闘Canvasでの表示サイズを通常敵より大きくする改善を行う。
## 2. 追加する画像素材
以下10種のボス・中ボス向けモンスターPNG画像を `assets/monsters/` 以下に追加する:
- `boss_dragon_lord.png` … 魔王風ダークドラゴン(最終ボス想定)
- `boss_demon_king.png` … 甲冑を纏った魔王(人型ボス)
- `boss_hydra.png` … 三頭蛇ヒドラ(中ボス)
- `boss_golem_titan.png` … 巨大岩石ゴーレム(中ボス)
- `boss_lich.png` … 骸骨魔法使いリッチ(中ボス)
- `boss_kraken.png` … 海底クラーケン(海洋バイオームボス)
- `boss_phoenix.png` … 炎の不死鳥(火山バイオームボス)
- `boss_dark_knight.png` … 暗黒騎士(城バイオームボス)
- `boss_slime_emperor.png` … 王冠付き超巨大スライム皇帝(コミカルボス)
- `boss_ancient_dragon.png` … 古代竜(最終ダンジョンボス)
## 3. lib.php の変更
`rpgsf_assets()` の `monster_images` 配列に上記10キーを追加する:
```php
'boss_dragon_lord' => 'assets/monsters/boss_dragon_lord.png',
'boss_demon_king' => 'assets/monsters/boss_demon_king.png',
'boss_hydra' => 'assets/monsters/boss_hydra.png',
'boss_golem_titan' => 'assets/monsters/boss_golem_titan.png',
'boss_lich' => 'assets/monsters/boss_lich.png',
'boss_kraken' => 'assets/monsters/boss_kraken.png',
'boss_phoenix' => 'assets/monsters/boss_phoenix.png',
'boss_dark_knight' => 'assets/monsters/boss_dark_knight.png',
'boss_slime_emperor'=> 'assets/monsters/boss_slime_emperor.png',
'boss_ancient_dragon'=> 'assets/monsters/boss_ancient_dragon.png',
```
## 4. シナリオ生成側でのボス判定と画像割り当て
シナリオJSON内の各敵に `is_boss: true` フラグが付いている(またはクエスト目標の討伐対象である)場合、`sprite_id` に `boss_` プレフィックスのキーを優先的に割り当てるロジックをシナリオ生成PHP(`lib.php` 内の生成関数)に追加する。
- バイオーム・テーマとのマッチング例:
- 海洋/海岸バイオーム → `boss_kraken`
- 火山バイオーム → `boss_phoenix`
- 城/暗黒テーマ → `boss_demon_king` または `boss_dark_knight`
- 洞窟/ダンジョン → `boss_ancient_dragon` または `boss_lich`
- デフォルト最終ボス → `boss_dragon_lord`
## 5. 戦闘Canvas側でのボス大型表示
`pages/play.php` 内の戦闘Canvas描画JSにて、敵データの `is_boss === true` を検出した場合:
- 通常敵: Canvasに対して幅160px × 高さ160px で描画
- ボス敵: 幅240px × 高さ240px(1.5倍)で描画し、Canvas中央寄り上方に配置
- ボス登場時に1回だけ画面全体を黄金色にフラッシュするCSSアニメーション(`@keyframes boss-flash`)を追加
- ボスのHP低下演出(50%以下)でスプライトに赤みがかったCanvas `globalCompositeOperation` フィルタを適用
## 6. 既存機能との整合
- 既存の20種モンスター画像・通常敵の表示ロジックは一切変更しない
- `is_boss` フラグがない敵は従来通りの通常サイズで表示
- 図鑑タブでもボスモンスターは大きめのサムネイルで表示(64px → 96px)
- スマホ表示ではボスサイズを `min(240, canvas.width * 0.55)` でClampし、はみ出しを防ぐ
- 後方互換のため `sprite_id` が `boss_` で始まるが画像ファイルが存在しない場合はフォールバックとして `dragon.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