8. ブロック次元とは
8.1 モード概要
ブロック次元は、次元(Dimension) と 3 種のブロック(1st / 2nd / 3rd) を組み合わせて
ダンジョン生成パラメータを合成するモードです。次元は a〜z の 26 種(データが無い場合でも自動補完)で、各次元
は 100 レベル刻みの基礎レベルを持ちます。ブロックは blockdata.json または blockdata.js
から読み込み、レベル補正やマップサイズ、深さ、宝箱バイアスなどを提供します。
ブロック次元では「配置」ではなく「組み合わせ」が核です。同じ選択は常に同じダンジョンを生成するため、周回用にも活用できます。
8.2 利用手順
- タイトル画面のタブから BlockDim を選択します。
- 必要に応じて NESTED 値を入力(1〜99,999,999)。数値が大きいほど推奨レベルが 2600 ずつ上昇します。
- 次元リストと 1st/2nd/3rd ブロックの各リストから項目を選択します。選択中の項目はクリックまたはキーボードで変更できます。
- 右側のプレビューカードでレベル・タイプ・深さ・サイズ係数・宝箱バイアス・ボス階層を確認します。
- 組み合わせを確定したら Gate開始 ボタンで出撃します。
履歴(最大 200 件)とブックマーク(最大 100 件)は自動保存され、クリックで選択内容を再適用できます。ランダム/重み付きランダムボタンを使うとブロックを自動選択できます。
8.3 データソースとブロック属性
ブロック次元は初期化時に fetch('blockdata.json') を試行し、失敗した場合は blockdata.js をスクリプトとして読み込みます。どちらにもアクセスできない場合は簡易データ(次元 a とダミーブロック)が自動生成されます。
| 項目 | 由来 | 内容 |
|---|---|---|
| 次元 (dimensions) | baseLevel |
推奨レベルの基礎値(既定では a=Lv1, b=Lv101...)。 |
| ブロック (blocks1/2/3) | level, size, depth, chest, type |
レベル補正、サイズ係数、階層深さ、宝箱バイアス、生成タイプを提供。bossFloors はボス階層候補の配列。 |
| 履歴/ブックマーク | ローカル保存 | 選択時にシード・レベル・タイプなどを保存し、後から復元可能。 |
8.4 合成ロジック
次元と 3 ブロックから生成される ComposedSpec は以下のルールに従います。
- レベル:
baseLevel + Σ(level)に NESTED ごとの 2600 オフセットを加算し、1 以上に丸めます。 - サイズ係数: ブロックの
size合計を -2〜+2 にクランプして反映します。 - 深さ: 各ブロックの
depthを加算し、1〜15 に制限します。基準は深さ 1 です。 - 宝箱バイアス:
less / normal / moreの多数決で決定します(同数時は normal > more > less の優先順位)。 - 生成タイプ: ブロックの
typeが 1 種ならそのタイプ、複数混在ならmixedとし、使用するタイプ一覧をtypePoolとして保持します。 - ボス階層: 3 ブロックの
bossFloorsを和集合化し、深さ以内の値のみ採用します。
同じ次元・ブロック選択からは seedFromSelection で求めた 32bit シードが生成され、階層ごとに mixSeed で派生させることでランダム要素を固定します。これにより、組み合わせが同じなら常に同じ構造を再現できます。
8.5 ランダム選択と管理機能
ランダム ボタンは現在のリストから等確率でブロックを選び、重み付きランダム ボタンは指定した目標レベルとタイプをもとにガウス分布で重み付けされた候補を選びます。Gate 開始後は履歴に自動で追加され、ブックマークに登録するとメニューからいつでも呼び出せます。各エントリは NESTED 値や seed を含むので、構成の管理が容易です。
8.6 関連資料
- 10. データファイルの内容:
blockdata.json/blockdata.jsの構造を確認。 - 11. コンテンツの追加・変更:ブロックや次元データの追加手順。
- 17. 付録:参考情報:設計書や関連仕様へのリンク。