リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: RPGストーリーフォージ AI風ドット絵冒険
島ごとの「隠しボス解放クエスト」システム追加:特定条件達成で島固有の隠しボスが出現
## 1. 目的
現在の島システムには通常ボス・中ボスが存在するが、プレイヤーが自発的に探索するモチベーションとなる「隠しボス」が存在しない。島ごとに隠しボス解放クエスト(例:石碑3枚読破、宝箱全開封、特定NPCとの会話など)を設け、条件達成時に特別なボス戦が発生する仕組みを追加する。これにより探索の深みとリプレイ価値が増す。
## 2. 仕様
### 2-1. 隠しボス定義(PHP配列として lib.php の rpgsf_assets() に追記)
```php
'hidden_bosses' => [
'grassland' => [
'id' => 'hidden_boss_ancient_golem',
'name' => '古代の守護ゴーレム',
'image_key' => 'hidden_boss_ancient_golem',
'hp' => 180, 'atk' => 22, 'def' => 18, 'exp' => 120, 'gold' => 200,
'unlock_conditions' => ['obelisks_read' => 2, 'chests_opened' => 3],
'unlock_hint' => '島の石碑を2つ読み、宝箱を3つ開けると…何かが目覚める。',
'reward_item' => '守護の欠片',
],
'desert' => [ ... ],
'snow' => [ ... ],
'volcano' => [ ... ],
'swamp' => [ ... ],
'coast' => [ ... ],
],
```
各バイオーム(grassland/desert/snow/volcano/swamp/coast)に1体ずつ定義。条件は `obelisks_read`(石碑読破数)・`chests_opened`(宝箱開封数)・`npcs_talked`(NPC会話数)・`turns_on_island`(島内ターン数)の組み合わせ。
### 2-2. セーブステートへの追跡フィールド追加
`state_json` の各島エントリに以下を追加(既存フォーマット後方互換):
```json
{
"island_progress": {
"island_1": {
"obelisks_read": 1,
"chests_opened": 2,
"npcs_talked": 3,
"turns_on_island": 45,
"hidden_boss_unlocked": false,
"hidden_boss_defeated": false
}
}
}
```
既存の石碑読破・宝箱開封・NPC会話のイベント処理箇所(`rpgsf_apply_action()` 相当)で `island_progress` を更新する。
### 2-3. 解放チェック処理
`rpgsf_check_hidden_boss_unlock(array &$state, array $scenario): ?array` 関数を lib.php に追加。
- 現在いる島のバイオームを取得
- 対応する隠しボス定義の `unlock_conditions` と `island_progress` を比較
- 条件が全て満たされ `hidden_boss_unlocked === false` の場合、`hidden_boss_unlocked = true` にセットしてボス定義を返す
- この関数をプレイヤー移動後・イベント処理後に呼び出す
### 2-4. 解放演出(JS側)
条件達成時、サーバーレスポンスに `hidden_boss_event: {boss: {...}, hint: '...'}` を含める。
JS側でDQ風の警告演出(画面フラッシュ + 「何かが目覚めた!」テキスト)を表示。
次に隠しボスが配置されたタイル(島の中心付近に自動配置)へ移動すると戦闘が発生。
### 2-5. 隠しボスタイル配置
島の隠しボスが解放された際、ワールドマップの当該島の中心座標付近に `'HB'` タイル(歩行可能・遭遇判定あり)を動的に追加。
タイル定義に `'HB' => ['name' => '封印の地', 'class' => 'sealed', 'walk' => true, 'mark' => '⚔']` を追記。
プレイヤーがこのタイルに踏み込むと、通常エンカウントではなく必ず隠しボス戦が開始される。
### 2-6. 隠しボス戦
通常の戦闘フローを踏襲しつつ以下を追加:
- モンスター画像は `hidden_boss_{biome}` キーで `monster_images` を参照(新規画像6種を追加)
- 戦闘開始時に「隠しボス」バッジを戦闘画面上部に表示
- 勝利時に固有報酬アイテム(`reward_item`)をふくろに追加し、`hidden_boss_defeated = true` をセット
- 敗北しても `hidden_boss_unlocked` は維持され、再挑戦可能
### 2-7. ヒント表示
- 石碑テキストに「条件まであと○○」のヒントを自動付与(例:「宝箱があと1つ…」)
- 図鑑タブに「隠しボス」セクションを追加し、未解放は「???」、解放済みはボス名とドット絵を表示
### 2-8. 既存機能との整合
- 既存の通常ボス・中ボス・図鑑・石碑・エンドカードシステムは変更なし
- `island_progress` は `state_json` への追記のみでスキーマ変更不要
- 隠しボスの討伐数はエンドカードの「討伐数」合計に加算される
- `rpgsf_save_state()` の既存インターフェースをそのまま使用
## 3. 実装規模
- lib.php:隠しボス定義追加・解放チェック関数追加・タイル定義追記(約80行)
- pages/play.php:解放チェック呼び出し・レスポンスへの `hidden_boss_event` 追加・図鑑タブ拡張(約60行)
- JS(play.php内):解放演出・HBタイル遭遇処理・図鑑隠しボスセクション(約80行)
- 新規モンスター画像6種(各バイオーム固有隠しボス)
現在の島システムには通常ボス・中ボスが存在するが、プレイヤーが自発的に探索するモチベーションとなる「隠しボス」が存在しない。島ごとに隠しボス解放クエスト(例:石碑3枚読破、宝箱全開封、特定NPCとの会話など)を設け、条件達成時に特別なボス戦が発生する仕組みを追加する。これにより探索の深みとリプレイ価値が増す。
## 2. 仕様
### 2-1. 隠しボス定義(PHP配列として lib.php の rpgsf_assets() に追記)
```php
'hidden_bosses' => [
'grassland' => [
'id' => 'hidden_boss_ancient_golem',
'name' => '古代の守護ゴーレム',
'image_key' => 'hidden_boss_ancient_golem',
'hp' => 180, 'atk' => 22, 'def' => 18, 'exp' => 120, 'gold' => 200,
'unlock_conditions' => ['obelisks_read' => 2, 'chests_opened' => 3],
'unlock_hint' => '島の石碑を2つ読み、宝箱を3つ開けると…何かが目覚める。',
'reward_item' => '守護の欠片',
],
'desert' => [ ... ],
'snow' => [ ... ],
'volcano' => [ ... ],
'swamp' => [ ... ],
'coast' => [ ... ],
],
```
各バイオーム(grassland/desert/snow/volcano/swamp/coast)に1体ずつ定義。条件は `obelisks_read`(石碑読破数)・`chests_opened`(宝箱開封数)・`npcs_talked`(NPC会話数)・`turns_on_island`(島内ターン数)の組み合わせ。
### 2-2. セーブステートへの追跡フィールド追加
`state_json` の各島エントリに以下を追加(既存フォーマット後方互換):
```json
{
"island_progress": {
"island_1": {
"obelisks_read": 1,
"chests_opened": 2,
"npcs_talked": 3,
"turns_on_island": 45,
"hidden_boss_unlocked": false,
"hidden_boss_defeated": false
}
}
}
```
既存の石碑読破・宝箱開封・NPC会話のイベント処理箇所(`rpgsf_apply_action()` 相当)で `island_progress` を更新する。
### 2-3. 解放チェック処理
`rpgsf_check_hidden_boss_unlock(array &$state, array $scenario): ?array` 関数を lib.php に追加。
- 現在いる島のバイオームを取得
- 対応する隠しボス定義の `unlock_conditions` と `island_progress` を比較
- 条件が全て満たされ `hidden_boss_unlocked === false` の場合、`hidden_boss_unlocked = true` にセットしてボス定義を返す
- この関数をプレイヤー移動後・イベント処理後に呼び出す
### 2-4. 解放演出(JS側)
条件達成時、サーバーレスポンスに `hidden_boss_event: {boss: {...}, hint: '...'}` を含める。
JS側でDQ風の警告演出(画面フラッシュ + 「何かが目覚めた!」テキスト)を表示。
次に隠しボスが配置されたタイル(島の中心付近に自動配置)へ移動すると戦闘が発生。
### 2-5. 隠しボスタイル配置
島の隠しボスが解放された際、ワールドマップの当該島の中心座標付近に `'HB'` タイル(歩行可能・遭遇判定あり)を動的に追加。
タイル定義に `'HB' => ['name' => '封印の地', 'class' => 'sealed', 'walk' => true, 'mark' => '⚔']` を追記。
プレイヤーがこのタイルに踏み込むと、通常エンカウントではなく必ず隠しボス戦が開始される。
### 2-6. 隠しボス戦
通常の戦闘フローを踏襲しつつ以下を追加:
- モンスター画像は `hidden_boss_{biome}` キーで `monster_images` を参照(新規画像6種を追加)
- 戦闘開始時に「隠しボス」バッジを戦闘画面上部に表示
- 勝利時に固有報酬アイテム(`reward_item`)をふくろに追加し、`hidden_boss_defeated = true` をセット
- 敗北しても `hidden_boss_unlocked` は維持され、再挑戦可能
### 2-7. ヒント表示
- 石碑テキストに「条件まであと○○」のヒントを自動付与(例:「宝箱があと1つ…」)
- 図鑑タブに「隠しボス」セクションを追加し、未解放は「???」、解放済みはボス名とドット絵を表示
### 2-8. 既存機能との整合
- 既存の通常ボス・中ボス・図鑑・石碑・エンドカードシステムは変更なし
- `island_progress` は `state_json` への追記のみでスキーマ変更不要
- 隠しボスの討伐数はエンドカードの「討伐数」合計に加算される
- `rpgsf_save_state()` の既存インターフェースをそのまま使用
## 3. 実装規模
- lib.php:隠しボス定義追加・解放チェック関数追加・タイル定義追記(約80行)
- pages/play.php:解放チェック呼び出し・レスポンスへの `hidden_boss_event` 追加・図鑑タブ拡張(約60行)
- JS(play.php内):解放演出・HBタイル遭遇処理・図鑑隠しボスセクション(約80行)
- 新規モンスター画像6種(各バイオーム固有隠しボス)
💬 返信 (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