基礎知識
戦闘関係
まずは前ページのテレポートの仕様解説にざっと目を通していただきたい。
アキラの「テレポート」の飛び先の計算方法が書かれているが、
$C0/3793~$C0/37AF~の、ふたつを使うことで飛び先を計算しているということがわかる。
このふたつのサブルーチンは、テレポートだけではなく、近未来編のアイテム改造など様々な場面でも利用されていることがわかったので、このページで紹介する。
まずは、近未来編攻略 > アイテム改造の表を見ていただきたい。
改造した時、改造先のアイテムが1種類、2種類、3種類、6種類の4パターンある。
それぞれで計算方法が少しずつ異なっている。
なお、判定が行われるタイミングは、籐兵衛に改造を依頼し、地下から戻ってきた後の「こいつができたぞ。~」というセリフの直後である。
「こいつができたぞ。~」の後にAボタンやBボタンなどを押してセリフ送りをするが、そのボタンを押したタイミングでサブルーチンが実行されている。
バーチャルコンソールの場合は「こいつができたぞ。~」と表示されたタイミングで「まるごと保存」し、「まるごと復元」してセリフ送りのタイミングをズラすことにより、乱数を変えて改造されるアイテムを変えることも可能となっている。
とはいえ、どのタイミングでセリフ送りをすれば何のアイテムができる、ということを人力で操作することは困難である。適当にタイミングを見計らいながら何度も根気よく試すと良いだろう。
例えば足装備の「バッシュ」は、改造先が「アイアンフット」のみ。
他には改造先が「ライダーベルト」のみの「パンクジャケット」「全身タイツ」「妙子のパンスト」などが該当。
これらのアイテムの場合は、成功するかしないかだけが判定される。
各1/2を判定するサブルーチン$C0/3793~が1回使われ、
「ポイズンジェット」から「コトブキラッカー」または「岩石砲」のように、改造先が2種類からランダムの場合が該当。
各1/3を判定するサブルーチン$C0/37AF~が1回使われ、
である。
ちなみに「ポイズンジェット」からの改造の場合は、乱数が0~32で「コトブキラッカー」、乱数が33~65で「岩石砲」になる。
「ナパーム弾」から「100Vレーザー」「スタンガン」「プラズマスパーク」のように、改造先が3種類からランダムの場合が該当。
まず成功するかしないかの判定で、サブルーチン$C0/3793~が1回使われ、
となり、失敗判定なら計算終了。
成功判定の場合、続いて各1/3を判定するサブルーチン$C0/37AF~が1回使われ、
となる。
「ナパーム弾」からの改造の場合は、乱数が0~32で「100Vレーザー」、乱数が33~65で「スタンガン」、乱数が66~98で「プラズマスパーク」になる。
6種類あるのは「妙子のパンツ」のみなので、実質「妙子のパンツ」専用判定。
サブルーチン$C0/3793~しか使われておらず、以下の順番で判定する。
6回目の判定では、1.~6.までの判定を合わせて確率1/64で「昭和ヒヨコッコ砲」になるということだが、1/64で判定が2.に戻ることになる。
1.には戻らないので「ライダーブーツ」の確率は1/2で確定なのだが、「パワーリスト」以降は2.~6.のループを抜けるまで決まらないようだ。
とはいえ1/2を引き続ける確率はどんどん下がるため、通常のプレイの範囲内で無限ループにハマってしまうことはまずないと思われるが……
(おそらく無限ループしないようプログラム内で例外処理などの対策はしてあると思うが、筆者にはよくわからない。65C816には「割り込み」といった処理もあるので、ループしないよう割り込むように設定されているかもしれない)
例えば「パワーリスト」なら、1回目のループで引く確率は1/22 = 1/4となり、2回目のループでは1/27 = 1/128ということになる。
上の計算方法だと理論上は無限にループすることが可能ではあるが、一般的な話に置き換えるとして、n回ループする場合(nは自然数)、「パワーリスト」になる確率は、1ループ目の確率、2ループ目の確率、……、nループ目の確率をすべて足した値であるから、
1/22 + 1/27 + 1/212 + 1/217 + … + 1/25n-3
となる。累乗部分を計算すると、
1/4 + 1/128 + 1/4096 + 1/131072 + …
このように、加える確率はどんどん小さくなっていくので、4ループ目以降に到達する可能性はまずないだろうし(絶対にない訳ではないのでプログラミングの際には対策をする必要がある)、確率として考慮する必要もあまりない。
1/22, 1/27, 1/212, … ,1/25n-3は、初項が1/22、公比が1/25、一般項が1/25n-3(※nは自然数)の等比数列である。
この数列の第n項までの和Snは、高校数学で扱う等比数列の和の公式で求めることが可能。
(以降も高校数学の話が続くが、詳細は適当に調べていただきたい)
初項a1、公比rとすると、等比数列の和の公式は
Sn = a1(1−rn)/(1−r)
であるから、初項1/22と公比1/25を当てはめて計算・整理すると、
Sn = 8/31(1−(1/32)n)
である。
高校数学の話(無限和)になるが、nが無限に大きくなっていく場合(n → ∞)、(1/32)n → 0に収束する。
(極限 - Wikipediaなどを参照)
要するに分数の分母が無限大に大きくなってしまうため、分数部分が無視しても良いくらい小さくなるということであるから、Snを8/31と見なしても良い、ということになる。
無限和をS∞として、
S∞ = 8/31
同じように他アイテムを考えると、
1/23 + 1/28 + 1/213 + 1/218 + … + 1/25n-2
初項が 1/23、公比が1/25、一般項が1/25n-2(※nは自然数)の等比数列の総和
Sn = 4/31(1−(1/32)n)
S∞ = 4/31
1/24 + 1/29 + 1/214 + 1/219 + … + 1/25n-1
初項が 1/24、公比が1/25、一般項が1/25n-1(※nは自然数)の等比数列の総和
Sn = 2/31(1−(1/32)n)
S∞ = 2/31
1/25 + 1/210 + 1/215 + 1/220 + … + 1/25n
初項が 1/25、公比が1/25、一般項が1/25n(※nは自然数)の等比数列の総和
Sn = 1/31(1−(1/32)n)
S∞ = 1/31
1/26 + 1/211 + 1/216 + 1/221 + … + 1/25n+1
初項が 1/26、公比が1/25、一般項が1/25n+1(※nは自然数)の等比数列の総和
Sn = 1/62(1−(1/32)n)
S∞ = 1/62
ということで、まとめると、各確率は以下のようになると考えて良いだろう。総和は1(100%)になる。
「ライダーブーツ」が非常に出やすく、「昭和ヒヨコッコ砲」の確率はかなり低いということがわかる。
わかりやすいようにカッコ内は分母を合わせた。
以上、改造先の種類の数で成功・失敗の確率が変わってしまうということがわかった。
そして成功する場合、改造先のアイテムが2種類または3種類の時は、どのアイテムに改造されるか、確率はどれも同一で、何かのアイテムに偏っているということは起きていない。
「妙子のパンツ」のみ仕様が特殊であり、6種類のアイテムからどれになるか、確率は偏りがある。
性能が高めで貴重なアイテムほど確率が低めに設定されているようにも見えるが、どのような基準で選ばれたのかまではわからない。
体感でもアイテム改造は割と失敗しやすい気はしていたが、「妙子のパンツ」以外は1/2や1/3で失敗が起きていたとすればある程度は納得である……。
近未来編では無法松のたい焼き屋の手伝いができるが、客として子供、女性、男性、老人がランダムでやってくる。
この4人の中から誰が来るのかもサブルーチン$C0/3793~とサブルーチン$C0/37AF~が使われている。
判定タイミングはたい焼き屋の屋台に立って(無法松の左)、下向きでAボタンを押した時。
判定1:$C0/37AF~で、
判定2:$C0/3793~で、
つまり、それぞれが来る確率は平等に1/4ずつではなく、
となっており、確率に偏りがある。
男性または老人でなければ「ミサワ焼き」は手に入らないので、「ミサワ焼き」が一番入手しにくい。
逆に子供または女性でなければ「バナナクレープ」は手に入らないので、「バナナクレープ」が一番入手しやすい。
プレイしていてあまり偏りを感じることがないのは、それぞれの人に対し2種類どちらかをもらえるよう設定されているからだろうか。
チビッコハウスの教室にあるオルガンを調べるとアキラが曲を弾いてくれるが、4曲からランダムに選ばれる。
判定は最大で3回。
判定1:$C0/3793~で、
判定2:$C0/37AF~で、
判定3:$C0/3793~で、
つまり、こちらもそれぞれの確率は平等に1/4ずつではなく、
上のようになり、「むすんでひらいて」の確率が最も高い。
この曲は近未来編冒頭でも聞ける曲であり、チビッコハウスでは挨拶の時に鳴らすメロディのような扱いと思われる。アキラにとっても馴染みがあり、一番高い確率で弾くよう設定されているのかもしれない。
一方でチョコボの曲が一番確率が低いのは、他ゲーム由来の隠し要素のようなものだからだろうか。
近未来編、妙子が洗濯物を干し始めてからは、チビッコハウス庭の物干し竿の下のマスをAボタンで調べると、「パンクジャケット」が1個、「全身タイツ」が1個、「園長のパンツ」が5個、「ワタナベのパンツ」が10個手に入る。
これらの入手順はランダムなのだが、ここでもサブルーチン$C0/37AF~が使われている。
ただしここでは少し特殊な仕様である。
乱数と確率は以下のとおり。
乱数が0~32の時は、「パンクジャケット」→「全身タイツ」→「ワタナベのパンツ」の順で選ばれるようになっている。
(このため、どのように乱数が選ばれたとしても、「全身タイツ」より先に「パンクジャケット」が手に入るようになっている)
乱数が33~65の時は「ワタナベのパンツ」で確定で、乱数が66~98の時は「園長のパンツ」で確定である。
そして「ワタナベのパンツ」を10個入手以降に「ワタナベのパンツ」が選ばれても、何も起こらない。
「園長のパンツ」も同様で、「園長のパンツ」を5個入手以降に「園長のパンツ」が選ばれても、何も起こらない。
つまり、例えば、
『「パンクジャケット」「全身タイツ」及び、「ワタナベのパンツ」を10個入手し、「園長のパンツ」入手数が5個未満』
という時に、Aボタンを押して乱数が0~32または33~65だと、「園長のパンツ」がまだすべて拾えていないのに、何も起こらないのである。
乱数が66~98になるまでAボタンを押さないと、「園長のパンツ」は手に入らない。
おそらくほとんどのプレイヤーは、物干し竿下でAボタンを連打してアイテムを拾うだろうから、「全て拾えてないのにAボタンを押しても何も拾えない」ことがある、とは気づいていないだろう。
なお、全てのアイテムを拾えた後でも、物干し竿下を調べるとサブルーチン$C0/37AF~の判定は入る。
ただし全てのアイテムを拾えているため、何も起こらない。
デロスに依頼すると3パターンに分岐するが、判定は$C0/37AF~を1回のみ。
判定はデロスがバーから出ていくタイミングで行われている。
どのパターンも同確率で発生する。
(一部ウェブサイトでは、所要時間1秒で失敗1/2、所要時間1分と4分をそれぞれ1/4としてあるが、そうではないようだ)
なお、リメイク版でも、イベント時の確率はSFC版設定をある程度は引き継いでいるようだ。
アイテム改造の確率は成功率が55%くらいで、「妙子のヘソクリ」(リメイク版における「妙子のパンツ」)から改造されるアイテム6種だけ、出現確率に偏りが見られる。
たい焼き屋の客は、SFC版ほどではないがやはり偏りが見られる。
一方でオルガンは、4曲を決まった順序で演奏するので(ループする)、乱数で判定しなくなったようだ。
デロスも分岐自体しなくなっている。
ここまでの説明では、乱数をどうやって生成しているかは省いた。
本作の乱数生成方法は(少なくとも)2種類ある。
このページで紹介した、マップ上での乱数は、マップ乱数生成で説明をしている。
戦闘中の乱数については、ダメージ計算式の簡易解説・2(乱数計算)を参照のこと。
※どちらもある程度のプログラミングの知識が必要になるため、この先の解説を順に読んでいく方がわかりやすいだろう。まずは、次ページのダメージ計算式解説へ進んでいただきたい。