ミニゲーム: 宝探しダンジョン
概要
宝探しダンジョンは MiniExp ダンジョンAPIで生成されるランダムな混合型フロアを探索し、制限時間内に宝を見つけて EXP を稼ぐアクション MOD です。 ラウンドごとにスタート地点と宝箱が変わり、距離が離れているほど基礎 EXP が増加し、素早く回収すると倍率ボーナスが掛かります。
- カテゴリ: アクション / 探索
- プレイ時間目安: 1 ラウンド 30~90 秒 × 任意回数
- 得点指標: 合計 EXP(MiniExp のスコア画面に送信)
ゲームの流れ
- モジュール開始時にダンジョンAPIへ混合型フロア生成を要求し、スタート位置と宝箱が到達可能になるまで再試行します。
- プレイヤーを Start ボタンまたはスペースキーで操作可能状態にし、WASD / 矢印キーで探索を開始します。
- 宝箱に触れると獲得 EXP が計算され、次のラウンド用に新しいフロア生成が始まります。停止ボタンでいつでも一時停止可能です。
生成が失敗した場合は自動的に再試行され、「ステージ生成中…」や「宝配置に失敗…」といったステータスが表示されます。
操作と UI
- Start ボタン / スペースキー: ラウンド開始・再開。ホスト側ショートカットの R / P は自動的に無効化されます。
- Stop ボタン: 探索を一時停止(再開は Start ボタンまたはスペースキー)。
- WASD / 矢印キー: プレイヤーの移動。斜め入力は自動的に正規化され、壁との接触を避けながら移動します。
画面上部のインフォパネルにはラウンド番号、経過タイム、宝箱とのタイル距離、累計 EXP が表示され、右下のステータス欄に進行状況が通知されます。 下部パネルでは前回ラウンドのタイム・獲得 EXP・自己ベストが確認でき、EASY では全体マップと現在の視界枠が併記されます。
難易度別パラメータ
難易度 | フロアサイズ(タイル) | カメラ視野(タイル) | ミニマップ | 表示倍率 |
---|---|---|---|---|
EASY | 44 × 32(基準サイズ) | 24 × 18 | 有り(全体と視界枠を表示) | 1 倍 |
NORMAL | 66 × 48(基準の 1.5 倍) | 12 × 9 | 無し | 2 倍描画(ズームカメラ) |
HARD | 176 × 128(基準の 4 倍) | 12 × 9 | 無し | 2 倍描画(ズームカメラ) |
いずれの難易度でもタイルサイズは 18px に固定され、プレイヤーの判定半径はタイルサイズの 35%(最低 7px)、移動速度はタイルサイズ × 4.8(最低 60px/s)で動的に設定されます。
EXP 計算
宝箱に触れた瞬間にラウンド完了となり、基礎値 = 10 × (開始地点からの最短距離タイル数) を元に EXP が求められます。
所要時間が短いほど倍率が上がり、式は round(max(1, 基礎値) × (60 ÷ タイム秒) × 0.25)
(概算すると round(150 × 距離 ÷ タイム)
)です。
0.5 秒未満で拾った場合も 0.5 秒として扱われ、最低 1 EXP は保証されます。獲得 EXP はホストへ awardXp()
で反映され、合計値がスコアに送信されます。
距離はプレイヤー初期位置からの 4 方向 BFS で算出され、最低 3 タイル以上離れた地点に宝箱が配置されます(候補が無い場合のみ緩和)。
ステータスメッセージ
- ステージ生成します… / ステージ生成中…: ダンジョンAPIでフロアを構築中。
- 宝配置に失敗…再生成します: 到達可能な宝箱を配置できず、再試行しています。
- ラウンド n 探索中…: 操作中。停止すると「一時停止中」に遷移します。
- 宝を発見!次のラウンドを生成中…: EXP 計算後に次のフロアを準備中。
- ダンジョンAPIが利用できません: API が渡されていない場合のエラー表示です。
攻略のヒント
- ラウンド開始直後に距離表示を確認し、遠距離なら大回りになる枝道を優先して探索しましょう。
- ミニマップのない NORMAL / HARD では、壁沿いに進みながら行き止まりをマーキングする感覚で迷いを減らすと良いです。
- 最高記録タイムはウィジェット下部に保存されるので、短時間で宝を回収できるルートを繰り返し練習してベスト更新を狙いましょう。
トラブルシューティング
- 「宝配置に失敗…」が連続する場合は大規模マップで通路が細くなっている可能性があります。数秒待つと自動で再生成されます。
- ブラウザが重い場合は難易度 EASY でプレイし、ミニマップ表示を活用して移動量を抑えると描画負荷が軽くなります。
- ホスト操作とキー入力が競合する際は、ゲーム中に自動で無効化される R / P のほかのホットキー設定を見直してください。