したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

おちゃめくらぶ掲示板

417御茶目菜子:2010/10/29(金) 14:00:28
どんなゲームにもバグはある
アニメ「神のみぞ知るセカイ」の今週の放送はかなり酷い話みたいにょ。
酷いのはアニメそのものではなくそのアニメの中に登場したゲームの話にょ。
http://yunakiti.blog79.fc2.com/blog-entry-7040.html
2003年4月20日にはバグがないプログラムを一晩で作り上げたしーぽんのことを書いたけど
これはアニメであるというから「天才プログラマ」というのを強調するために作られた
話だといえるにょ。
「神のみぞ知るセカイ」に登場したゲーム「くれよん〜空の芸術〜」もアニメの中の話に
すぎないと考える人が多いことだと思うにょ。
バグのないプログラムを作り上げるというのはただの空想上の産物なのだけどバグが
ありまくりのゲームは実際に存在するから困るにょ。

基本的にプログラムにおいて「バグはあるもの」といっても過言ではないにょ。
バグがないことを証明はできないからね。
あることを証明するより無いことを証明する方が難しいためにょ。
無いことを証明するのは「悪魔の証明」と言われているけど上記の一晩でバグがない
プログラムを作ったしーぽんよりもそのプログラムにバグがないということをすぐに
見抜いた先生の方が遙かにすごい天才だといえるわけにょ(笑)

バグを修正する作業は「デバッグ」と言われるけどそれにはいくつかの工程があるにょ。

 (1)バグを見つける
 (2)バグの発生源を探す
 (3)バグの原因を特定する
 (4)原因を元にバグを修正する

(1)デバッグは多くの場合は力任せになってしまうにょ。
RPGだと1日中ひたすら壁にぶつかって抜けられるような場所がないかと調べたりしなくては
ならないため単純作業といえるにょ。
とはいえ、経験が豊富なデバッガーや天才デバッガー(天才テストプレイヤー)だとそれを
すぐに見抜いてしまうこともあるにょ。
レースゲームでも抜けられないはずのコースに「カン」で抜け道を探しコースアウト判定を
逃れるような抜け道を見つけるような人もいるからね。

(2)バグが見つかっても問題はどこで起きているのかということはすぐには分からないにょ。
BASICで作ったゲームであってもエラーが発生した場合にそのエラー発生行に問題がある
とは限らないにょ。
これも経験によってある程度絞り込みが可能になるにょ。
経験が無ければ二分探索によって少しずつ調べていくしかないため膨大な時間がかかって
しまうにょ。

(3)発生箇所が具体的に分かったら次はそうなるに至った原因を見つけ出すことが重要に
なるにょ。
BASICで作られたゲームにおいてゲームオーバーを判断しているIF文に問題があった場合
にはその「条件判断に使う数値がおかしい」と分かったらそのおかしくなっている原因を
探る必要があるからね。

(4)(1)〜(3)の手順を踏んでようやくその対策が可能になるにょ。
このためにはそのプログラムを完全に把握しておく必要があるにょ。

しかし、デバッグ作業の(1)の段階であってもBASICであればBASICそのものに問題がある
ことがあるし、Cであれば組み込むモジュールに問題があることもあるためプログラムには
何の問題もないけどバグになることがあるにょ。
さらに特定環境でのみ起こるバグというのもあるため厄介にょ。
これは個々の端末で異なる仕様となっているWindows PCなどでは顕著にょ。
基本仕様が固定となっているコンシューマゲーム機であっても型番による違いで発生する
問題もあるにょ。
仕様が固定であるポケコンPC-E500シリーズであってもROMバージョンに依存してしまう
処理を行うと問題が発生してしまうくらいだからね。

ただ、「バグ」というのは客観的なものではなく主観的なものである場合も多いにょ。
では、下記のごく基本的なBASICプログラムにおいてバグの有無を見てみるにょ。

10 INPUT "R=";R
20 S=R*R*3.14
30 PRINT "S=";S

これは半径の長さを入れたら円の面積を表示するという何の変哲もないプログラムであり
一見何の問題もないように見えるけど実は落とし穴があるにょ。
それは10行のINPUT命令にょ。
ここでは数値変数Rに半径の値を入力するように求めているけどここで数値ではなく文字を
入力した場合にはSyntax errorとなってしまうにょ。
制作者側からするとここは数値を入れるのが当たり前であり、文字を入れるのは想定して
いないけれど使用する側は必ずしもそうではないからね。

使用者側のギャップがあるため制作者側がバグをバグと認識しない場合があるにょ。
このような場合は「仕様」と言われるにょ。
上記プログラムでは文字を入力したらエラーになるというのはバグではなく仕様である
というわけにょ。
どこまでを仕様と見なし、どこからをバグと見なすのはその制作者側にゆだねられている
ため基準は特にないにょ。

さて、こうなると「バグがあるのが当たり前」となってしまうにょ。
しかし、制作者側は(特に有料である場合は)基本的にバグが無いことを目指さなくては
ならないと思われるにょ。
やはり、「バグ」といえば避けて通れないのがいわゆる「エロゲー」と言われるPC向けの
18禁ゲームソフトにょ。
何しろ発売されるゲームタイトルが多いけど明らかなバグがある状態で発売している
ものも非常に多いからね。

国内でパッケージ向けPCソフトといえばこのエロゲーが主流になっている(廉価版を除いた
新作だけでも年間500タイトル余り発売)わけだけどこれはアニメ、マンガなどの二次元
文化が諸外国よりも進んでいるということもあり80年代から目立ちつつあったにょ。
80年代後半ばからは8ビットパソコンから16ビットパソコンへと移り変わったけどその
際にはPC-98シリーズが圧倒的なシェアを獲得し、多くのゲームがPC-98用に作られたにょ。
そのためPC-98をエロゲー用PCと感じている人も多かったにょ。
もっとも、91年の沙織事件があるまでは各社の自主規制でありエロゲー(18禁)ではなく
「美少女ゲーム」と呼ばれていたわけだけどね。

さて、このエロゲではなぜバグが多いかというとそれには2つの理由があるにょ。

 (a)制作元が零細企業が大半
 (b)追加パッチで簡単に修正が可能

やはり顕著な理由が(a)にょ。
何せあれだけのたくさんのソフトが作られながら上場企業はないからね。
8ビットパソコンの時代は光栄やエニックスも今で言うエロゲーに分類されるような
ゲームを作っていたけどそれは黎明期の話であり大手企業になってからは会社の歴史からも
抹消されているにょ。
さて、エロゲーメーカーが零細企業ばかりというのは「エロ」というものの社会的地位の
問題もあるけど根本的には「零細企業でも作れる」というのが理由だと思われるにょ。

コンシューマゲームであればプレステ3であれば3億円以上はかかってしまうにょ。
これでは1本で3000円の利益が得られても10万本の売り上げが必要になるにょ。
大作であれば数十億円の開発費が必要となるため100万本は売っても利益が出ないという
ものもあるにょ。(シェンムーがドリキャスで70億円の開発費をかけたという有名な
話もあるけどプレステ3でそこまで作り込めば100億円の大台に行きそう)
平均的なエロゲーであれば開発費は1000万円で出来てしまうにょ。
これは少人数で作られているというのもあるし、コンシューマゲームのように長い開発
期間をかけてないというのも理由になっているにょ。
例えば5人で半年がかりで作ったゲームであれば人件費が1人につき月25万円、会社の
運営費(家賃、光熱費、通信費、雑費)が月に20万円かかったとして合計で870万円と
なるにょ。
最近はボイスが入っているのが当たり前だけどよほど大人数の声優を使わない限りは
1000万円で収まるにょ。

もちろん、これに加えて製造費用や広告費用がかかるわけだけど仮にすべて込みで
2000万円で出来たとするにょ。
エロゲーは定価が高いため1本4000円の利益があるとした場合(エロゲーの場合はショップ
への納入価格はメーカーやタイトルによって変化するけど定価の60〜75%となっている)
5000本が損益分岐点となっているにょ。
エロゲーの場合は1万本売れたらヒット、3万本売れたら大ヒットと言われるような業界で
ある(10万本オーバーはここ10年で数タイトルしかない)ため5000本は厳しいという
感じもするけどコンシューマゲームのように売れるゲームはミリオン、売れないゲームは
数千本という極端なものではないためエロゲーの場合は大抵のゲームは数千本は売れて
いるにょ。
つまり、コンシューマゲーム機と違って市場が小さいため莫大な利益を得るのは難しいけど
コストさえ掛けなければコンシューマゲーム機で発売するよりも遙かに低リスクという
ことにょ。

しかし、ここで問題となるのがデバッグ作業にょ。
デバッグは基本的に人海戦術であるため人手と時間が必要になるにょ。
エロゲーではそれがないために主要なバグさえも見つけられない状態で発売されることが
多いということにょ。(「みずいろ」のようにアンインストールすることでHDDを初期化
するバグなどがある)
さらにそれに輪を掛けているのが(2)の問題にょ。

ROMで提供されているコンシューマゲーム機用ソフトとは異なりPC用ソフトというのはHDDに
インストールして使用するために修正パッチを充てることでバグが修正可能になるにょ。
するため修正前提として発売することもあるにょ。
つまり、バグがあることを認識しても発売日に出すことを優先するということにょ。
発売日を変えるとさらなる告知に余分な費用がかかってしまうからね。
ヘタをするとバグどころか未完成と思われる状態で発売されることさえあるにょ。
「サマーデイズ」では修正パッチだけでも2.3GBあったけどこれはゲームに必要なファイルが
DVD-ROMに入ってなかったせいにょ。

では、コンシューマゲーム機用ソフトではそんなバグがないのかというとそういうわけ
でもないにょ。
基本的に修正パッチで修正するのが困難なコンシューマゲーム機の場合はクリア不可能
という場合であれば回収されることがあるにょ。
ただし、多くの場合は回避可能であるためこれは「仕様」として扱われることが大半にょ。
例えばWii用ソフト「メジャーWiiパーフェクトクローザー」でも画面と音が合ってない
とか、バッターがピッチャーの反対方向を向いていることがあるとかいうあからさまに
おかしな状態でも「演出」といってしまえばそれまでだからね。
最近はコンシューマゲーム機であってもインストールして使用可能になっているため
さらに修正パッチに頼るという状況が増えてくると思われるにょ。

神のみぞ知るセカイに登場したPFP用ゲームソフト「くれよん〜空の芸術〜」はこの紹介
を見るとすごさが分かるにょ。
http://ansaikuropedia.org/wiki/%E3%81%8F%E3%82%8C%E3%82%88%E3%82%93%E3%80%9C%E7%A9%BA%E3%81%AE%E8%8A%B8%E8%A1%93%E3%80%9C
アンサイクロペディアであるためネタサイトだけどこれは実際の作品内での設定そのまんま
だからね。
ここまで酷いバグはエロゲーでも10年に1度のレベルでありコンシューマゲーム機では
あり得ないレベルだけどどんなゲームであってもバグはあるわけであり、それが無い状態で
発売するのは無理であるためそれが許容できるレベルかということがすべてとなるにょ。




掲示板管理者へ連絡 無料レンタル掲示板