おっと!それはネタバレ!

ディアブロはオンラインゲームの先駆けとして、そしてオンラインゲームでは初となる大ヒットになった作品です。ディアブロが登場した当時は、サーバーにプレイヤーデータを保存する仕組みが整備されていませんでした。そして「Battle.net」を利用しないプレイを想定してクライアント内にデータを保管していたことから、【チート】の洗礼を受けたゲームでもあります。【チート】の洗礼を受けて、ディアブロのキャラクターや装備データを簡単に改竄されてしまうことになってしまいました。

繋がっているオンラインゲームだからこその【チート】とはどのようなものなのでしょう~?!

「騙す」チート

「Chea」チートの意味は「騙す」とか「ズル」と言う意味になります。不正をする人という意味になります。コンピューターゲームでの「チート」は、裏技や隠しコマンドなどでシステムを騙すことを「chat」や「cheating」といいます。本来チートはコンピューターの誤作動を誘発する行為になるんで推奨されませんが、実行中のプログラムの動作チェックをするときになどにチートすることもあります。

「チート性能」という言葉もありますが、この場合には製作者サイドの設定ミスがあったりすると、ゲームバランスを崩すほど性能の良い特殊能力やアイテム、キャラクターなどに対して「チート性能」と呼びます。外部ツールを使用しなくてもゲームバランスを崩す程のバグ技や裏技を使ったり、ゲーム機本体の時計をいじって1日1回限りのイベントを、何度も何度も繰り返したり、時間帯限定のイベントをすぐに発生させることも、チートに該当します。

チート行為でネタバレに・・

ユーザーとコンピュータが1VS1で 作業している場合でのチート行為は、ユーザー側にもちろん責任があります。チート行為をしてユーザーが狙った結果どおりにいかずにデータ破損してしまってプログラムが制御不能になってしまった場合であっても、ユーザーがチート行為をしたために起きてしまったことなので、これは仕方のないことでユーザー側に責任があります。そしてユーザーVSコンピューターなので、他の人たちに迷惑が関わるわけでもないので、とくに社会的な問題にはなりません。

ところが、「他者とツナガル」オンラインゲームの場合では、ネットワークで通信中の相手にも影響が出る可能性もでてきます。そしてアクセスしているサーバーにもかなり過剰な負担をかけてしまっているため、チート行為が成功している場合には不公正な状態になり、チート行為が失敗してしまってプログラムの暴走が起きてしまった場合にも、チート行為をしたユーザーだけではなく、通信中の相手側にも異常動作の巻き添えを食う危険があります。

ゲームソフトの一部にはアンロック式の配信要素があるケースがあります。それは例えばポケモンシリーズにある幻のポケモンであったり、ドラクエIXにある追加クエストがアンロック式の配信要素になります。正式解禁日前にチート行為で解禁するユーザーがいるので、かなり早い段階でネタバレしてしまうケースもありました。おまけにそのチート行為で得た情報が、個人サイトであったり電子掲示板などで公開されたりするので、チートをしないユーザーであっても解禁日前にネタバレがわかってしまうということもあります。

チートのやり方

チートはいろいろやり方がありますが、チートをする時の主なやり方として行われているのがマルチタスクOSで、複数のプログラムを実行できる環境でチーとが行われるものが多いとされています。常にコンピュータはプログラムの中で一定のメモリエリアを確保します。そして実行に絡んで計算した結果・入力された値をメモリに格納していきます。作業の進行に従って、幾つものメモを残している状態のような感じです。

チート行為をする時には、実行中のプログラムが確保中の状態になっているメモリエリアに、他のプログラムから干渉してメモリエリアに確保している内容を書き換えることでチート行為が実行となります。いわば作業中のメモを収納している所に、別の人がメモの内容を書き換えるようなものです。この行為は広い意味でみれば、クラッキングとしても扱われます。先の比喩に則れば、作業中に作られたメモに他人が改竄を加える行為に当たる。これらの行為は、広義ではクラッキングとして扱われることもある。

このように改竄されたメモリ内容を受けて、プログラムが続けて更に処理を続けていった場合に、プログラムの製作者が意図したのとは違う動作が行われてしまいます。こうしてプログラムの動作を操作してしまうのが、いわゆるチート行為になります。

プログラムによっては、実行結果をファイルの形でハードディスクやディスクドライブに記憶させる動作を行うするものもありますが、そのファイルを書き換える行為もチート行為に含まれます。通常の場合に、プログラムは様々な計算結果を自分が利用しやすい形でファイルに出力するように設計されていますが、保存した後のファイルをリバースエンジニアリングなどの手法で解析してプログラムを誤動作させるためにファイルを改竄する行為も、このチート行為に含まれる行為にあたります。プログラムが終了した後の、セーブデータ状態になっているファイルを改変する場合は、メモリのように動的に変化するものが対象になっていないため、よりより簡単でおまけに確実に狙った動作を誘発させやすいと言えるでしょう。

この他にもプログラムの動作に強制的に介入することで、設計された実行速度よりもさらに速い速度で動作させる「アクセラレーター」であったり、一定の動作を自動的に繰り返させる「マクロ」もやはり単調な所定の動作を繰り返すことで、経験値などが稼げるゲーム上ではチート行為の一種とされています。