No.838861
コピペ投稿者:名無しさん
投稿者ID:WsxrcnCN
コピペ投稿日時:2019/07/12 21:34
コピペ投稿日時:2019/07/12 21:34
838861とは、FC版ドラゴンクエストIVに存在するバグ技である。
概要
カジノで使うコインはまず現金(ゴールド)で購入する必要がある。
コイン販売所では一度に999999枚まで購入出来るが、1枚あたり10~200ゴールドするくせに手持ち金は99999が上限であるため、実質的には最大でも9999枚までしか1度に買えない。2桁も余分である。
しかし、ここで838861枚買おうとすると、何故か3章では40ゴールド、5章では4ゴールドとか言うあり得ない値段で買えてしまう。
カジノの賞品には非常に強力な防具「はぐれメタルのたて」や「ほしふるうでわ」があり、店に売って現金に戻せるアイテムもある(換金率はかなり悪いが、コインがタダ同然なので問題ない)ため、多少の手間はかかるものの非常に楽にゲームを進める事が出来る。
なお、カジノは2章・3章・5章でそれぞれ登場するが、2章ではこの技を使う事が出来ない。838861枚買おうとすると相応の金額をまともに要求される(もちろん支払えない)。理由は後述。
無論、PS版以降のリメイク作品ではこのバグは修正されたため、裏ワザは消滅している。
…だが、移民の街のカジノで「昔40ゴールドでコイン838861枚稼いだ」と言う男が登場し、まさかの公式ネタになっている。
なぜかメジャーな5章ではなく3章でのバグのことを言っているが、スマホ版では4ゴールドに修正された。
原理
このバグは、いわゆる「オーバーフロー」=桁あふれに起因する。
カジノのコインを買う際の、代金の計算に用いられるアドレスの最大値は2進数24桁、16進数6桁、10進数で言うと16777215(=224-1=166-1) が限界である。 しかし、例えば5章ではコイン1枚あたり20ゴールドであるため、838861枚買おうとすると代金が16777220ゴールドとなってしまい限界値を超える。 限界値を超えたらどうなるのかと言うと、限界を超えた桁は格納できないので、また0に戻ってしまうのである。これがオーバーフローである。すなわち、24ビットのアドレッシングの場合、16777216は0であるため、16777220=224+4であるから、4となり、代金が4ゴールドになってしまうのである。
なお838861と言う数字ばかりが有名であるが、別に838862でも888888でもオーバーフローは同様に起こす。ただ、オーバーフローを起こすギリギリの数値が最も代金が安くコストパフォーマンスが良いというだけである。(888888だとオーバーフローして闇に消えた分を差し引いても100万ゴールドくらいかかる)
先述の「3章と5章でしか出来ない」と言うのは、各章でコインの値段が違うため、安く買える章ではオーバーフローに届かないからである。
3章ではコイン1枚200ゴールドであるため、オーバーフローを起こす枚数はもっと低く、83887枚でオーバーフローを起こし185ゴールド(∵83887*200-224=184)になる。その後も必要なゴールドが224を超えるたびに何回もオーバーフローを起こすことになり、最もコストパフォーマンスがいいのは922747で24ゴールド(∵922747*200-224*11=24)になる。2章では1枚10ゴールドと安いため、999999枚買っても9999990ゴールドで16777215に届かないため、オーバーフローを起こす事が無い。
概要
カジノで使うコインはまず現金(ゴールド)で購入する必要がある。
コイン販売所では一度に999999枚まで購入出来るが、1枚あたり10~200ゴールドするくせに手持ち金は99999が上限であるため、実質的には最大でも9999枚までしか1度に買えない。2桁も余分である。
しかし、ここで838861枚買おうとすると、何故か3章では40ゴールド、5章では4ゴールドとか言うあり得ない値段で買えてしまう。
カジノの賞品には非常に強力な防具「はぐれメタルのたて」や「ほしふるうでわ」があり、店に売って現金に戻せるアイテムもある(換金率はかなり悪いが、コインがタダ同然なので問題ない)ため、多少の手間はかかるものの非常に楽にゲームを進める事が出来る。
なお、カジノは2章・3章・5章でそれぞれ登場するが、2章ではこの技を使う事が出来ない。838861枚買おうとすると相応の金額をまともに要求される(もちろん支払えない)。理由は後述。
無論、PS版以降のリメイク作品ではこのバグは修正されたため、裏ワザは消滅している。
…だが、移民の街のカジノで「昔40ゴールドでコイン838861枚稼いだ」と言う男が登場し、まさかの公式ネタになっている。
なぜかメジャーな5章ではなく3章でのバグのことを言っているが、スマホ版では4ゴールドに修正された。
原理
このバグは、いわゆる「オーバーフロー」=桁あふれに起因する。
カジノのコインを買う際の、代金の計算に用いられるアドレスの最大値は2進数24桁、16進数6桁、10進数で言うと16777215(=224-1=166-1) が限界である。 しかし、例えば5章ではコイン1枚あたり20ゴールドであるため、838861枚買おうとすると代金が16777220ゴールドとなってしまい限界値を超える。 限界値を超えたらどうなるのかと言うと、限界を超えた桁は格納できないので、また0に戻ってしまうのである。これがオーバーフローである。すなわち、24ビットのアドレッシングの場合、16777216は0であるため、16777220=224+4であるから、4となり、代金が4ゴールドになってしまうのである。
なお838861と言う数字ばかりが有名であるが、別に838862でも888888でもオーバーフローは同様に起こす。ただ、オーバーフローを起こすギリギリの数値が最も代金が安くコストパフォーマンスが良いというだけである。(888888だとオーバーフローして闇に消えた分を差し引いても100万ゴールドくらいかかる)
先述の「3章と5章でしか出来ない」と言うのは、各章でコインの値段が違うため、安く買える章ではオーバーフローに届かないからである。
3章ではコイン1枚200ゴールドであるため、オーバーフローを起こす枚数はもっと低く、83887枚でオーバーフローを起こし185ゴールド(∵83887*200-224=184)になる。その後も必要なゴールドが224を超えるたびに何回もオーバーフローを起こすことになり、最もコストパフォーマンスがいいのは922747で24ゴールド(∵922747*200-224*11=24)になる。2章では1枚10ゴールドと安いため、999999枚買っても9999990ゴールドで16777215に届かないため、オーバーフローを起こす事が無い。
コメント一覧
裏技というか仕様だけど