INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/
本業の方のお仕事が再び忙しくなりつつあるので、断続的にしばらく更新が止まることがあります。

目次 | ←前へ / 2014-04-28 00:01 / 次へ→ / 最新へ⇒

■ゲームのバグとかゲーム内で描かれない歴史とか

2014/ 4/28 0:01:00


RSSRSS配信中

https://www.inasoft.org/








今、自分の中サッカーゲームのバグを眺めるのがマイブームになっていましてね。

こういうのって、3Dで作られていて、ある程度、重力や当たり判定や加速度・回転等の物理シミュレーションがきちんと出来ている反面、いったんおかしな事が起きると、タガが外れたようにシミュレーション値が狂ってバタフライ効果的に面白現象が起きちゃうんでしょうね。

「不気味の谷」という、人間に近づいたロボットが不気味に見える部分があるという話を聞いたことがありますが、これはどちらかというと、人間に近づきすぎたシミュレータによる「爆笑の谷」なのかもしれません。

そういった映像を探している過程で、ファミコン版のドラクエ2では、デルコンダルで最後に復活の呪文を聞き、そのままシドーのところに行き戦闘して負け、デルコンダルから再開すると、いきなりシドーが登場して大変なことになる、という話を聞きまして。動画も公開されています。


よく見つけたなぁと思う反面、どういうプログラムのミスからこういった事象が生じるんだか、不思議に思うところでもあります。

ドラクエのバグと言えば、ドラクエ4で、「8回逃げることに失敗し続けると、以降、その戦闘では会心の一撃が出続ける」という有名なバグがありました。このバグが起きた原理を考えている方がいらっしゃいまして、確か、

(1)ドラクエ4では「逃げる」コマンドは一定確率で失敗するが、3回目だか4回目には必ず成功するようになっている。そのため「逃げる」の回数を数えるカウンタ(2ビット)が存在する。
(2)ドラクエ4では「パルプンテ」の効果として、「その戦闘では会心の一撃が出続ける」というものが存在している。その状態を管理するフラグ(1ビット)が存在している。
(3) 上記(1)(2)のカウンタ・フラグは、同一のバイト内にある。
(4)「逃げる」カウンタのインクリメント(+1)の時に、次の2つの考慮が漏れている。
 ・ボス戦では「逃げる」は必ず失敗するのに、カウンタを増やしている。
 ・有効桁が2ビットしかないのに、4以上になっても構わずカウンタを増やそうとする。

だったかな。アセンブラとかC言語とかCOBOLとか、そのあたりをやった経験のある方だと、まぁなんとなく、バグが起きる原因と、それを見逃したであろう開発者の心の中が見えてくるような気がします。

話は戻りまして、シドーがデルコンダルに召喚できてしまう原因も、そんな感じで、「ハーゴンが倒されていて」云々などのフラグ状態の重なりがシドー出現の状態に繋がる何かになっているのかも知れません。何かこのバグが発生する原因を説明する説得力のある理由を書いていないかなぁと思って検索したら、全然話が変わっちゃいますが、ドラクエ2では語られない歴史を考えているサイトを見つけました。
これ面白い。

RPGでは、多分開発者とかシナリオライターのレベルでも、「その時の、その世界」が重要であって、そこに至ったであろう歴史的な経緯が軽視される傾向があるわけですが、ここではそこを補完するように色々考えられていて面白い。


RPGでは、多分開発者とかシナリオライターのレベルでも、「その時の、その世界」が重要であって、そこに至ったであろう歴史的な経緯が軽視される傾向があるわけですが、ここではそこを補完するように色々考えられていて面白い。

(話が少しズレますが、ドラクエ4とドラクエ5の間は「数百年」の月日が経過していると書いてあるのですが、その数百年ごときで、ずいぶんと大陸の位置が変動しているなというのは、SFC版発売当時から不思議に思っていましたね。あそこまで変動していたら、各大陸ではかなりの規模の大地震が起きていて、天空の伝説を引き継ぐ文明は崩壊してしまっていてもおかしくないのでは?と。そういえば、天空の塔は、かなり朽ち果てていましたね)

そういえば、ドラクエ3で、ランシールバグに次いで有名な「重要アイテムを2つ以上取得できてしまう」バグってのもありましたね。
ここら辺も、原理が説明されていますね。アイテム取得の判定条件の考慮不足というか、宝箱に開いている状態を表示させる条件式と同じモノを使わなかったのかよとツッコミたくなるような気分というか、開発者としては色々考えさせられる事例です。
当時はそれで十分だと思っちゃったんでしょうからね。


目次 | ←前へ / 2014-04-28 00:01 / 次へ→ / 最新へ⇒


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。




2555375 (+0519)[+0556]

Copyright© 2010-2021 INASOFT