「良いバグ」vs「悪いバグ」のケーススタディ山浦恒央の“くみこみ”な話(69)(2/2 ページ)

» 2014年12月29日 09時00分 公開
[山浦恒央 東海大学 大学院 組込み技術研究科 准教授(工学博士),MONOist]
前のページへ 1|2       

3.2 テキストのバグ

 テキストのバグとは、主に文章の誤りです。「スポーツ選手の名前が間違っている」「漢字で書くべき部分がひらがなになっている」「文章がプレーヤーに誤った解釈を与える」が相当します。ゲーム系に限らず、一般のソフトウェア製品でもテキストのバグは頻繁に見かけます。

 このバグ、筆者は「許せるバグ」と考えています。プレーヤーの大半は、文書の誤りに気づきませんし、間違っていても気にはしません。ただ、開発会社に対し、「この会社、大丈夫かなぁ」という品質や技術への不信感は持ちます[3]。皆さんはどのように考えますか。

[3] 筆者の21インチ薄型テレビは1万5000円以下なのに、画質は鮮明で故障もせず、大満足しているのですが、スイッチを入れた時に、「Please waiting」と表示されます。これを見るたびに、「これは、『Please wait』か『Please be waiting』だろ。この程度の英語を堂々と間違えるエンジニアが作ったテレビって大丈夫なのか?」と思います。

 また、某有名会社が製造したトイレの脱臭剤には、大きなカタカナで、「デオ・ドラント効果があります」と書いてあり、「本当は、deodorantで1単語だし、あえて分解すると、悪臭[odor]を取る[de]なので、デ・オドラントなんだけどな……。こんな大会社の開発担当者が間違えるなんて。面接試験に英語がなかったのかも」と心配になります。

 某大手宅配便の運送トラックの横腹には、大きな字で「TRANSPORT」と書いてあり、初めて見たとき、「これは、英語版の『ギナタ読み』だぁ」とものすごくビックリしました。transportは、もともと1単語ですし、あえて2つに分けるなら、TRANS・PORTでしょう。でも、『SPORT』という字面が『スポーツ』を連想させ、ダイナミックでカッコイイと考えたのかなと推測(擁護?)します。

photo

3.3 レベル最大になる

 ゲームのプレイ中、何もしないのにいきなり「レベルが最大」になるバグがあります。このバグはたまに報告され、プレーヤー間で話題となります。このバグの代表例が、初代ポケットモンスターにありました。このポケモンでは、特定の動作をするとプレーヤーが自由に手持ちのポケモンのレベルを最大にできました。

 このバグは、ゲーム中、立ちはだかる強敵を一瞬で倒せる利点がありますが、ゲーム作家や開発者が、命とセンスの全てを投入し、コテコテにチューニングしたゲームバランスを崩壊させる危険性があります。

 筆者は、この手の「お金が最大になる」や「レベルが最大になる」などのバグには否定的ですが、皆様はどう考えるでしょう?

3.4 名古屋撃ち

 「良いバグ」の記念すべき第1号が、「名古屋撃ち」でしょう。これは、タイトーから発売された「スペースインベーダー」というゲームで、迫りくるエイリアンをギリギリのラインまで引きつければ、敵が撃つ弾が当たらなくなるというバグを利用したテクニックです。

 敵の攻撃した弾の「当たり・外れ」の判定を最下段で実施していなかった「境界条件のバグ」が原因でしょう。このバグは、「良いバグ」とユーザーから広く認定され、「ゲームのウリ」になって日本中に広がり、スペースインベーダーが大ブレイクするきっかけにもなりました。現在ではこのバグが仕様となっています。

4.終わりに

 今回は、ゲームの4つのバグを例に挙げて「良いバグ」と「悪いバグ」について考えました。皆さんは、これらの例に対しどんな感想を持たれたでしょうか。

 ゲーム用ソフトウェアは、他の組み込み系プログラムと異なり「ユーザーが楽しめればそれで良い」という芸術要素も求められます。ですから、テストフェーズで全てのバグを見つけて、全て修正する「通常の」ソフトウェア工学的な発想ではなく、摘出したバグを有効活用する必要があるのかもしれません。

 「見つけたバグを単純には修正できない」のは、ソフトウェア開発のプロセス的な視線で見ると、非常に面倒です。芸術、すなわち、「個人の好き嫌い」が関係すると、物事が複雑になるよい見本です。


【 筆者紹介 】
山浦 恒央(やまうら つねお)

東海大学 大学院 組込み技術研究科 准教授(工学博士)


1977年、日立ソフトウェアエンジニアリングに入社、2006年より、東海大学情報理工学部ソフトウェア開発工学科助教授、2007年より、同大学大学院組込み技術研究科助教授、現在に至る。

主な著書・訳書は、「Advances in Computers」 (Academic Press社、共著)、「ピープルウエア 第2版」「ソフトウェアテスト技法」「実践的プログラムテスト入門」「デスマーチ 第2版」「ソフトウエア開発プロフェッショナル」(以上、日経BP社、共訳)、「ソフトウエア開発 55の真実と10のウソ」「初めて学ぶソフトウエアメトリクス」(以上、日経BP社、翻訳)。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.