Home > レトロゲーム

レトロゲーム Archive

コンピュータースペース

今年は、自分の中でTTLイヤーということでコンピュータースペース(Computer Space)のことを書いてみたいと思います。
世界初のアーケードビデオゲームということで、ちょっと有名なこのゲームは名前よりもキャビネットの形によって知られている事が多いのではないでしょうか。

まだテレビでゲームを遊べるという認識がほとんどない1971年に登場したこのマシン。異世界から来たようなグラスファイバー製のフォルムは、当時あった他のアーケードゲームのどれとも違い異彩を放っています。
ゲーム内容は、自機が回転しながらミサイルを発射する全方向シューティングゲームです。今見るとなんてことのない…というより、つまらないと感じる人が大半でしょう。ただ、当時あった他のエレメカゲームも、決められた時間内でどれだけ敵を倒せるかを競うものが多かったので、ルール的にはその延長上にあるものと言えます。

結局、コンピュータースペースは大ヒットにはならなかったものの、アーケードの歴史に残る第一歩であることは間違いありません。こんなファンページが作られるほど多くの魅力を持っています。

もともとコンピュータースペースは、大学で使われていたコンピューター・PDP-1用に学生が趣味で作った対戦ゲーム「Spacewar!」をベースにしたものです。PDP-1は、高精細な線を描画できるベクタースキャン方式のモニタを利用するプログラムを実行させることができました。今でもアメリカのComputer History Museumでは、PDP-1で「Spacewar!」を動作させる実演を見ることができます。

コンピューターの値段はまだ当時、大変高価だったので、このPDP-1をそのままゲーム機に組み込むことはできませんでした。そこで、それよりは安く作れるということでTTLが使われたのですが、そこそこ複雑なプログラムと同じことを回路で組むのはかなりの労力が必要になります。ある意味でムチャな目標に立ち向かっていて、その熱意も凄いのですが、ちゃんと問題をクリアして高度なものができている点に驚かされます。誰も登ったことのない山だったので、知らず知らずのうちにものすごく高い所まで到達してしまった感があります。
実際、この後に出たビデオゲームのPong(テニスゲーム)や、ブロック崩しなどは単純な四角形だけでゲーム画面が作られていて、回路もコンピュータースペースほど複雑ではありません。しかし、最初に出た時点でこのハードウェアは、背景の星を出し、宇宙船や敵のキャラクターを回転しながら表示させていたのです。あらゆる面で挑戦の連続だったのではないかと思います。
私も含めて技術者はどうしても最新・最高の技術に対して価値を感じすぎるきらいがあって、技術を過信するあまり他の部分に手がまわらないことがあります。このゲームも、ノーラン・ブッシュネルを始めとする開発者たちが高い技術を追い求めた結果、プレイヤーを選んでしまったり、先鋭的になりすぎたりする部分に、共感と魅力を感じずにはいられません。現在にも通じる色々なことを教えてくれる良いゲームです。

ちなみに日本でも高井商会さんがコンピュータースペースのキャビネット(4色とも!)をお持ちです。興味のある人は取材ビデオがあるのでそちらもぜひ。

    このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをはてなブックマークに追加

  • Comments: 1
  • Trackbacks: 1

リレーと論理回路

これは、うちにあるピンボールに入っているリレー回路です。

TTLのビデオゲームについて少し前に書きましたが、それ以前に作られていた電子回路を使わないゲーム、いわゆるエレメカでは、こうした機械式のリレーが論理回路として働いていました。TTLによるゲームも論理回路で構成されていますし、そもそもコンピューター(CPU)の中身も論理回路です。
つまり現在のゲームやPCが動作する原理の原始的な形がコレと言えなくもありません。
リレーは、電流が流れると電磁石の力でスイッチを引き寄せます。そして、電流が止まるとバネの力でスイッチが戻ってしまいます。簡単に言うと、別な回路のスイッチをON/OFFするのがリレーの役割なわけで、ゼルダの伝説で言うと床のスイッチを踏むと、遠くにある扉も一緒に開いたり閉じたりするのと似ています。
真空管やトランジスタ、ICチップであっても仕組みは同じことで、考え方の基本にあるのはデジタルの1と0を電流が流れているか、いないかで分けるということです。これだけの仕組みで計算ができてしまうのが驚きです。詳しくは触れませんが、興味のある人は以下のページなど参考にしてみてください。
http://www.infonet.co.jp/ueyama/ip/logic/adder_r.html

こういった論理回路によって、0か1かの情報、さらにそれを集めた2進数の情報を保持でき、複雑な動作が可能になりました。
たとえばピンボールゲームだと、ゲームのスタートボタンを押すとスコアなど各種設定がリセットされてボールが出てきます。そして、「A」「B」「C」のターゲット全部にボールが当たると1000点入るなどのギミックが動くようになります。
こういった最初にこれをやって、次にこうなって、その次はこれ…といったシーケンス動作は、コンピューターのプログラムが得意とする部分です。特に手続き型言語(BASICとかHSPとか)は、まさに動作の順番を書いていくだけです。
手続き型で考えるとだいたい、こんな感じになります。

    1. スタートボタンが押されるまで待つ

    2. スコアや各種設定をリセット

    3.「A」のターゲットにボールが当たったら変数Aを1に

    4.「B」のターゲットにボールが当たったら変数Bを1に

    5.「C」のターゲットにボールが当たったら変数Cを1に

    6. 変数A~Cがすべて1ならば1000点加算

    7. 3.からの動作を繰り返し

これと同じことをリレーが行なうと、

    1. スタートボタンが押されたら設定を保持している回路を切断(0)する
    また、ゲーム中であることを示す回路を接続(1)する
    2. 「A」のターゲットにボールが当たったらAの回路を接続(1)する
    3. 「B」のターゲットにボールが当たったらBの回路を接続(1)する
    4. 「C」のターゲットにボールが当たったらCの回路を接続(1)する
    5. 回路A~Cがすべて接続されると1000点加算

のような感じになります。
それぞれのスイッチごとに、どのような動作を行なうか、他の回路とどのような関係を持つかなどを考慮して設計する必要があります。特に「ゲーム中であることを示す回路(リレー)」は、エレメカ時代のゲームには必ずついていて、お金を入れるまではプレイヤーの操作などゲームに関わる回路に電源が繋がらない仕組みになっていました。これがタイマーにより一定時間で切れたり、カウンターが進むと切れるようにすることでゲームオーバーを作っていたわけです。
こうした考え方は、今注目されているマルチスレッドプログラミングや関数型言語に近いものがあるように思います。何か一周してきたようで不思議なものです。
ところで、機械式のピンボールにはまだ一部アナログ的な動作も残っています。たとえば5000点加算するような場合、論理回路で5回カウントさせるのは規模もコストもかかります。そこで、オルゴールのように回転する円盤が物理的に5回スイッチを入れるようになっています。これはスコアモーターと呼ばれているもので、必要に応じて1回、3回、5回などのパルス(スイッチのON/OFF)を発生させます。ある意味で、これがエレメカゲームの心臓部と言えるかもしれません。

その後、ビデオゲームが登場しTTL制御の時代になっても、プログラムという手続き型の動作ではなく、エレメカの論理回路が行なっていた仕組みを継承し、より複雑なものになっていきました。
そう考えると、ブロック崩し(Breakout)などはどんな動作になっているのか興味深くなってきませんか?

    このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをはてなブックマークに追加

  • Comments: 0
  • Trackbacks: 0

TTLのビデオゲーム

今年になって調べたいと思っているテーマの1つがTTL時代のアーケードゲームです。
TTL時代っていうのは、アーケード(ゲームセンター)にテレビを使ったゲームが登場した70年代初頭から、CPUによるゲームが普及してくる70年代後半までの短い期間を指します。というか、私がそう呼んでいるだけです(^^;

TTLとは何かと言うと、コンピューターの基本的な動作を行なう論理回路(またはICチップ)の総称で、コンピューター(CPU)が普及する前のデジタル回路では、欠かすことのできない仕組みです。
今では、ビデオゲームと言えば当たり前のようにCPUが入っていて、ゲームのソフト(プログラム)が動いていますが、70年代初頭のTTL時代ではCPUを使わずにデジタル回路だけでゲームを作っていました。プログラムを作らないでゲームが作れるの? って思っちゃいますが、実際に色々なゲームが作られています。
たとえば、アーケードのビデオゲーム初のヒット作として有名なPong(Atari 1972)


あと、今でも知られているブロック崩し「Breakout(Atari 1976)」もプログラムは一切使われていません。


現在はハードウェアとソフトウェアの分担がはっきりしていて、パソコンで言えばビデオカードのハードウェアが絵を出す機能を持っていて、コントローラー等の入力をもとにどのような絵を出すかを決めるのがソフトウェア(プログラム)の役割です。
昔は、そのソフトウェア部分も含めてハードウェアで作ってしまっていました。ゲームごとに専用の回路を作っていたわけです。そのための一時的なデータ記憶や、条件判断を行なうためにTTL(Transistor-transistor logic)が使われていました。

今さらなぜTTL時代をテーマにしているかと言うと、その後のビデオゲームに比べて資料が少ないことと、TTLの持つシンプルさを今だから見直すといい…気がしたからです。

TTL時代のゲームを現在遊べる環境は極端に少ないです。また、80年代以降のゲームはエミュレーターにより今も遊べたりしますが、CPUを使用していない場合、厳密に同じ動作をパソコン上で再現するためには回路図をソフトウェアに起こす必要があり、とても難しくなります。
そのため、ビデオゲームの元祖的な存在でありながら取り上げられる機会も少なく、知らない人がほとんどではないかと思われます。ファミコンとか80年代のゲームについてはもう多くの人が語っていると思うので、今後ネタが続けばですが、TTL時代に作られたゲームと魅力について紹介をしていきたいなと思っています。
ちなみに、海外ではDiscrete Logicとも呼ばれていて、こちらのページはかなりオススメです。

Discrete Logistics
http://discrete.mameworld.info/

あと、パソコンでは再現が難しいと言いましたが、シミュレーターを作っている人もいるので雰囲気はわかるのではないかと思います。
http://adamulation.blogspot.com/
http://www.ascotti.org/programming/tickle/tickle.htm

    このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをはてなブックマークに追加

  • Comments: 1
  • Trackbacks: 0

ホーム > レトロゲーム

Search
Feeds
Meta

Return to page top