バグ?仕様?キングボンビーが214兆くれました【桃太郎電鉄ワールド】

Поділитися
Вставка
  • Опубліковано 31 гру 2024

КОМЕНТАРІ • 164

  • @mk2754
    @mk2754 11 місяців тому +187

    コンピューターの勉強する楽しさを教えてくれるいい動画

  • @name-break
    @name-break 9 місяців тому +99

    最初の一桁目を符号としていて「0111…1111」が+314兆って認識だからここから1増えると「1000…0000」になって-0という認識になるいわゆるオーバーフローってやつですね。

  • @ems10dudah
    @ems10dudah Рік тому +450

    検証のためにえげつない労力と時間がかかってそうで戦慄した

  • @Yaponiya_soviet
    @Yaponiya_soviet 11 місяців тому +289

    「まだキングはお金をくれません」おかしいおかしいww

    • @マナミ-r5s
      @マナミ-r5s 5 місяців тому +5

      たしかにwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

    • @user-koto
      @user-koto 3 місяці тому +7

      そんなカブみたいな言い方w
      まだまだカブは抜けません

    • @おさむ-p4n
      @おさむ-p4n Місяць тому +1

      ​@@マナミ-r5s翻訳したらたしかにはたかるにになった

  • @10時間前_ごめん嘘本当は

    ここまでマイナス食らってマイナス10倍の悪行食らうのはのは余程運が悪いか検証してる人だけしかいないからこういうバグ発見はこっちまで嬉しくなってくるw

  • @Nouka_omuretu
    @Nouka_omuretu 10 місяців тому +99

    キングボンビー 「分かった!もう分かったからやめろ!お金あげるからー!」

  • @桜花ゆう
    @桜花ゆう Рік тому +207

    こりゃいかんだろ...って思ったけど普通にプレイする範囲では起こらないしええか

  • @秋麗-l3h
    @秋麗-l3h Рік тому +123

    ボンビーの頭が悪くて計算できなくてお金を渡しちゃってるって考えたらかわいいかもしれない

  • @かなたそガチ恋ニキ
    @かなたそガチ恋ニキ 9 місяців тому +148

    3:01 一生いらない知識で草

  • @keikyu1004
    @keikyu1004 Рік тому +86

    214兆円くれるのか!
    そりゃ歓喜の舞踊るわ!

    • @ヤス-l4b
      @ヤス-l4b 9 місяців тому +4

      でもこれ銀二食らったら一撃なんかな??w

  • @meeling46
    @meeling46 Рік тому +191

    オーバーフローしたときに修正する処理が抜けているみたいですね。
    32バイトマイナス符号ありの形式でデータを保存しているため、2進数で256桁の最上位桁が1となると2進数で表した数字のすべての桁の0と1を反転した数のマイナスになるという基本情報処理で出てくるような処理が行われ、今回の挙動をすることになるんですね。
    奪う金額の計算結果が0より小さくなったらオーバーフロー手前の金額に修正する等の処理を入れる修正がそのうち入りそうですね。

    • @ポン吉-l8i
      @ポン吉-l8i Рік тому +11

      専門家がいたww

    • @ピンクの兵隊
      @ピンクの兵隊 Рік тому

      なるほど...

    • @ヘルエスタ珍走軍日本支部
      @ヘルエスタ珍走軍日本支部 Рік тому +21

      32Byte→32bit符号付き整数型(4Byte)

    • @user-qks-murasame
      @user-qks-murasame Рік тому +4

      キングボンビー「こんな未来、修正してやるーーー(号泣)!!!」

    • @newmomizi_txt
      @newmomizi_txt 10 місяців тому

      ここから推測できるのは、プレイヤーの所持金管理にはint64_tが使われているのに対し、貧乏神の悪行イベントでの金額計算にはint32_tが使われているということですね。
      メモリ容量の都合とかかと思いましたが、それなら例外処理を組み込んでいるはずですし、開発者がデータ型を間違えた可能性が高そう…

  • @forest2179
    @forest2179 Рік тому +76

    キングボンビーでパパ活できる時代まで来たのか、

  • @master_neodio
    @master_neodio Рік тому +49

    ゲームボーイ版桃鉄でも同様の現象があった。なすりつけカードでマイナスをどこまで増やせるか試してたらいつの間にか億万長者になってしまってた。

    • @08otika25
      @08otika25 3 місяці тому +1

      ファミコンのピンクカセットで同じくなすりつけでマイナス目指した時いきなり兆もらえた事を思い出しました

    • @master_neodio
      @master_neodio 3 місяці тому

      @@08otika25 GB版はオートセーブ機能があったので、他の相手になすりつけてしまったら即座に電源オフしてまた起動という涙ぐましい努力をしていたのに、意図せず億万長者になってしまったあの虚しさときたら…

  • @JJ_Mizukawa
    @JJ_Mizukawa 10 місяців тому +14

    2038年問題を示唆するIT教育系ソフト桃鉄ワールドってことか…

  • @yuki_min
    @yuki_min Рік тому +26

    うわぉ😂
    めっちゃ気が遠くなる作業〜〜ナイス考察👍

  • @126ワンツーシックス
    @126ワンツーシックス Рік тому +94

    赤マス10倍で100兆以上捨てる様になるのか。2^31を超えたら逆に大金を貰えるようになるって凄いなー。(オーバーフローしている状態。)これだと、2^32を超えたら、[本来奪われる額-2^32]だけ奪われるようになるのかな。

  • @井の頭のドン
    @井の頭のドン Рік тому +138

    -2^31から2^31までが本来の想定されてた範囲で2^31を超えた瞬間にオーバーフロー処理がされてリスタート地点が-2^31に設定されてしまっているのではないでしょうか。なので2^31×2を超えるまではお金をくれる状態が続き、2^31×2を超えたタイミングでまたお金を奪われるようになると思います。検証よろしくお願い致します。

  • @ctyan
    @ctyan Рік тому +112

    よく初心者コーダーがミスするオーバーフロー処理ミスですねぇ。テストでも抜けてたのか、ここまでする必要が無いとしてこの仕様にしたのか。

    • @gomaotsu-windon
      @gomaotsu-windon 8 місяців тому +36

      ここまでいくことは想定してなくて、必要ないという事で設定してないんでしょうね。

    • @夢待翔太
      @夢待翔太 4 місяці тому +4

      @@gomaotsu-windon
      想定してないと必要ないは違うだろ

    • @karimori0041
      @karimori0041 4 місяці тому +7

      あんなに連続でマイナス駅止まるなんてひねくれでもしない限りしない。開発側で放置しても良いバグと判断されたのでしょう。

    • @dango_gyunyu
      @dango_gyunyu 4 місяці тому +4

      @@夢待翔太違わんやろ。通常のプレイではここまで行くことは想定されないから、必要無いと判断したんやろ

    • @なくした-m2b
      @なくした-m2b 4 місяці тому

      検証して必要ないと判断する時間あるなら直せる

  • @akura.channel
    @akura.channel 9 місяців тому +10

    キングボンビー「術式反転黒」

  • @fugutakj0502
    @fugutakj0502 Рік тому +90

    キングただの福の神じゃねーかw

  • @Banana_KUN2012
    @Banana_KUN2012 Місяць тому +3

    4:30 歓喜の舞を踊れ!
    踊るわ

  • @kazuyajimba9780
    @kazuyajimba9780 8 місяців тому +5

    説明としてはオーバーフローでいいんだけど、符号付整数型(最上位の桁をマイナスとして扱う変数)ではなく、符号なし整数型(最上位の桁もプラスとして扱う変数)に宣言を変更するだけで正負の反転自体は防げるはず(桃鉄で使ってるプログラミング言語で「符号なし整数型」を宣言できれば、だけど)。
    そして、本来の意味でのオーバーフローは 2^33 に入ってから(桁が繰り上がって 0 から計算し直しになるはず)

  • @イザナイ-f4t
    @イザナイ-f4t 8 місяців тому +13

    ファミコン時代はよくあったオーバーフローが令和にもあったか

  • @wabisuke-yoshida
    @wabisuke-yoshida 10 місяців тому +16

    たぶん100年じゃそこ(214兆)までもっていけないだろうという想定だったんじゃないかな。
    がんばったね(笑)

  • @mobu966
    @mobu966 6 місяців тому +4

    ゲーム作ってるとこの仕様のせいで所持コインの数がマイナスになっちゃってゲームが成り立たなくなることがあるから困るところ

  • @goatboy3188
    @goatboy3188 9 місяців тому +3

    オーバーフローはまあよくある現象ですよ。
    32桁目で+/-割り当てているので繰り上がると反転するのです。

  • @fuyuka-akiyoshi
    @fuyuka-akiyoshi 11 місяців тому +9

    int型かlong型かだろうけど、プログラミング勉強してると仕組みが分かるのよね~
    最大値超えると処理おかしくなる😂

  • @rairixi0710
    @rairixi0710 7 місяців тому +26

    キングボンビーが慈悲与えてて草

  • @kykykyblues60
    @kykykyblues60 Рік тому +51

    オーバーフローとか大きな数を扱うのが困難だったファミコン・スーファミ時代の話かと思っていたら、令和時代にもあるんですね。

    • @木之本桜-m6p
      @木之本桜-m6p Рік тому +1

      オーバーフローは今もポケモンならずっと残ってる

    • @黒月まこと
      @黒月まこと Рік тому +17

      普通そのサイズまでいかんやろ、無駄にでかい箱にすると邪魔だしこの箱でええや
      って感じに設定してると変なユーザーが箱を溢れさせちゃうって感じやね

    • @Hakase-et3sn
      @Hakase-et3sn 9 місяців тому

      Arkとかも恐竜交配した時に確率で起きる変異っての繰り返して21億だかでオーバーフローしてステータス無限に上げれるようなる

  • @ペペロチノ
    @ペペロチノ 4 місяці тому +4

    キングボンビー「こいつ金なさ過ぎやろ ちょっと分けたろ」

  • @KentaMokugen
    @KentaMokugen 8 місяців тому +5

    他のゲームで似たようなのがありましたね
    DQ4(FC版)の裏技で、カジノコイン838861枚(16,777,220ゴールド)がバグで4ゴールドで買えてしまったやつと同じかな?
    6桁の16進数で扱っていたから、上限は16,777,215ゴールドまでしか扱えないところを「バグによるオーバーフローで16,777,215ゴールド=0ゴールド扱い」になるとか・・・
    DQ4だと「6桁の16新数」ってところが、今回はもっと大きな桁の部分で、「バグによるオーバーフロー」が起きている。んでしょうね

  • @torn_cheese777
    @torn_cheese777 5 місяців тому +3

    内部のデータが2進数で管理されてて+と-がどっかで入れ替わっちゃったんかな

  • @takayamayoshikazu2782
    @takayamayoshikazu2782 Рік тому +29

    国家予算の大切さを教えてくれるゲーム

  • @heppocogne9778
    @heppocogne9778 8 місяців тому +4

    所持金が64bit整数でイベントで増減する金額が32bit整数なのかな。10倍する前にキャストすれば良さそう。

  • @sizukukatou6176
    @sizukukatou6176 9 місяців тому +7

    オーバーフローで先頭の桁のマイナスが消えたんだな

  • @松本善光-zm
    @松本善光-zm 7 місяців тому +3

    この不具合は修正済みか。もう動画で再現することは不可能になったな。

  • @X-ray-b3j
    @X-ray-b3j 8 місяців тому +8

    21億と42億
    どちらも某ソシャゲでよく見る数字ですねぇ・・・

  • @178yorkai9
    @178yorkai9 8 місяців тому +9

    429と数字が出て即オーバーフローしてるんやなってくらいしか頭に思い浮かばなかったよ…みんな証明までしてて偉いなぁ

  • @rain_1219
    @rain_1219 5 місяців тому +4

    "一 番 金 銭 感 覚 が 狂 う 動 画"

  • @yuki_mi3
    @yuki_mi3 4 місяці тому +2

    久しぶりに観にきたら、コメント欄にプロが沢山来ててわろた🤣

  • @アルカ-e1m
    @アルカ-e1m 3 місяці тому +2

    最後、今回の動画は異常です、に聞こえた笑

  • @yuchamk2
    @yuchamk2 7 місяців тому +3

    昔のドラクエ4でカジノのコイン販売額が振り切れて、1枚20ゴールドで838861枚買うと4ゴールドにバグるのを思い出したw

  • @cervusnipponyesoensis47
    @cervusnipponyesoensis47 6 місяців тому +5

    やはり算術オーバーフローの話だった

  • @ある高
    @ある高 9 місяців тому +1

    まさかオーバーフローするとは開発側も思わなかったんだろうなあ

  • @眠い人-b8c
    @眠い人-b8c 8 місяців тому +3

    ゲーム会社と外注やIT企業ら勤務のエンジニアが発生するイベントでした

  • @霞巳津笠
    @霞巳津笠 10 місяців тому +4

    さくまハドソン桃鉄のこのシステムがブラックボックス過ぎててを加えられずにそのまま残ったと考えたら、コナミなのに粉身にして作ってないだろって思いますね(小並感

  • @ケイケイヤマヤマ
    @ケイケイヤマヤマ 4 місяці тому +2

    これが借りる側が強くなる理論か…

  • @HoshoEigyo
    @HoshoEigyo Рік тому +4

    こんだけ持ってりゃ5兆入った金庫落としても1年間放っておけますわ

  • @ほやんほほ
    @ほやんほほ Рік тому +13

    オーバーフローを令和の世でも見れるとは

    • @buddhagautama673
      @buddhagautama673 Рік тому +1

      核ガンジーも思わずニッコリですねえ🙏

  • @Anwar117
    @Anwar117 Місяць тому +3

    往年の4Gで838861枚を思い出しますね。

  • @MT-ie1wm
    @MT-ie1wm 7 місяців тому +4

    お金ありすぎwこれが現実であったら…

  • @zelcoba
    @zelcoba 5 місяців тому +2

    オーバーフローが原因でしょうが、オーバーフローは、条件式を付ける事で簡単に回避できるため、仕様か、想定不足です。まあ、こういう膨大な桁を扱うゲームでオーバーフローを考えないことはまず無いので、仕様ですかね

  • @Nyacolson
    @Nyacolson 9 місяців тому +3

    記念仙人がドン引きするくらい赤マスとまってる。

  • @nanaki1006
    @nanaki1006 Рік тому +4

    数字の一番上の桁は1,0ではなく+と-の符号として使われてることが多いですね

  • @はむたん-f3t
    @はむたん-f3t Рік тому +7

    昔、友達と金賭けてやってたの思い出した…この人とやったら絶対に勝てないだろうな…

  • @ナゾリエル
    @ナゾリエル 11 місяців тому +4

    キングボンビーはメダルゲームだけじゃなくて、ワールドでも善行するのですね。

  • @youtuber-xw6xn
    @youtuber-xw6xn Рік тому +6

    開発が想定してない値に達してのオーバーフローって感じかな?
    これで数字がひっくり返るのは他のゲームでもあったりする

  • @jr_math_club
    @jr_math_club 9 місяців тому +3

    そもそも赤マスに999/1200以上止まってる時点で相当やばいけどw

  • @hatwd
    @hatwd 5 місяців тому +3

    まさか桃鉄でCobolの価値が・・・?

  • @blue-jb2pd
    @blue-jb2pd 8 місяців тому +2

    金額はlong型で管理してるのか
    普通のゲームならそれで問題ないよな

  • @---sz9rh
    @---sz9rh 9 місяців тому +2

    ここまで持ってくのが無理すぎる(笑)

  • @茶屋笹
    @茶屋笹 7 місяців тому +3

    アンダーフローさせるのやばすぎ

  • @ヤス-l4b
    @ヤス-l4b 9 місяців тому +2

    おお、いわゆるオーバーフローやな

  • @田村酒
    @田村酒 5 місяців тому +3

    キングボンビーがいい奴の世界線

  • @furin_maivara
    @furin_maivara 5 місяців тому +2

    今のゲームでもオーバーフローするんだ!わらわら

  • @poseidon_instinct
    @poseidon_instinct Рік тому +24

    情報処理技術者試験の問題に出すと良いな

    • @d1Prczr6b29eM82Y
      @d1Prczr6b29eM82Y Рік тому +3

      ネタ抜きでありだと思う新人で入力値の検証できてる奴ほとんどいない

  • @オセロン-m1m
    @オセロン-m1m 4 місяці тому +5

    昔のゲームでも無いんだし、オーバーフロー関連のバグが残っているのは少しばかり気を抜きすぎじゃ無いか?

  • @ZERO-o1m
    @ZERO-o1m Місяць тому +2

    ボンビー金くれるがぎんはくれない

  • @べくすた
    @べくすた 4 місяці тому +2

    「補数」で調べると理由がわかるよ!(≧▽≦)

  • @redblack1068
    @redblack1068 Рік тому +4

    一体何時間かかったのこれ。検証お疲れ様でした。とても数学的な回答でしたがなんか才能の無駄遣いのような気がするのは気のせい?。

  • @Hi--tyan
    @Hi--tyan 5 місяців тому +3

    Switchでもオーバーフローするんだねぇ

  • @YAKISOBA_22735
    @YAKISOBA_22735 11 місяців тому +5

    ちょっと前に修正されましたね

  • @rinia_
    @rinia_ Рік тому +4

    修正されるらしいですね!!!!!!

  • @bkfuxiujj
    @bkfuxiujj 10 місяців тому +2

    integerの値域ですね

  • @yuyumaimiya
    @yuyumaimiya 5 місяців тому +2

    32bit符号付き整数だー

  • @Sierra-nm1zz
    @Sierra-nm1zz 9 місяців тому +2

    キングちゃんめっちゃええ奴やん😂

  • @隆景-e6y
    @隆景-e6y Рік тому +7

    有能デバッカーだろこれww

  • @ふわふわ未来
    @ふわふわ未来 10 місяців тому +5

    絶対オーバーフローしてる笑笑

  • @ふまま-i3l
    @ふまま-i3l 5 місяців тому +2

    単精度で1ビット目のサイン符号が変わってようだ。BUGっぽいな。

  • @faust6668
    @faust6668 9 місяців тому +2

    侵入者が勝つ方に、214兆7412億

  • @まっさー-y2s
    @まっさー-y2s 10 місяців тому +2

    値がCTOしてますね

  • @松井良樹-e2y
    @松井良樹-e2y 8 місяців тому +1

    流石に64bit仕様にはせんだろなぁ
    宣言文だけ替えるならするかなぁ?どうだろ

  • @近藤勇-w5u
    @近藤勇-w5u 11 місяців тому +3

    ファミコン思い出した

  • @hatena.1574
    @hatena.1574 5 місяців тому +2

    うっわ開発どこだ?オーバーフローやんけ!新入社員のプログラマーが作ったんじゃ・・・ってぐらい恥ずかしすぎるよこれは💦

    • @そぼろ煮
      @そぼろ煮 5 місяців тому

      ミスというより修正不要な仕様だろ

  • @shibainu-nu
    @shibainu-nu Місяць тому +1

    また古典的な⋯

  • @ゆう-t9b5x
    @ゆう-t9b5x Рік тому +1

    オーバーフローなんて、静的解析かけられてたら、警告してくれるんだけどねぇ。。。

  • @カレーライス大好き人間

    アプデで修正されそう

  • @SMM2_MC_0613
    @SMM2_MC_0613 7 місяців тому +3

    32ビットの限界超えちゃったのかな?

  • @ty15
    @ty15 9 місяців тому +1

    符号付き2進数かな

  • @がっぺん
    @がっぺん 11 місяців тому +4

    ミカエル超えの大天使やん

  • @さらだぽてと
    @さらだぽてと Місяць тому +2

    オーバーフローか

  • @ゴマ太郎-g2y
    @ゴマ太郎-g2y 4 місяці тому +2

    なんだこれ…

  • @ガックガック
    @ガックガック Рік тому +1

    integer型?longでやってないんや。

    • @ヘルエスタ珍走軍日本支部
      @ヘルエスタ珍走軍日本支部 Рік тому

      普段触れているC言語系ではintとlongは基本的に両方とも符号付き32bit整数なのですが、longの方が大きいものもあるんですね

    • @keimatsukaiseito
      @keimatsukaiseito Рік тому

      @@ヘルエスタ珍走軍日本支部 Cだとintとlongは同じく32bitで表せる範囲が同じですが、有名で分かりやすい言語で言えばpythonだとintが32bitでlongが64bitです。pythonだとintとlongは全く別物でlongは丁度Cのlonglong型にあたります。

    • @newmomizi_txt
      @newmomizi_txt 10 місяців тому

      ​@@ヘルエスタ珍走軍日本支部Javaとかだとlongが「64ビットの整数」という意味を持っていたりします。
      (Cのint64_tに相当)

  • @HinekuLemon
    @HinekuLemon 10 місяців тому +1

    なるほど。
    救済措置か。
    な?

  • @はらさか-y5l
    @はらさか-y5l 5 місяців тому +2

    👼🏻岸田だろ👓💦

  • @arain9827
    @arain9827 Рік тому +4

    この手のオーバーフロー、カンスト系のバクって、QAチームがまともなら必ずチェックするもんだけどなぁ。ましては桃鉄なんて所持金(数値)の増減がキモなのに…

  • @tama3_fx2
    @tama3_fx2 9 місяців тому +1

    int型の桁落ちか

  • @tkudo1431
    @tkudo1431 Місяць тому +1

    30000ガバス 級のネタちゃうか

  • @AnS_1.12.2
    @AnS_1.12.2 Рік тому +1

    アンダーフローは仕様でありバグでもある。

  • @kure254
    @kure254 5 місяців тому +2

    2の32乗の半分は2の31乗