天外2の復活する宝箱やフラグについて

最近(確か年末あたりだったような…)、ちょろっと聞かれたことで、天外2でどうして宝箱の中身が復活したり、砂に飲み込まれないように話しかけなかった村人も消えてしまうのか、について。
天外2のダンジョンやあちこちにある宝箱の中には「覚えているモノ」と覚えていないものがあったり、消えないように話かけなかった村人も消滅してしまうって仕様はPCエンジンのセーブデータの狭さに起因している。
PCエンジンのセーブデータは全部でたったの2KBしか容量がなく(2048バイト)、仮に全部使えたとして、かつビットのみでフラグを持つとして、そしてひとつしかセーブデータがない(他人が使わない)と仮定して、2048*8=16384個のフラグを保存することが出来る。
もちろん、on/offフラグはビット単位だw ビット単位のストリーム操作は基本だ。
そして、こんだけあれば…と思うかも知れないが、セーブファイル1個はマズいし、全部使い切るのもマズい。
そして天外2は5つのセーブデータを持つのが仕様。
(これは確か桝田さんか広井さんの要望で4人家族全員がプレイして一個余るって設定だったはず)


となると、16384/5=3200ほど。
1ファイルあたり3200個ほどの、いわゆるフラグ、を持つことが出来るはずだが、これでは終わらない。
加えて経験値だの、装備だのといったものも保存しなければいけない。
例えば経験値を24ビットで持つと、フラグはたちまち24個減り、これを4人パーティが使うと、100個ほどフラグがもてなくなる。
また持ち物を一人8つ持てるとして、4人分とすると、32*8=256個でまたフラグが持てなくなる。もちろん、どこの宿屋だの、持ち金だの、預かり所だの作りたびに、ドサドサ、フラグに使える容量は減っていく。
もちろん、乗り物の座標でも減っていく。これまた天外2は乗り物が山のようにあるのでシャレにならなくなる。
つまり、実用的な話をすると天外2では、1ファイルあたりせいぜい数百しかフラグを持つことは出来ないって話だ。

ちなみに記憶では、1000程度だったはず。

これでダンジョンの宝箱の全部の開閉管理が出来るわけがなく「これはマズい、そして捨てたり売ったり使ったり出来るモノが入っている」って大事な宝箱のみ取ったか・取らないかのフラグを持つことにしたわけだ。

少し細かく書くと捨てられないものは、それを持っているかどうかで宝箱の中身を判断できる。

このフラグ貧乏が、もっと問題になるのがゲームの進行だ。
天外2は17国あるゲームで、1000/17=59ほど。つまり1国の宝箱から村人のフラグから城からナニから、全部この59個で管理しろって話になる。
言うまでもなく足りない。
じゃあ、どうしたのか?
天外2ではフラグの数を減らすために、ストーリーが直線的なのを利用して「現在進行中の国のフラグは汎用フラグとして、国が終わったらリセットされるもの」になっている。
つまり、一国終わると、国の中は全部クリアした状態に基本的にはなり(あとで伏線として動く特別なものなどは除外)、汎用フラグはチェックしなくなる。
そうでないと、フラグは全然足りなかった。
桝田さんが残酷なわけではなく、単にフラグの数が足りなかったので、砂に飲まれないように話しかけなかった村人にも消えてもらわざるを得なかったわけなのだ。
…と書いてから思ったのだけど、村人を復活させて「ありがとう、卍丸さん」と言わせても良かったわけで、やっぱ、桝田さんは残酷だったのかも知れないw

LinkedIn にシェア
Pocket

6件のコメント

  • AGENT: Mozilla/5.0 (PlayStation Vita 2.02) AppleWebKit/536.26 (KHTML, like Gecko) Silk/3.2
    復活する宝箱より何より個人的には
    ·霊薬や株価の変動がどのように管理されていたのか
    ·段によって変動する術の効果やダメージの微増の幅
    が気になります···
    武器を道具として使用すると発生するダメージや効果が素であり、それを段によって補正値を出していると思ったわけですが具体的に見えてこなくてもやもやしていましたw
    眠った相手には義経斬が100%命中するとか···本当に複雑過ぎてどう管理していたのだろうとか
    DQなどだと術はほぼ敵のステータスに依存していた気がします
    天外2は特に戦闘において他では考えられない管理されていますよね?

  • AGENT: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0
    そんな式は作りませんよw
    まずそれぞれのキャラクタはパラメータテーブルを持っています。なので武器は
    1)あるキャラクタ(たいてい卍丸)のある段のパラメータを参照する。
    2)そのパラメータで使うときに術を打つ。
    と、こういう構造です。
    もう少し具体的に表現すると「魔剣Xは、卍丸17段のパラメータを参照して、凍竜を打つ」とこんな風に作ってあったわけです。
    この方法の方が素のダメージを持つより遥かに柔軟性があり、遥かに便利なのですよ。

  • AGENT: Mozilla/5.0 (PlayStation Vita 2.02) AppleWebKit/536.26 (KHTML, like Gecko) Silk/3.2
    なるほど···理解しました。
    卍丸の特定の段が基準になっていたのですね。
    怪刀木枯らしと同等の効果を持つ術を手に入れる頃には明らかに成功のしやすさやダメージ量が違っていたものでしたので···
    ···ちょっとだけ謎が解けた気がします。
    色々なゲームの攻略本などでダメージ算出式のようなものは出てくるのですが何を基準に置いているのかなどはわからないままで一種のミステリーとなっていましたw
    お返事頂きありがとうございます。
    同時にこうして当時遊んでいたゲームの開発者の方と会話できる機会を与えてくれたインターネットの時代に感謝。
    ゲームも進化した、退化したというような意見があったりしますけれどもそうした見えない部分がどうなっているのだろう、と考える事は時代を問わず不変で楽しいものですw

  • AGENT: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0
    宿屋で宿泊せずに記録しただけのセービデータで続きから再開しても、パーティ全員の体力と技が全快しているのも、その数値の分の容量をけずっているわけですね。

  • AGENT: Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0
    ブログ右で紹介なさっている「レベルアップ」のゲームデザインの書評を楽しみにしています!

  • AGENT: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; Sleipnir/2.9.15)
    天外2の宝箱の話が出てきて嬉しいです!
    その宝箱のことでずっと気になっていることがあるので質問です。
    中身と同じものを所持していると空っぽになる宝箱はたくさんありますが、
    その逆で、中身と同じものを所持している時だけ
    中身が入っている宝箱もあるようなのですがこれは意図的に配置されたのでしょうか。
    中身を知らずに買ってきたら「うわ~ここで手に入るのかー!」となるし
    知ってて買わなかったら「ここで手に入るはずだったのに中身が無い…!?」となるし
    二度引っかかるおいしくて面白い罠だと思いました。

コメントは現在停止中です。