※このページは上級者向けであることを予め断っておきます。 このページの内容を理解するには、16進数、バイナリデータ及び風来のシレンのシステムに関する知識を必要とします。 それらに関する初歩的な質問はご遠慮下さい。 |
ダンジョンデータの構造は、暗号化こそされてはいませんが、少々複雑な構造になっています。
ダンジョンデータの構造は以下の通りです。(括弧内の数値はデータサイズ)
ヘッダー(4) |
ダンジョン名(16) |
設定1(8) |
怪物分布図(4+3x) |
道具出現率データ(4+5x) |
道具種類出現率データ(4+5x) |
固定地形設定(4+4x) |
特殊地形設定(4+10x) |
モンスターハウス出現率データ(4+9x) |
設定2(8) |
ダンジョンの説明(4+x) |
勿論、これだけでは分からないと思うので、順番に解説していきます。
・ヘッダー(4)
このファイルが、ダンジョンデータであることを宣言します。必ず「87 65 43 21」と入力します。
・ダンジョン名(16)
ダンジョン名を入力します。ダンジョン名の後は、このデータの長さが16バイトになるまで00hを入れます。
・設定1(8)
ダンジョンの各種設定を行います。ここでは便宜上、最初の桁から順にA B C D E F G Hとします。
A | 必ず00、00以外にするとプレイ不可(恐らくダンジョン名が16バイトの時のEndcode) |
B | bit0がオンならタイムを競う(オフならスコアを競う)、bit1:何でしょ? |
C | 00:ランダム地形、01:日替わり固定地形、02:週替わり固定地形、03:月替わり固定地形 |
D | 00なら道具の持ち込み不可、00以外なら道具の持ち込み可(5個まで) |
E | 中層境界設定(ここで指定された階層以降(指定された階層も含む)の階層は中層になる) |
F | 深層境界設定(ここで指定された階層以降(指定された階層も含む)の階層は深層になる) |
G | 最深階層を設定します |
H | bit0:エンドレス、bit1:スコア計算式が変わる(通常より低くなる) |
・怪物分布図(4+3x)
怪物分布図の構造は以下の通りです。(括弧内の数値はデータサイズ)
怪物分布図の長さ(4) | 1階のデータ(3x) | 00 00 00 | 2階のデータ(3x) | 00 00 00 | 3階のデータ(3x) | 00 00 00 | ・・・ |
02 01 02 01 02 02 01 01 1D | マムル(優先度02)、あなぐらマムル(優先度01)、ネズミ子分(優先度01) |
・道具出現率(4+5x)、道具種類出現率(4+5x)
最大の難関です。よく読んで下さい。
道具出現率データと道具種類出現率データの構造は以下の通りです。
ここでこのように2つのデータを一緒にするのは、この2つのデータが密接に絡み合っているからです。
道具出現率データの長さ(4) | 道具出現率データ(5x) | 道具種類出現率データの長さ(4) | 道具種類出現率データ(5x) |
道具出現率:04 00 00 00 01 02 00 00 00 02 道具種類出現率:02 00 00 00 07 01 00 00 00 08 | 薬草(優先度4,0,0,0)、弟切草(優先度1,0,0,0) 草(優先度2,0,0,0)、巻物(1,0,0,0) |
・固定地形設定(4+4x)
固定地形の設定を階層毎に設定します。
まず、固定地形設定の長さを4バイトで入力しますが、ここでは実際の固定地形設定のバイト数を4で割った値を入力しなければなりません。
その後、1階から順に乱数の種を入力していきます。4バイトで1階分です。
通常は完全にランダムな数値からダンジョンが生成される訳ですが、
固定地形の場合はここで設定された乱数の種と日/週/月からダンジョンが生成される訳です。
面白い例として、乱数の種を全て同じ数値にしておくと、全ての階層が同じ地形になることになります。
設定1-Cを00以外にしないとこの数値は有効にはなりません。
固定地形設定は、例えば全10階なのに、固定地形設定を5階分までしか入力しないと、6階以降は全て00と同じ扱いになります。
よって、ランダム地形のダンジョンの場合は、01 00 00 00 00 00 00 00と入力しておいて下さい。
・特殊地形設定(4+10x)
特殊地形の出現率を階層毎に設定します。
まず、特殊地形設定の長さを4バイトで入力しますが、ここでは実際の特殊地形設定のバイト数を10で割った値を入力しなければなりません。
その後、1階から順にデータを入力していきます。10バイトで1階分です。
各バイトは、順に、普通、大部屋、2分割、4分割、格子、外周、一本道、2分裂、飛び地、大迷路の優先度となっています。
値が全て00だと、通常通りの確率となりますが、一つでも01以上の値があると、それぞれの地形の出現率は、
「その地形の優先度/その階層の設定の優先度の合計」となります。
例:00 01 00 00 00 00 00 00 00 00(大部屋しか出現しない)
これを利用して、特定の階層には必ず大部屋モンスターハウスが出る、必ず大迷路になるといった設定が出来ます。
外周、一本道にしても、出入口が1つしかない部屋が存在しない場合、店は出ませんのでご注意下さい。
(格子はその地形の構造上、出入口が1つしかない部屋が必ず存在するため必ず店が存在します)
特殊地形設定は、例えば全10階なのに、特殊地形設定を5階分までしか入力しないと、6階以降は全て00と同じ扱いになります。
よって、特殊地形の出現率を変更しない場合は、01 00 00 00 00 00 00 00 00 00 00 00 00 00と入力しておいて下さい。
・モンスターハウス出現率データ(4+9x)
モンスターハウスの出現率を階層毎に設定します。
まず、モンスターハウス出現率データの長さを4バイトで入力しますが、
ここでは実際のモンスターハウス出現率データのバイト数を9で割った値を入力しなければなりません。
その後、1階から順にデータを入力していきます。9バイトで1階分です。
各バイトは、順に、モンスターハウス無し、ノーマル、泥棒、ドレイン、一つ目、ゴースト、パワー、ドラゴン、番犬隊の優先度となっています。
値が全て00だと、通常通りの確率となりますが、一つでも01以上の値があると、それぞれの地形の出現率は、
「そのモンスターハウスの優先度/その階層の設定の優先度の合計」となります。
例:00 00 01 01 01 01 01 01 00(必ず特殊モンスターハウスが出る)
特殊地形設定を併用すれば、特定の階層には必ず大部屋番犬隊が出現する、といった設定が出来ます。
モンスターハウス出現率は、一つでも01以上の値があると、その階層の地形に関係なくここで設定された通りの出現率となるので、
ここでモンスターハウスが出現しないようにすると、大部屋、2分割、4分割でもモンスターハウスが出現しなくなります。
但し、大迷路の場合、ここで必ずモンスターハウスが出現するようにしてもモンスターハウスは出現しません。
モンスターハウス出現率データは、例えば全10階なのに、
モンスターハウス出現率データを5階分までしか入力しないと、6階以降は全て00と同じ扱いになります。
よって、モンスターハウス出現率を変更しない場合は、01 00 00 00 00 00 00 00 00 00 00 00 00と入力しておいて下さい。
・設定2(8)
こちらの設定はインターネット版になるまでは使用されていなかった領域です。
ダンジョンの各種設定を行います。ここでは便宜上、最初の桁から順にA B C D E F G Hとします。
A | 何を競うか、設定1-Bのbit0をオフにすると有効、00:スコア、01:経験値の少なさ、02:ターンの少なさ、03:潜った階数、04:泥棒回数 |
B | 多分意味無し |
C | 多分意味無し |
D | 多分意味無し |
E | オプション bit0:道具を最大10個しか持てない、bit1:早く突風が吹く、bit2:各階層毎に必ず店が出現、bit3:自然回復しない bit4:マップを見られない、bit5:部屋でも視界が通路と同じ、bit6:初期レベル70で初期HP5、bit7多分意味無し |
F | 多分意味無し |
G | 多分意味無し |
H | 多分意味無し |
・ダンジョンの説明(4+x)
そのまんまです。最初の4バイトはダンジョンの説明の長さをそのままバイト数で入力し、その後にダンジョンの説明を入力して終わります。
ダンジョンの説明の改行コードは0Ahにして下さい。
ダンジョンデータの構造は以上の通りです。
最初は難しいと思いますが徐々に慣れていって下さい。チュンソフトのダンジョンをバイナリエディタで眺めていくのも良いでしょう。
オリジナルダンジョンをテストプレイする時は、風来日記のバックアップを取っておくことをお勧めします。
ダンジョンデータを間違えると、ハングアップしたり、風来日記が開けなくなることもあります。
最後に、オリジナルダンジョンをプレイする時は、必ずネット機能を無効にしてからプレイして下さい。
チュンソフトの新ダンジョンは当初は公開される予定があったようですが、公開されることはなく、遂にコンテンツから消えてしまいました。
それが今、私達が自由に新ダンジョンを作成出来るのです。
私はWinシレンは全不思議のダンジョンシリーズ中SFCシレンを通り越して最高の出来だと思います。
ダンジョンデータの構造は少々複雑で、怪物分布図や道具出現率の入力は大変ですが、
貴方も是非一度オリジナルダンジョンを作ってみては如何でしょうか。