マッピングデータに必要な容量を考えてみる

内部仕様の解析ではなく、ゲームの仕様からの想像です。むしろ、自分がデータ作るとしたらこんな感じ? みたいな。
一応解析情報も探してみたのだが、1フロア1200byteらしいことはわかったけど内訳まではわからなかった。


■1マスごとに必要なデータ
・床が塗ってあるか 1bit
・壁が書いてあるか 2bit (右と下1bitずつ)
・床を歩いたか 1bit (F.O.E 表示用フラグ)
以上より、1マスにつき 4bit。
1フロアにつき、4bit * 35(幅) * 30(高さ) = 4200bit
※一番右と下には壁が書けないのでその分は削れるけど、とりあえず置いとく。


■マップに置くチップ(?)
・チップの種類 (「未使用」含め11種) 4bit
・x座標 (0〜34) 6bit
・y座標 (0〜29) 5bit
他に何かフラグが必要だろうか……? これだけなら15bitで済むが、扱いやすいように16bit使っておく。チップは128個まで置けるので、
16bit * 128個 = 2048bit


■メモ
文字種が270ぐらい (ひらがな80+カタカナ81+アルファベット26*2+記号60程度) なので、1文字9bit?
・どのチップに貼られているか 8bit (0〜127 & 未使用)
・メモの内容 9bit * 16文字 = 144bit
(8bit + 144bit) * 20個 = 3040bit


■合計
4200bit + 2048bit + 3040bit = 9288bit = 1161byte


だいたいこんな感じかなぁ……。他に何かあったっけ? 宝箱やF.O.E関連のフラグもフロアごとのデータではあるけど……。
昨日から考えてたけどいまいち上手くまとめられないので、書きなぐって終わる。


ちなみにきっかけはこちらの記事 http://d.hatena.ne.jp/yms-zun/20070415

Qライセンス(試案)

君はこのライブラリを使用してもいいし、しなくてもいい。そのまま使うのも、ソースに手を加えるのも君の自由だ。
ただし、深遠なるソースの奥深くに、歴戦のプログラマである君すらも震撼させる、恐るべきバグが潜んでいるかもしれない。充分に気をつけて使いたまえ!