アーケード・コピー・プロテクション

「Lotusノーツ/ドミノ」の開発に深く関わっていたことで知られるネッド・バチェルダ氏が、数ヶ月前に自身のウェブログちょっと意外な過去を明かしています。先日の「ミズ・パックマン」話でジェネラル・コンピュータ・コーポレイション (GCC) という会社について触れましたが、彼は学生時代の夏休みに、そこで働いていたことがあったというのです。


GCCにはアーケードマシンで一杯の部屋があって、ソースのコンパイル中によく遊んでました。プレイし放題だったおかげで、普通は分からないようなことにも気付いたものです。たとえば『ディグダグ』は128面まで行くとモンスタの動きがほとんど停止してしまうのですが、これは多分モンスタの速度が1バイトで決定されていて、一面につきその値を2ずつ上げていたのが、ここでゼロに戻ってしまうせいだな、とかね。
このエピソードもなかなか微笑ましいですが、しかし当時の状況を知るうえでもっと興味深いのは「アーケード・コピー・プロテクション」と題されたこの一文でしょう。当時彼がGCCで耳にしたという、ちょっと変わったアーケードゲームのプロテクト方法です。

アーケードヴィデオゲームは、たとえばバーであるとか、攻撃的な環境に設置されることがよくありました。そういう場所でゲームをする人は乱暴に扱ったり不正を働こうとしたりすることがあるので、アーケードゲームには「キックスイッチ」というメカニカルセンサが付けられていました。ピンボールのティルトスイッチみたいに、ゲーム筐体が派手に揺さぶられると反応するもので、ソフトウェアがキックスイッチの作動を感知すると、ゲームは終了してしまいます。こうやってお客さんからゲームをぶん殴ろうという気を削いで、寿命を延ばそうとしていたわけです。

アーケードゲームにとっては、海賊版の存在もまた問題でした。ゲームを動作させているハードウェアは多かれ少なかれ標準化されていたので、ROMを取り替えることができたのです。海賊版業者はROMをコピーして、古いゲーム基板に取り付け、もっとお金になる新しいゲームへとアップグレードしていました。海賊版のコピーROMには、見たところ、ある小さな変更が加えられているようでした。起動画面に表示されるはずのコピーライト警告がなくなっていたのです。これが残っていると不利になる、なんていう俗説があったのでしょうね。

で、件のプロテクト方法はこんなものでした。

  • 最初ゲームはいたって普通に動作する。コピーライト警告を表示するし、ゲームも普通にプレイできる。
  • プレイ回数が100回を超えると、マシンの挙動が少し変化する。
  • コピーライト警告の表示に続いて、別のプログラムがヴィデオメモリをチェックし、コピーライト警告がちゃんと表示されているかどうかを確認するようになる。
  • 警告が画面に現れていなければ、"Kick me for a free game" というメッセージを表示する。
  • キックスイッチを作動させるたびにクレジットがカウントされて、無料でプレイできるようになる。
この仕掛けの賢いところは、海賊版の製造そのものを止めさせるのではなく、海賊版で儲けることだけを止めさせるという点です。どうやって? そのゲームの一生を想像してみてください。海賊版業者はROMをコピーし、コピーライト関連の部分が表示されないよう手を加えてから、ゲームを作動させますね。うまく動いた。何回かプレイしてみて、動作確認も完了した。ゲームはバーかどこかに出荷されます。最初の百回は何も問題なくゲームができる。しかしそのあと、お客さんは情け容赦なく筐体を強打し、二度とお金を払わなくなる。

一週間後、25ドルぽっち稼いだだけで、ゲームは物理的に破壊されることになります。

なんとも粋なアイデアですが、本当にこんな基板があったのかどうかは分からない、とネッド氏自身も前置きしています。しかし聞いたところでは、どうも「テンペスト」基板にはこれに近い仕組みがあったようですね。このプロテクトのたったひとつ問題点は、プログラマ本人も誤って作動させてしまいかねないところで、フリープレイ防止のためにアップデート版ROMをリリースしなければならないこともあったという話です。