リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: RPGストーリーフォージ AI風ドット絵冒険
巨人・サイクロプス・オーガ・トロル亜種など巨人族モンスター画像20種の追加
## 1. 目的
島バイオーム別のモンスター画像を継続拡充する方針に従い、DQ風の「巨人族・大型人型モンスター」カテゴリを新規追加する。サイクロプス、オーガ、ヒルジャイアント、フロストジャイアント、ファイアジャイアント、ストーンジャイアントなど、体格の大きさと島バイオームの対応が視覚的にわかりやすい20種を登録し、戦闘画面・図鑑・マップ上の敵表示に自動反映させる。
## 2. 追加画像一覧(20種)
| キー | モンスター名 | 主な対応バイオーム |
|---|---|---|
| giant_cyclops | サイクロプス | 草原・海岸 |
| giant_ogre | オーガ | 森・草原 |
| giant_ogre_mage | オーガメイジ | 神殿・魔塔 |
| giant_hill | ヒルジャイアント | 草原・砂漠 |
| giant_frost | フロストジャイアント | 雪原・氷山島 |
| giant_fire | ファイアジャイアント | 火山・溶岩島 |
| giant_stone | ストーンジャイアント | 山岳・洞窟 |
| giant_sea | 海神の巨人 | 海洋・海岸 |
| giant_swamp | 沼の大鬼 | 沼地・毒沼 |
| giant_sand | 砂漠の巨人 | 砂漠・遺跡 |
| giant_ruin | 遺跡の守護巨人 | 遺跡・古城 |
| giant_skeleton | 骸骨巨人 | 古城・廃墟 |
| giant_undead | アンデッドジャイアント | 魔塔・廃墟 |
| giant_troll | トロル | 洞窟・森 |
| giant_troll_king | キングトロル | 洞窟・古城 |
| giant_berserker | バーサーカー巨人 | 終盤島・火山 |
| giant_titan | タイタン | 終盤島・神殿 |
| giant_dark | 闇の巨人 | 終盤島・魔塔 |
| giant_guardian | 神殿の守護者 | 神殿・封印の地 |
| giant_chaos | 混沌の魔巨人(ボス) | 終盤島・封印の地 |
## 3. 実装仕様
### 画像ファイル
- 配置先: `assets/monsters/giant_cyclops.png` ~ `assets/monsters/giant_chaos.png`(合計20ファイル)
- サイズ: 128×128px(ボス giant_chaos は 192×192px)、PNG透過
- スタイル: SFC/DQ3風ドット絵、正面向き、モンスターカラーパレット統一
### lib.php の `rpgsf_assets()` への追加
`monster_images` 配列に以下20エントリを追加する:
```php
'giant_cyclops' => 'assets/monsters/giant_cyclops.png',
'giant_ogre' => 'assets/monsters/giant_ogre.png',
// …(全20種同様に追加)
'giant_chaos' => 'assets/monsters/giant_chaos.png',
```
### monster_tags マッピング
既存の島バイオーム別モンスターテーブルに以下のタグマッピングを追記する:
```php
'giant_cyclops' => ['tags'=>['giant','cyclops','草原','海岸'], 'boss'=>false, 'size'=>'large'],
'giant_ogre' => ['tags'=>['giant','ogre','森','草原'], 'boss'=>false, 'size'=>'large'],
'giant_ogre_mage' => ['tags'=>['giant','ogre','magic','神殿','魔塔'], 'boss'=>false, 'size'=>'large'],
'giant_hill' => ['tags'=>['giant','草原','砂漠'], 'boss'=>false, 'size'=>'large'],
'giant_frost' => ['tags'=>['giant','ice','雪原'], 'boss'=>false, 'size'=>'large'],
'giant_fire' => ['tags'=>['giant','fire','火山'], 'boss'=>false, 'size'=>'large'],
'giant_stone' => ['tags'=>['giant','rock','洞窟','山'], 'boss'=>false, 'size'=>'large'],
'giant_sea' => ['tags'=>['giant','sea','海洋','海岸'], 'boss'=>false, 'size'=>'large'],
'giant_swamp' => ['tags'=>['giant','swamp','沼地'], 'boss'=>false, 'size'=>'large'],
'giant_sand' => ['tags'=>['giant','desert','砂漠','遺跡'], 'boss'=>false, 'size'=>'large'],
'giant_ruin' => ['tags'=>['giant','guardian','遺跡','古城'], 'boss'=>false, 'size'=>'large'],
'giant_skeleton' => ['tags'=>['giant','undead','古城','廃墟'], 'boss'=>false, 'size'=>'large'],
'giant_undead' => ['tags'=>['giant','undead','魔塔','廃墟'], 'boss'=>false, 'size'=>'large'],
'giant_troll' => ['tags'=>['giant','troll','洞窟','森'], 'boss'=>false, 'size'=>'large'],
'giant_troll_king'=> ['tags'=>['giant','troll','boss','洞窟','古城'],'boss'=>true, 'size'=>'large'],
'giant_berserker' => ['tags'=>['giant','berserker','終盤','火山'], 'boss'=>false, 'size'=>'large'],
'giant_titan' => ['tags'=>['giant','titan','終盤','神殿'], 'boss'=>true, 'size'=>'large'],
'giant_dark' => ['tags'=>['giant','dark','終盤','魔塔'], 'boss'=>true, 'size'=>'large'],
'giant_guardian' => ['tags'=>['giant','guardian','神殿','封印'], 'boss'=>true, 'size'=>'large'],
'giant_chaos' => ['tags'=>['giant','boss','chaos','終盤','封印'], 'boss'=>true,'size'=>'xlarge'],
```
### 戦闘画面・図鑑への反映
- `size: 'large'` の場合は戦闘Canvasでの描画サイズを通常の1.5倍、`'xlarge'`(giant_chaos)は2倍にする
- 既存の `boss` フラグと同じ判定ロジックを流用し、`boss: true` の場合はボス演出(BGM変化・HP下部ゲージ赤表示)を適用
- 図鑑タブのエリア別表示でも `giant` タグでグルーピング表示できるようにする
## 4. 既存機能との整合
- 既存の `monster_images` 配列にキーを追記するだけで、既存の自動マッチングロジック(名前・タグ照合)がそのまま動作する
- 既存モンスターキー(slime, dragon等)との命名衝突なし
- スキーマ変更・DB変更は不要
島バイオーム別のモンスター画像を継続拡充する方針に従い、DQ風の「巨人族・大型人型モンスター」カテゴリを新規追加する。サイクロプス、オーガ、ヒルジャイアント、フロストジャイアント、ファイアジャイアント、ストーンジャイアントなど、体格の大きさと島バイオームの対応が視覚的にわかりやすい20種を登録し、戦闘画面・図鑑・マップ上の敵表示に自動反映させる。
## 2. 追加画像一覧(20種)
| キー | モンスター名 | 主な対応バイオーム |
|---|---|---|
| giant_cyclops | サイクロプス | 草原・海岸 |
| giant_ogre | オーガ | 森・草原 |
| giant_ogre_mage | オーガメイジ | 神殿・魔塔 |
| giant_hill | ヒルジャイアント | 草原・砂漠 |
| giant_frost | フロストジャイアント | 雪原・氷山島 |
| giant_fire | ファイアジャイアント | 火山・溶岩島 |
| giant_stone | ストーンジャイアント | 山岳・洞窟 |
| giant_sea | 海神の巨人 | 海洋・海岸 |
| giant_swamp | 沼の大鬼 | 沼地・毒沼 |
| giant_sand | 砂漠の巨人 | 砂漠・遺跡 |
| giant_ruin | 遺跡の守護巨人 | 遺跡・古城 |
| giant_skeleton | 骸骨巨人 | 古城・廃墟 |
| giant_undead | アンデッドジャイアント | 魔塔・廃墟 |
| giant_troll | トロル | 洞窟・森 |
| giant_troll_king | キングトロル | 洞窟・古城 |
| giant_berserker | バーサーカー巨人 | 終盤島・火山 |
| giant_titan | タイタン | 終盤島・神殿 |
| giant_dark | 闇の巨人 | 終盤島・魔塔 |
| giant_guardian | 神殿の守護者 | 神殿・封印の地 |
| giant_chaos | 混沌の魔巨人(ボス) | 終盤島・封印の地 |
## 3. 実装仕様
### 画像ファイル
- 配置先: `assets/monsters/giant_cyclops.png` ~ `assets/monsters/giant_chaos.png`(合計20ファイル)
- サイズ: 128×128px(ボス giant_chaos は 192×192px)、PNG透過
- スタイル: SFC/DQ3風ドット絵、正面向き、モンスターカラーパレット統一
### lib.php の `rpgsf_assets()` への追加
`monster_images` 配列に以下20エントリを追加する:
```php
'giant_cyclops' => 'assets/monsters/giant_cyclops.png',
'giant_ogre' => 'assets/monsters/giant_ogre.png',
// …(全20種同様に追加)
'giant_chaos' => 'assets/monsters/giant_chaos.png',
```
### monster_tags マッピング
既存の島バイオーム別モンスターテーブルに以下のタグマッピングを追記する:
```php
'giant_cyclops' => ['tags'=>['giant','cyclops','草原','海岸'], 'boss'=>false, 'size'=>'large'],
'giant_ogre' => ['tags'=>['giant','ogre','森','草原'], 'boss'=>false, 'size'=>'large'],
'giant_ogre_mage' => ['tags'=>['giant','ogre','magic','神殿','魔塔'], 'boss'=>false, 'size'=>'large'],
'giant_hill' => ['tags'=>['giant','草原','砂漠'], 'boss'=>false, 'size'=>'large'],
'giant_frost' => ['tags'=>['giant','ice','雪原'], 'boss'=>false, 'size'=>'large'],
'giant_fire' => ['tags'=>['giant','fire','火山'], 'boss'=>false, 'size'=>'large'],
'giant_stone' => ['tags'=>['giant','rock','洞窟','山'], 'boss'=>false, 'size'=>'large'],
'giant_sea' => ['tags'=>['giant','sea','海洋','海岸'], 'boss'=>false, 'size'=>'large'],
'giant_swamp' => ['tags'=>['giant','swamp','沼地'], 'boss'=>false, 'size'=>'large'],
'giant_sand' => ['tags'=>['giant','desert','砂漠','遺跡'], 'boss'=>false, 'size'=>'large'],
'giant_ruin' => ['tags'=>['giant','guardian','遺跡','古城'], 'boss'=>false, 'size'=>'large'],
'giant_skeleton' => ['tags'=>['giant','undead','古城','廃墟'], 'boss'=>false, 'size'=>'large'],
'giant_undead' => ['tags'=>['giant','undead','魔塔','廃墟'], 'boss'=>false, 'size'=>'large'],
'giant_troll' => ['tags'=>['giant','troll','洞窟','森'], 'boss'=>false, 'size'=>'large'],
'giant_troll_king'=> ['tags'=>['giant','troll','boss','洞窟','古城'],'boss'=>true, 'size'=>'large'],
'giant_berserker' => ['tags'=>['giant','berserker','終盤','火山'], 'boss'=>false, 'size'=>'large'],
'giant_titan' => ['tags'=>['giant','titan','終盤','神殿'], 'boss'=>true, 'size'=>'large'],
'giant_dark' => ['tags'=>['giant','dark','終盤','魔塔'], 'boss'=>true, 'size'=>'large'],
'giant_guardian' => ['tags'=>['giant','guardian','神殿','封印'], 'boss'=>true, 'size'=>'large'],
'giant_chaos' => ['tags'=>['giant','boss','chaos','終盤','封印'], 'boss'=>true,'size'=>'xlarge'],
```
### 戦闘画面・図鑑への反映
- `size: 'large'` の場合は戦闘Canvasでの描画サイズを通常の1.5倍、`'xlarge'`(giant_chaos)は2倍にする
- 既存の `boss` フラグと同じ判定ロジックを流用し、`boss: true` の場合はボス演出(BGM変化・HP下部ゲージ赤表示)を適用
- 図鑑タブのエリア別表示でも `giant` タグでグルーピング表示できるようにする
## 4. 既存機能との整合
- 既存の `monster_images` 配列にキーを追記するだけで、既存の自動マッチングロジック(名前・タグ照合)がそのまま動作する
- 既存モンスターキー(slime, dragon等)との命名衝突なし
- スキーマ変更・DB変更は不要
💬 返信 (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