バグを取る事を【デバッグ(debug)】といいます。 対してバグを付け加える事を【エンバグ(enbug)】といいます。 ちなみに罰としてズボンを引き下ろす行為もデバグ(debag)と云いますが綴りは違います。
オンラインゲームではメンテナンス時にイベントを含め常にアップデートが行われます。 通常、このメンテナンスでは同時にデバッグも行われますが… 実はエンバグも行われている場合が多いのです。 なぜ?
それは簡単な理由です。 システムがユニット単位で作られており、手を入れる場合ユニット同士の関係性が無視される場合が多いからです。 つまり、バグは存在してもその時点でのシステム完成度は最高であり、これに手を入れる事は事実上最初から再構築する事になるからです。 バグ修正を行う場合、そのバグに注目するという事は実はバグを引き起こすユニットに注目する事で、そのユニットさえ修正すれば該当バグは解消します。 確かにそのバグについてはデバッグが完了しますが、新たなユニットは既存のユニットとの関係性までは確認されません。 デバッグ検証の段階でエンバグが発覚しても、それは別のバグとして認知され、修正事項とは異なるからです。 運用上、致命的なエンバグであれば付帯事項として他のユニットの仕様変更も含めて修正されるのが常識ですが、そうでない場合は新たなバグとして次回修正事項とされます。 これはシステム開発者にとって新たな収入源になります。 なぜなら仕様は既に決まっていて、そのバグは前仕様から漏れたものであり、新たな仕事として認められるからです。 これはシステム単体として見た場合のデバッグとエンバグの関係です。 通常はアップデートすればバグは減るものなのですが、ユニットの関係性を知ったマクロな目で確認できない限りエンバグの可能性は残ります。
次にMMORPGなどの場合です。 ゲームのシステムであってもデバッグは行われます。 ですがアップデートは事実上の拡張と同様な場合が有り、ユニット同士の関係性に破綻が出れば、即エンバグとなります。 こういうシステムでは拡張を予測して、あらかじめ拡張可能な構造になっているのですが、その仕様をよく知らない者や確認のコストを省くとエンバグとなる訳です。
具体例を書いてみます。 MMORPGでイベントとしてクエストを追加する場合です。 まずデータの追加です。 イベントに関連したNPCやMOBのデータ、音楽やSEデータを追加します。 次にイベントのスクリプトを追加します。 これにはイベントクエストの達成条件やフローが記述されています。 通常ゲームシステムでは、このような拡張が簡単に行えるようにイベントが追加可能な仕様になっています。 ですが新たに追加するデータやスクリプトが仕様を超えていた場合、どうなるのでしょう? コンピュータ内部では、あらゆるデータをメモリー上に置き、そのサイズや範囲はシステムに依存します。 動作を軽快にする目的からデータを置く範囲を固定する場合があります。 具体的にはBGMデータやマップデータなど、実行中に変化しないデータです。 変化するデータであっても、大きさが範囲内なら何も問題は起きませんし、変化するのなら動作は重くなっても可変範囲にデータを置けば良いのです。
この範囲固定の領域に可変長のデータを置くとどうなるでしょう? C系のポインタを使う開発言語を用いている方々にとっては常識です。 バッファ オーバーラン/アンダーラン を起こし、タスクが停止し、最悪システムが停止します。
データの大きさは常識的に使われ方に依存しますが、システム仕様が古くなると仕様どおりでは間に合わなくなる場合があります。 この時、新しい仕様にあわせてデータ領域の拡大や変更などが行われるのですが、既存のシステムゆえ検証が十分に行われない場合にエンバグという症状が発生します。 また、検証時に発見されない場合、運用時に露見する事もあります。
この時、運用者はどうしたら良いのでしょう? 具体的に言えばゲームならプレイヤーであり運営者である訳です。 利益を得る側の運営者は改修費用と収益を天秤に掛け、どちらが得かを判断します。 ではプレイヤーは?
問題はこちらです。 私ならプレイせず改修を待ちます。 もちろんバグレポートを送り結果を待ち、その結果で判断しますが。 あとは自己責任ですが少なくとも課金は控えますね。 エンバグに対して課金している訳ではありませんからね。 このような人が増えるとゲームが過疎化するのですが、原因はエンバグに限った事ではありません。 費用対効果で見るなら、ゲームは娯楽ですから「楽しめない娯楽は有り得ない」という事ですね。
という事で過疎化はエンバグだけが原因ではありませんが、結局は運営陣の意志次第という事になりそうです。 ましてエンバグです。 これを運営者がどう見るかを私は注目します。
PS: 一般的な話でしたが、ゲームに関係する話として、久々の更新です。 現在プレイ中のMMORPGにてサーバー側でのエンバグが顕著になってプレイできません。 なにしろアイテムやスキルを使っても発動が数秒〜数十秒掛かるのですから。 一般的には「ラグが大きすぎる」と表現されるエンバグです。 こちらでも、そのようなエンバグは有るかもしれません。 その時 あなたはどう対応するのでしょう? 顧客と運営会社の関係… 立場が異なると視点も異なるという話でした。
|