ぽけりん>ポケモン剣盾で最小ダメージの「0ダメージ」を与えられることが判明 剣盾でも存在するダメージオーバーフロー

主にソードシールド(剣盾)やポケモンGO、アニメ、グッズなどの情報を取り扱っていきます。

ポケモン剣盾で最小ダメージの「0ダメージ」を与えられることが判明 剣盾でも存在するダメージオーバーフロー

21/01/24 11:25
ゲーム 70コメント
スポンサーリンク
1:カイリキー@ふしぎなおきもの投稿日:2020/12/20 10:58:29 ID:loEwY5g.
ダメージをオーバーフローさせることで攻撃アニメーションがあるのに0ダメージという状況を発生させられる
■最大ダメージの調査 @DaWoblefetさん
・ポケモンソードシールドの最大ダメージは65535です。
・ダメージは65535(16ビット)を超えるとオーバーフローを起こします。
・サンムーンでは、これを利用して0ダメージを与える実験を行いました。
Proof of concept: 16-bit damage overflow still exists in Sword and Shield. Among other things, this means the maximum damage in the game is still 65,535. Like previous generations, you can also use this to deal 0 damage, which in my opinion is very funny:

【上の詳しい説明】
 計算後のダメージが65536以上だった場合、オーバーフローによって数が小さくなります。ダメージ計算では、他の全ての補正計算後の値を65536でわった余りがダメージになります。65536は2の16乗です。ダメージは16bitの枠の中で表されるようなのですが、16bitで表現できる数は0~65535なので、65536以上でオーバーフローが起きます。この現象は、少なくとも第五世代以降から存在し、現在の第八世代でも確認されています。

 このオーバーフローは1より小さいダメージ(0ダメージ)を1ダメージにする処理(どんなに弱い攻撃でも1ダメージは入るという現象を可能にするための処理)よりも後に起きるので、攻撃が無効化されていないにもかかわらず与えるダメージが0であるという現象が起きます。
(略)

引用元(詳しい説明)
スポンサーリンク
14:ヒンバス@オレンのみ投稿日:2020/12/27 21:40:19 ID:X/YYiT4U
知らなかった
5:バイウールー@あかいバンダナ投稿日:2020/12/20 11:08:07 ID:qXtksKLY
102400とかいう綺麗な数字
11:ドッコラー@ピンクのバンダナ投稿日:2020/12/20 11:21:11 ID:loEwY5g.
レジエレキで話題になってたトリックルーム中の逆転現象とは別に、非トリル時のすばやさのオーバーフロー的現象は8192で起きるけど、ダメージのオーバーフローは65536で起きる
12:ジーランス@だいちのプレート投稿日:2020/12/20 11:31:11 ID:loEwY5g.
これ、どのダメージ乱数を引いてもオーバーフローするようにしてるだけだから、オーバーフローを起こすだけならもっと簡単な設定でできる
13:シシコ@スペシャルアップ投稿日:2020/12/20 11:41:10 ID:loEwY5g.
誰かレベル1使える対人戦で偶然ダメージオーバーフロー起こして驚かないかな
41:ポケモン名無しさん投稿日:2021-01-19 12:31 ID:NGEyMjU0
金銀のガラガラもふといホネ+はらだいこでAオーバーフローするな
第二世代では補正後のこうげきが1024以上になるとオーバーフローが発生し、補正後の数値から1024を割った余りが代わりのこうげきになる。当時、こうげきは10bit(2^10=1024)のデータで処理を行っており、例えばこうげき500はプログラム内で0111110100として計算される。1024は10000000000となるが10桁より高い数値を認識できないため0000000000(=0)として計算される。
このアイテムを持ったガラガラの場合、Lv100でつるぎのまいを使ったり、Lv50でもはらだいこを使ったりしたときに発生し得る。
引用元
SNS共有:記事タイトルとURLをコピーする

注目記事!

ランダム人気記事 (→ランダム記事一覧ページ



人気記事(10日集計)

コメント(→コメント投稿
※1 : 名無しさん   2021-01-24 11:27 ID:NDk3ZjAz
ほえ〜。
※2 : 名無しさん   2021-01-24 11:29 ID:MmRhNzY0
知らなかった
※3 : ななしさん  2021-01-24 11:30 ID:MWJiMzI0
これは唯一王が検証しそうだな
※4 : ななしさん  2021-01-24 11:40 ID:NDM5YWMw
面白いけど、オーバーフロー時の処置もうちょっとちゃんとしてくれよな~とは思うよね
実機で割とすんなり再現出来てしまうくらいの頻度で起き得るならなおさら
※5 : 名無しさん   2021-01-24 11:44 ID:ODIxOWFj
すいません、オーバーフローって何ですか?
よく分からないので教えてください。
※6 : 名無しさん   2021-01-24 11:45 ID:MWIwMGYx
ビットを1個増やすだけで解決するのに
※7 : 名無しさん   2021-01-24 11:48 ID:OWRiZTBm
※5
おばさんが風呂に入るっていう意味だぞ
※8 : ななしさん  2021-01-24 11:49 ID:MjNkMzcz
ヌケニン「ついに俺の時代が来るのか」
※9 : ななしさん  2021-01-24 11:56 ID:OWNkZDlh
※6
17ビットなんて半端な数扱うほうがおかしい
ついでに言うと32ビットの計算も無駄が多い
今回のは上限超えるとき数字を丸める処理しないのがアホだっただけ
※10 : 名無しさん   2021-01-24 12:01 ID:YmZhZDU4
もうちょっと説明欲しかった
※11 : 名無しさん   2021-01-24 12:09 ID:MDMxMTgx
※5
オーバーって言葉から解るようにオレンジ色のアフロにすることやぞ
※12 : 名無しさん   2021-01-24 12:12 ID:NjU4YzRl
これはダイパリメイクの伏線ですわ…
※13 : 名無しさん   2021-01-24 12:14 ID:YWYwM2Zm
すげえ
じっくり読んだのに何も分からねえ
※14 : 名無しさん   2021-01-24 12:22 ID:MWM5ZmUx
1ビット追加というより1行追加すれば良かった計算
※15 : 名無しさん   2021-01-24 12:23 ID:NjMwNDdj
無限1UPと2038年問題みたいなもんだな
※16 : 名無しさん   2021-01-24 12:24 ID:OTY4OTg3
※4
うーん素人目にはオーバーフロー対策にそれほど負荷がかかるとは思えないよね
まあとはいえ、対戦環境でも旅パでも意図しない限り起きることはないんだから別にどうでもいい気はする
※17 : 名無しさん   2021-01-24 12:27 ID:NmIyNWRm
タスキヌケニンかと思ったら違った
※18 : ななしさん  2021-01-24 12:32 ID:NWVkZWMx
機械が5桁までしか認識できなくて、1ダメージや10ダメージ10000ダメージは正しく認識できるけど、100000ダメージは0ダメージとして認識してしまうみたいなことかね
※19 : 名無しさん   2021-01-24 12:33 ID:YmU0Nzk2
※5
000から999まで表示できるところに1000打ち込むと000が表示される
※20 : 名無しさん   2021-01-24 12:34 ID:ZjJlZjZi
容量の少ない昔のカセットならともかくSwitchでコレはナンセンスだわ
※21 : 名無しさん   2021-01-24 12:44 ID:ZjJhZjU4
自分に掛けたバフを相手に与えたり逆に自分にデバフ掛けまくったりして意図的に起こせるかな?
※22 : 名無しさん   2021-01-24 12:47 ID:YmU4Y2M3
※5
ミスディレクション・オーバーフローのオーバーフローだよ
※23 : 名無しさん   2021-01-24 12:50 ID:MzI0OTA1
ケロカスもわかってなさそう
※24 : 名無しさん   2021-01-24 12:54 ID:MTMyMDAw
つまりパラス算は0パラス・・・?
※25 : 名無しさん   2021-01-24 12:59 ID:NTRiMGVh
これが令和のゲームですか
※26 : 名無しさん   2021-01-24 13:01 ID:NDYxNjU2
※19
やさしい
※27 : 名無しさん   2021-01-24 13:03 ID:OGNiMWZh
0ダメージといえばポケとるのランキングステージでパワードレインが最初に思い出す
※28 : ななしさん  2021-01-24 13:07 ID:NzkzM2Qy
はいバグゲー
※29 : ななしさん  2021-01-24 13:07 ID:ZTY1MTQ2
オーバーフローしたら0になるっておかしくないか?
と思ったがジャスト65536になった時だけか
HPなんて多く見積もっても2000ないんだからすぐ修正できそうなもんだが

※30 : ななしさん  2021-01-24 13:31 ID:M2RkMmQy
※5
スプラ2のブキやな
※31 : 名無しさん   2021-01-24 13:47 ID:Y2QyNzFk
曲がネズで草
※32 : ななしさん  2021-01-24 13:50 ID:NmFmMWMz
またオーバーフローか
トリックルームといい大きすぎる力は逆効果になるなほんと
※33 : 名無しさん   2021-01-24 13:55 ID:Mjg4YzRi
纏めるなら状況とか詳しく纏めてくれ
※34 : ななしさん  2021-01-24 14:10 ID:NmI5M2Ix
現実的な効果が小さい細かい対策なんてしなくていい
※35 : 名無しさん   2021-01-24 15:13 ID:ZWU3Mjgx
ところで、この動画では何をしてダメージを65536に調整したんだ?
※36 : 名無しさん   2021-01-24 15:14 ID:MjNjNjZh
これだけなら笑って済ませられるけど他にも欠陥が多いことを考えるとやっぱり手抜きに感じる
※37 : ななしさん  2021-01-24 15:14 ID:MDZhNTkx
炎16倍弱点とか日本晴れの日光で死にそうなゴースだな
※38 : ななしさん  2021-01-24 15:24 ID:NTA4YjZl
検証目的で狙わないと実現しないような現象にわざわざ労力割く方がやべーわ
※39 : 名無しさん   2021-01-24 15:41 ID:MjQ1Nzli
動画によると、エスバ→特性適応力、C+3、気合いだめピントレンズ
ゴース→タイプ虫鋼、D-6、特性浮遊のまま、森の呪いタールショット

晴れや乾燥肌にするまでもなくブラストバーンでオーバーフローか
※40 : 名無しさん   2021-01-24 15:43 ID:YTA3Yjk2
あーそういう事ね
完全に理解した
※41 : 名無しさん   2021-01-24 15:52 ID:OTVhZTA1
動画の中で一部分だけどゴースのタイプが虫鋼になってたように思えた。気の所為?
※42 : 名無しさん   2021-01-24 16:00 ID:ZmI1NTIy
※9
ほとんどのCPUは32ビットが一番計算しやすいようになってるんだけどどこに無駄が発生するのか
スタックだって今の性能なら数バイト増えたところでどうにでもなるだろ
※43 : 名無しさん   2021-01-24 16:20 ID:OGIyN2Mw
※5
「あふれかえる」のいみ
その目の前にあるきかいでしらべるのがはやいとおもうよ
※44 : 名無しさん   2021-01-24 16:23 ID:OGIyN2Mw
※36
手抜き×
ブランド1流、ゲーム企業として2流
※45 : ななしさん  2021-01-24 16:29 ID:YmQyZWRl
ゴースなのはミラータイプという技があってな
※46 : ななしさん  2021-01-24 18:20 ID:Y2I0MDRi
ミラータイプなんてわざ初めて知ったは
誰も話題にしないもん
※47 : 名無しさん   2021-01-24 18:58 ID:MTNmYjNl
HP1にみねうちすると失敗するの?
※48 : 名無しさん   2021-01-24 18:59 ID:NGMzY2Zk
開幕壁張りレイドポケモンのHPを壁ごと半分削ると、なぜかそのあと1ダメ1壁すら割れなくなるのも似たような現象?
※49 : 名無しさん   2021-01-24 19:41 ID:MTJmMzVl
※48
それは壁(一段階)が割り切れる前に壁(二段階)が発動したとき、壁(一段階)破壊と壁(二段階)発動の演出が省かれる不具合
だから裏では壁の削りはきちんと入ってる
違う話だったらごめん
※50 : 名無しさん   2021-01-24 19:54 ID:ODFhMDY4
※36 ※44
こんなストーリーや対戦で滅多に起きないことに金かけて対策する方がアホだろ
確かに手抜きなところは色々感じられるが、こんなことで手抜きだの二流だの言うのは低脳としか言いようがない
※51 : 名無しさん   2021-01-24 21:22 ID:ZDY3NTAy
※50
その為だけにアップデートしないってのは分かるけど、新作で直さないのはどうなの?
修正がそんな難しいものとは思えないけど。
※52 : 名無しさん   2021-01-24 21:48 ID:ODFhMDY4
※51
いやゲーフリは企業であって利益を出さなきゃいけないんだからそんな無駄なこと省くに決まってるだろ
もうちょっと現実見てからコメントしなよ
あと簡単そうに言ってくれるけど、オーバーフローを防ぐプログラムを作る→そのプログラムがなんらかのバグを起こさないかチェック→あった場合はデバック→それによって新たなバグが起こらないかチェック...
と仕様を変えるのはそこそこ手間がかかるからな
※53 : 名無しさん   2021-01-24 21:51 ID:NTkzYTE1
こんな些細なバグを直すことで他の思いもよらない箇所に影響するリスクは大いにあるしな
どんなに気を付けて管理してても起きるときは起きる
ゲーフリのプログラ厶とかスパゲッティだろうし尚更
手を付けずに済むに越したことはない
※54 : ななしさん  2021-01-24 22:36 ID:MzgzNmIz
バグの修正ってその結果余計なバグが生まれるのが日常だからな
わかってても影響は限りなく小さい、まず無害なら放置されるのはおかしいことでもない。そんなのゲーフリに限った話でもない
※55 : 名無しさん   2021-01-24 22:59 ID:YWI4Y2Uz
※44
二流じゃなくて三流じゃね?ww
※56 : 名無しさん   2021-01-24 23:39 ID:ZDY3NTAy
※52
そこまでゲーフリのレベルが低いとは思わなかった。
プログラム初心者でも直せるようなものを、他に影響出ないように直すことすら出来ないとは…
それならオーバーフロー発生時に何が起こるか不安だけど
クレームあるまで放置なんだろうか。
※57 : 名無しさん   2021-01-25 01:32 ID:ZDlkOTdl
※56
働いたことなさそう
※58 : ななしさん  2021-01-25 05:02 ID:ZTNmMzNh
※56
新要素追加する度に色々調整しながらリリースしてんのにその根本であるダメージの計算式に手を入れるなんてどれだけ大変な作業になるか分かってんのか?
いくら修正が容易でもその影響を調べるためのチェックだけでもかなりの工数が必要になる
それが意図して起こそうとしないと発生しないような内容ならなおさら直す必要ない、どう考えてもそこにリソース割くほうが無駄
※59 : ななしさん  2021-01-25 08:48 ID:Y2JlYjk2
放置しても特に問題ないレベルで影響小さいし、考え方は概ね同意するけど、オーバーフロー時の挙動の修正に限ってはそこまでおどかすほど膨大な手間暇はかからないんじゃないの?
修正により影響を受けるケースって、「ダメージ計算した結果オーバーフローした場合」の1ケースだけじゃん
例えば効果抜群時の倍率を1.5倍→2倍に修正するとかだったらそれこそ本当に吐きそうになるくらいのコストがかかりそうなもんだけどね
※60 : ななしさん  2021-01-25 12:54 ID:MzI1M2Qy
毎世代のようにフィールド、タイプ追加技などで火力アップ増やしてる以上オーバーフローするか確認するのは当たり前で、わかってるけどプログラムが複雑すぎて直せないのか、そもそもオーバーフローを考えてなかった無能なのか
計算量的にCG動かす方が重そうだし、アルゴリズム一新してダメージの計算くらい多倍長整数でも使っていいんじゃないか
※61 : 名無しさん   2021-01-25 13:16 ID:NDcyOTMx
※43
そうだね「ggrks」って意味だよね
※62 : 名無しさん   2021-01-25 16:19 ID:YWNlOWEx
昔から変えてないプログラムに手加えるのって怖いんだよなぁ
※63 : 名無しさん   2021-01-25 23:29 ID:NDJmMGFm
※58
数値一ヶ所じゃん
※64 : ななしさん  2021-01-26 08:07 ID:NTM5NWNk
※63
その一か所の変更がどれだけの場所に影響を与えると思ってんだ
ダメージ計算なんてほぼ全ての箇所で利用するんだからビット数を変えたら全ての場所を変える必要があるぞ
※65 : ななしさん  2021-01-26 13:02 ID:OTFhZjRl
※64
そしてそこまでして治るのは影響がまずないほぼ必用のないオーバーフロー時の処理だけ
どう考えても必用ないわな。こんなん無理に直そうとする会社のほうが少ないレベルの内容
※66 : 名無しさん   2021-01-26 16:20 ID:MTdhOTYw
プログラム直すだけは簡単に出来るがそれをやる労力とか分からないのかなこんなもん直す意味ないだろ
※67 : 名無しさん   2021-01-26 22:43 ID:MmNmZjFj
※64
ビット変える?????
そうしないと直せないとかゲーフリを馬鹿にしすぎ。
プロだよ?
※68 : ななしさん  2021-01-27 00:10 ID:Y2FhNzVj
元のを見るとレベル1のゴースに対して森の呪いとタールショットを打ったりタイプ変更で虫鋼にしたりと通常あり得ない手間を施してようやく実現するような条件での話だからそんなのに余計な処理をしてまで修正する意味はない
※69 : 名無しさん   2021-01-28 08:51 ID:MzA2NzNm
共通部品化されてるであろうダメージ計算のロジックに修正を加えるのはリスキー過ぎるし、そこにかける工数も無駄でしかないから修正は加えないのが英断やな
※70 : 名無しさん   2021-02-01 19:19 ID:ODdhMGEy
※16
セレクトバグとかザログバク、謎の場所とかポケモンって神ゲーの中ではバグ多めの部類。クオリティじゃなくてキャラ人気で今の地位を得てるからバグがあってもいいからキャラを大切にしなきゃ。素人から見て大変そうでもプロなら自分から直すもんだと思うけど。
スポンサーリンク
コメントの投稿
"http"は禁止ワードです。
荒らしはプロバイダ報告などの対応を行います。
コメントを記事に反映する場合があります。
投稿後、コメントが反映されていない場合は、キーボードのF5等でページを更新すると反映されます。(エラー画面が表示されなければコメントは投稿されています。)

今読まれてる人気記事!

コメント数


お知らせ(大会・配信など)

記事検索

カテゴリ

月別

Amazon


@ 2013~ ぽけりん@ポケモンソードシールド(剣盾)まとめ All rights reserved