第08.5章 悪霊さんいらっしゃ~い第7回
---------------------------------
この文章は「小説家になろう」サイトに投稿した文章です。それ以外のサイトで掲載されていた場合は無断転載の可能性がありますので、通報をお願いします。また著作権は「屑屋 浪」にあります。ご協力、よろしくお願い致します。
---------------------------------
壱人が大学から帰ってくると、毎日、据え置きゲーム機を占有しているマイナマイナの姿が見えなかった。
これはチャンスだと思い、壱人がTreasure Getting!を今まさに始めようとした時、いつのまにか現れた、黒い翼を広げた濃いピンク色の長い髪にボルドー色の瞳で黒い衣装を着た少女が声をかけた。
「恒例のコーナーを始めますデスデスよ」
壱人は「うおッ!」と声をあげて驚いた。少し動悸を落ち着けた後、逆らえないのは分かっていながらも、ゲームへの未練から、気は使いつつ言い返す。
「マイナマイナさん、今回は出番があったんだから、あのコーナーは必要ないんじゃないですか?」
しかしマイナマイナには通じない。
「何を言っているのデスデス。このコーナーだけを楽しみにしている人もいるのデスデスよ」
「どんな人だよ!」
「裏付けするデータはありませんデスデスが」
「ないんじゃないですか!?」
そんな抵抗を試みたものの、結局、壱人もイッQも、いつもの花で飾られているテーブルとその周りに一人掛けソファが三つ置かれている不思議な空間に強制連行された。
ところが、着いてみると花のテーブルはなく、一人掛けソファは反対の向きに置かれており、そのソファが向いている壁面には大きなスクリーンが壁を覆うように設置されていた。
「これ何ですか?悪霊はどうしたんですか?」
不思議がる壱人にマイナマイナが答える。
「今日はある番組を視聴してもらうのデスデス。悪霊さんはその中に出てきますデスデス」
どういう意味なのかはよく分からなかったが、その通りにする他ないので、二人は仕方なくソファに座り番組を見る事にした。
「悪霊さんいらっしゃ~い!」
マイナマイナが宣言をすると巨大スクリーンに映像と音楽が流れ始め、そこにはゲーム画面が映っているのだが、キャラクターの目や鼻や口が、顔から外れた所に表示されていた。
――おや、表示がなんだかおかしいですね
映像と共にナレーションが入る。次のシーンでは歩いていたキャラクターが階段を登った途端に動かなくなってしまった。
――こちらではゲームが止まってしまいました
他にも、キャラクターがジャンプした後に戻ってこなかったり、明らかに歩けない場所にキャラクターが表示されていたりしていた。
――これらはバグと呼ばれるものです。プログラムを作るといつのまにか生まれ、ゲームの中でおかしな動きをします
バグの説明の後に、この後の内容が簡単に映る。
――プログラムが大きくなるに連れて、多種多様に発生するバグたち。プログラマーが見ていても自由に増える事ができました。しかしそんなバグたちに最大の危機が訪れます。修正作業です。果たしてバグたちの運命は?
そしてナレーターが明るく紹介した。
――今回はプログラムに生まれる不思議な存在、バグについてお伝えします
♪ラーラーラーラー!ラッラッラーー!
『ダー〇ィンが来た!』
「なんか知ってる番組が始まったんだけど!」
軽快な音楽の後に出てきたタイトルを見てイッQが叫んだ。しかしマイナマイナは気にせず、壱人は何事が起こったのかと不思議そうな顔でイッQを見るだけだった。そんな騒ぎとは関係なく番組はそのまま進んでいく。
スクリーンの中にデスクトップパソコンが映り、第1章の文字が表示された。
『第1章 密着!プログラム作成とバグの誕生』
――今日の舞台はパソコンの中、それもプログラムの開発環境の中です。アルファベットや記号や数字が色々書かれていますね。これはコードと呼ばれるプログラムの元になるものです
コードの全体が映るが、ウィンドウを少しスクロールするだけで終わってしまった。
――プログラムが生まれたばかりの頃はコードが少ないですね。実はコードの時点ではバグなのかどうか区別がつきません。プログラムを動かしてみて初めて分かるのです
プログラマーがテストプレイをしてみるが、ボタンを押せばテキストが表示されるはずなのに反応しない。それを見てすぐにコードの一部を書き換え、改めて動かしてみると、ちゃんと反応するようになった。
――この頃に生まれたバグは、原因が分かりやすいので、すぐに修正されてしまいます。バグにとっては生き辛い環境です
「バグが生きやすかったら困るだろ!」
先程まで頭の中が疑問符だらけだった壱人だが、ナレーションの内容についツッコんでしまった。そして、この番組は大丈夫だろうかと心配になったが、イッQに、これはこういう番組なんだと言われたので、そのまま視聴を続ける事にした。
映像の中ではプログラムのコードがどんどん増えていく。
――プログラムが徐々に大きくなってきました。それにつれてバグも増えていきます
テストプレイをすると、表示や動作のおかしいものがほとんどで、正常にプレイができてるとは言えない状態だった。
――小さなバグから少し大きいバグも出はじめましたね。プログラマーはバグが出ている事は分かっていますが、あまり積極的に行動しません。バグは修正される場合もありますが、放っておかれる事が多くなりました。
コードが更に増え、ファイルはどんどん別れ、プログラムは巨大化していく。
――この頃のプログラマーは、バグは認識しているものの、ほとんど放置しています
ヒ〇じい「ちょっと待ったあ!」
――やっぱり来ちゃいましたか、ヒ〇じい
「ヒ〇じいきたーーー」
「ピヤちゃん、ヒ〇じいデスデスよ」
丸に近い卵をひっくり返したような形をした毛むくじゃらなキャラクターが出てくると、イッQが興奮気味に声を出し、マイナマイナが嬉しそうにピヤ號に話しかけた。壱人は番組を普通に楽しんでいるイッQやマイナマイナに疑問を感じつつ、どうしようもできずにただ見ている事しかできなかった。
ヒ〇じい「なぜプログラマーは、バグを放っておくんですか?」
――それはですね、ヒ〇じい。今はプログラムを初めから終わりまで、一通り動かすことが重要なんです。だから、その動きに関係のないバグは放って置かれるんですよ
ヒ〇じい「バグは放って置いたままで良いんですか?」
――良くはありませんが、今、表示されてるキャラクターやアイテムなどのデータは、仮のものばかりなんです。この状態でバグを修正しても、正式なデータにした時にまた修正しなければならないので、二度手間になってしまうんですよ
ヒ〇じい「そーなんですか」
そうしてる間にもバグはどんどん増えていく。キャラクターの表示がおかしいままステージクリアしたり、選択肢が選べない状態でイベントが進んでいた。
ヒ〇じい「バグが次から次へと増えちゃってますぞ!でも、そもそもバグってなんなんですか?」
そうヒ〇じいが質問すると、ナレーターが軽快な口調で答えた。
――分りました。では、ご説明しましょう。バグとは “こうなってほしい” と考えたものとは違う動きになったり、予想外の動きをしてしまう事なんです
――例えばボタンを押したら1mジャンプするつもりが2mジャンプしてしまう、というのもバグなんです。このように全てのバグがゲームを邪魔するものではないんですよ
ヒ〇じい「ほうほうほう」
――でもゲームが止まったり、手に入れたアイテムが無くなったり、正しくデータが保存されないと困るでしょう?そういうバグは修正して正しい動作になるようにしなければいけないんです
ヒ〇じい「なるほどね」
――プログラムが一区切り着くまで、バグはほとんど修正される事なく発生し続けます。しかしそれも永遠ではありません
――第2章では、ついにプログラマーがバグに襲いかかります
このナレーションの後にコラム「バグから生まれた技たち」が始まり、別のナレーターがしゃべり出した。
――バグから生まれた有名な技をいくつかご紹介します
スクリーンには超が付くほど有名な帽子とヒゲがトレードマークのキャラクターが出てくるゲームが映った。
――まずはマ〇オの無限1UP。一作目で偶然生まれたバグでしたが、評判が良かったために次回作からそのまま仕様化したのです
場面転換し、またしても有名な老舗の格闘ゲームが映る。
――ス〇2のキャンセル必殺技。アッパーから昇〇拳を出すと、アッパーの戻りのモーションがキャンセルされてすぐに昇〇拳が出せるというものですが、元々はゲーム開発者の意図したものではなかったそうです。しかしその後は正式なシステムとして採用され、後々の格闘ゲームに大きな影響を与えました
――今では当たり前になっているシステムが、バグから生まれたなんて驚きですね
こうしてコラムが終わると、スクリーンは元のプログラムの画面に戻った。
『第2章 壮絶!プログラマーとバグの戦い!』
――プログラムが一通り動くようになってきました。この頃のバグは大小関係なく相当な数になってます
――プログラムの流れの目処が付いてくると、プログラマーはバグに対応し始めます。まず大きなバグからです。大きなバグはプログラムを止めてしまったり、色々な所に影響がある場合が多いので、優先的に修正されてしまうのです
ヒ〇じい「なかなか大変そうですなあ」
――大きなバグがあると発売できないのでプログラマーも必死なんですよ
ヒ〇じい「あれ?プログラマーが手こずってますよ」
――あのバグは、修正したら別のバグが発生してしまったようです
ヒ〇じい「そんな事があるんですか?」
――システムに深く関わっていると、修正しても思わぬところで影響が出てしまったりするんです。そのためバグ自体を消す事ができない場合があるんですよ。とはいえ、そのままにはしておけないので、局所的な対応で影響を最小限に留めたようです
プログラマーは息を吐き、先ほどよりリラックスした表情で作業を再開した。
ヒ〇じい「あれれ、突然、小さなバグが次々に修正されていきますよ。一体どうしたんですか?」
――小さなバグは、短時間で作業が済むので、プログラマーの手の空いた時間や、気分転換に修正されてしまうんです。処理の順番を少し変えるだけで消えるバグもあるんですよ
ヒ〇じい「小さ過ぎるとバグも生きていけないんですね」
――プログラマーが頑張ったおかげで、バグが少なくなってしまいましたね
ヒ〇じい「寂しいですなあ」
「寂しくねえよ!」
プログラミングで苦労している壱人は、ついヒ〇じいの言葉に反応してしまう。
ヒ〇じい「あッ、一匹のバグが見つかっちゃいましたよ!」
――目立つバグなのでプログラマーが修正しようとしていますが、すぐに隠れてしまいましたね
ヒ〇じい「プログラマーも探していますが、分らないようですな」
プログラマーはしばらく粘ったが、先程のバグは見つけられなかったため、別のバグの修正を始めた。
ヒ〇じい「諦めちゃったみたいですぞ」
――そうなんです。一度見つかっても、再現できないバグは原因の特定が難しいために修正する事ができないんです
ヒ〇じい「つまり先程はプログラマーに追い詰められ、バグにとって見つかるか見つからないか“心臓バグバグ”な状況だったわけですな! なーんちゃって~」
は? は?は? は?は?は? は?
は?は? は? は? は?は?
は? は?は? は?は?は? は?
は?は? は? は? は? は?
「なんだこのコメントは!?」
突如スクリーン上に現れた数多くのコメントを見て慌てる壱人に、イッQが解説する。
「ヒ〇じいに対する突っ込みだ。ヒ〇じいのダジャレには厳しく対応するお約束があるんだよ!」
(作者注)そんなお約束はありません。
そしてプログラマーがカレンダーと時計を見比べ、頭を抱えながら別の作業を始めた。
――ついに時間切れですね。残ったバグはプログラマーから逃げきる事ができました。
ヒ〇じい「時間切れってどういう事ですか?」
――はい。発売の日程が決まっていると、ある程度のところで作業を止めないといけないんです。バグを全部潰してから発売、というわけではないんですよ
ヒ〇じい「時間との戦いだったわけですな」
――こうしてバグを残したままゲームは発売されました
そしてフェードインしながらイントロが入り、テーマ曲が流れた。
「歌がかかったぞ?」
「もう終わりか。今回もあっという間だったな」
スローテンポで情緒的な歌が流れる中、ナレーションは続く。
――時にはシステムに癒着し、時には見つかっても巧みに隠れ、逞しく巧妙に生き残ったバグたち。こうして残ったバグは、プレイヤーに時々発見されながらプログラムの中で生き続けるのです
最後のナレーションが終わり、曲のサビが歌いあげられ、番組は終了した。すると、悪霊の魂が浄化され白い光になって天に昇って行くのが見えた。
「ヒ〇じい、浄化されたか」
壱人が登っていく魂を見つめながら呟くと、マイナマイナが冷静に訂正する。
「あれはただの番組内のキャラクターデスデスよ」
「え!それなら誰が悪霊だったんですか?」
「ナレーターさんの方デスデス」
壱人はマイナマイナの回答に納得はしたものの「ヒ〇じいは関係なかったのかよ!」という別の思いの方が強かった。
こうして壱人の心にもやもやを残してコーナーは終了し、その後すぐに元の部屋に戻ったのだが、このコーナーに時間を取られたせいで、結局、壱人はゲームができなかったのである。