カテゴリ:Computer & Game
時系列に並べています。新しい記事から読む場合は こちらからどうぞ。
「コンピュータ&ゲーム」カテゴリについて
21世紀を迎えた今現在、私達は星の数にも及ぶ程の電気製品の山の中で生活しています。当然のことながら、これらはみな電気があるからこそ価値があるのであって、もしも電力会社が送電をやめてしまったとしたら、それはもうスクラップ以外の何物でもありません。オール電化の宣伝も日々目にしますが、先日の新潟大停電のニュースを見て、「電気だけに頼るのは危険だなぁ」と感じた次第です。
ところで、一口に電気と言っても、その種類や規模によって様々なものがあります。身近な所では家庭用コンセントから取り出せる100ボルトの交流電圧がありますし、普通の電池は1.5ボルトの直流電圧です。他にも12ボルト/24ボルトの直流電圧を供給する自動車用バッテリー、ラジコンや髭剃り機、携帯電話のバッテリーパックや、光を電気に換える太陽電池が知られています。
今、直流とか交流という言葉を強調して述べましたが、これらは所詮人間が使い易い形に「電気を加工」したものであって、自然の中にある電気、例えば雷やセーターを脱ぐ時に起こる静電気も、本質的には同じ物です。
上の文は、今から10年以上前の1993年に私が書いたものですが、一部はアップした現在(2006年)を基準に書き換えました。例えば「21世紀を迎えた…」の部分は、当時「20世紀も終わろうとしている…」でした。オール電化や新潟の停電についても付け足した文です。
実は、2001年5月23日に、一度公開したことがあります(リンク先の文面やページデザインは当時のままです)。読んでみたいかどうかのアンケートを実施したところ、「読んでみたい」が数十票集まりましたので、いつかはアップしてみようと思っていました。
このカテゴリは『Computer & Game』です。この系統のコンテンツで、こんな話題を持ち出すのは、おそらく前代未聞のことだと思います。しかし、ゲーム機を含むすべての電気製品の源は電気です。押されたボタンの情報は、電気によって本体に送られ、電気を使って記憶し、電気を使ってプログラムを読み込み、電気を使ってディスプレイを動かしています。
更に、近年コンシューマゲーム機レベルのハードウェアでも光の屈折や反射が当たり前のように使われていますが、これらについても「リアルさ」を追求すれば電磁気学の世界に踏み込んだ話になります。
昨年、専門学校で『ソフトウェアであるプログラム』を教える時に、試しに電気の話から入ってみた所、わりとウケが良く、メモリやアドレスの話に進んだ時にも、本質が掴めている印象を受けました。
そういうわけで、このカテゴリでは、今述べた直流、交流、静電気の違いから、電気がどのように制御され、情報として使われて行くのかを順にたどって見て行きたいと思います。
講義で話すには冗長過ぎる部分についても(しつこく)書いてみたいと思います。普段はソフトウェアを教えていますので、直接関係ない話を多く盛り込むことができないのです。
これからアップする内容ですが、そもそもblogに書くような内容なのか、Wikiの形態をとった方が良いのか、それとも従来のようにHTMLで書く方がまとまるのか、まだ良く分かっていません。ある意味実験です。
少なくとも時系列でエントリが並んだ方が良いので、カテゴリアーカイブは、昇順と降順の両方を用意した方が良いかもしれません。
感想や間違い、お気づきの点がありましたら、遠慮無くコメント欄にお願い致します。
2006/01/14追記
昇順で閲覧できるようにしました。エントリの下部(↓)にナビゲート用のアンカーを設置することにしました。
2006/02/16追記
エントリの上部にもナビゲート用のアンカーを設置することにしました。
2006/1/13 14:52 | URI
[UP]
(序)はじめに
「ゲーム機の中にはコンピュータが入ってるんだよ」
いまさらこんなことを言うのもおかしな話ですが、コンピュータが『電子計算機』と訳されていたことを考えれば不思議に思えます。この計算機を使って、一番始めに「ゲームを作ろう!」と考えた人は、いったいどんな頭の持ち主だったのでしょうね。
世界で最初の『電子式デジタルコンピュータ』が生まれたのは50年以上も昔のことです。それは、数万本の真空管を使った巨大なもので、専門のオペレーターによって操作され、30分も動かせば部品が壊れてしまうような信頼性の低い機械だったそうです。しかも、大砲の弾道計算や敵国の暗号文を解読するといったように、主に軍事目的の道具として開発されたものでした。
コンピュータの先祖が考案されたのは、更に130年ほど前にさかのぼります。コンピュータは、「対数表を機械で計算できないだろうか?」というチャールズ・バベッジの思い付きから、文字通り指数対数的な勢いでこれまで発達してきたわけです。
コンピュータは、「より小さく、より速く、より信頼性を高く」を合言葉にマイクロコンピュータを産み出し、「誰もが簡単に扱えるように」と、衣を着せられた『パーソナルコンピュータ』に進化しました。大学や研究所にしか存在し得なかったコンピュータの世界が、個人で所有できる大きさと価格になって普及し始めたのです。そして、その機能はますます豊富になり、凝縮され、コンピュータを構成するハードウェアの機構は複雑化の一途をたどっています。
一方、コンピュータを利用する側から見た場合は、ユーザーインターフェイスの向上によって、複雑なコンピュータを意識せずとも簡単に操作できるようになりました。技術者の独壇場だったコンピュータの世界は、『マウス』と呼ばれる入力装置を使い、画面をなぞるだけの簡単操作によって、理系文系を問わず、今までコンピュータとは無縁の生活を送っていた層にも受け入れられたわけです。
見方を変えると、ソフトウェアの進歩によって、“使う側”の環境からはますますブラックボックス(中身が見えない)化が進んでしまったと言えるでしょう。そして、当初の「コンピュータを意識しなくても利用できるように」という夢が実現されてきた反面、「もっと積極的にコンピュータを理解したい」という気持ちにとっては、大きな障害になっているように思います。
さて、だいぶ前置きが長くなりました。テレビゲーム機にコンピュータが入っていることは今や周知の事実ですので、コンピュータ技術の変遷云々の話も関係ないとは言えません。コンピュータのブラックボックス化以上に、テレビゲーム機のそれは顕著な事実です。
このカテゴリでは、一つの立派な文化として育ったテレビゲームの動作の仕組みを通して、コンピュータの世界を幅広く考察してみようと試みるものです。皆が知っているテレビゲームは、漠然としたコンピュータの世界を「視覚的に表現しながら説明できる」格好の材料だと思っています。
テレビゲーム機は、その名が示す通り『テレビジョン』を媒体とする娯楽機械です。正式名称は『ビデオゲーム(テレビ映像のゲーム)』と言いますが、日本では『テレビゲーム』の方が馴染み深いので、あえてこの和製英語を使いました。
ここからしばらくは、1990年代に書いた文が続きます。
2006/1/14 01:54 | URI
[UP]
マイコン内蔵ゲーム機
テレビゲーム機がテレビジョンを媒体とする娯楽機械であることは、前節に書いた通りです。
本来テレビジョンは、放送局から電波に乗せて送られる映像信号(テレビジョン信号)を、元の映像に復元して映しだすための機械です。この映像信号が、様々な電気回路を通り、分解されて、ブラウン管を使う普通のテレビの場合は、最終的に『電子銃』と呼ばれる部品から飛び出す電子を制御しているわけです。したがって、ゲーム機には、『テレビ』という「映像信号を復元する機械」につなぐために、自らその信号を作り出す機能を備えていなければなりません。
映像信号は、放送局の場合はテレビカメラによって作られますが、ゲーム機ではマイクロコンピュータによって作られます。誤解があるといけませんので、あえて追記しておきますと、正確には「映像信号を作り出す回路」を、コンピュータが「制御」しているということです。マイコン炊飯器を例にあげれば、コンピュータがお米を炊くのではなく、釜を熱するヒーターを制御しているということです。いくら賢いコンピュータでも、お米を炊くことはできません。
コンピュータは、さまざまな情報を決められた「手順」に従って素早く計算し、結果を出力することしかできません。「入ってきた数値を加工して吐き出す」ことしかできないのです。この手順のことを『プログラム』と呼んでいます。
コンピュータを使わなくても、今までの部品で代用できるものは沢山あります。能力は桁違いに悪くなりますが、コンピュータが出現する前は皆そうだったのですから、当然と言えば当然のことです。
ここで一つ、多くの方には意外な事実を書いてみます。それは、30年ほど前(1970年代初期)のゲーム機には、コンピュータと呼べるものが入っていなかったということです。「テレビゲーム=コンピュータ」という図式が、頭の中にでき上がっている方にとっては驚きでしょうが、これは本当です。映像信号を作る「手順」を、マイクロコンピュータと、そのプログラムに頼るのではなく、すべて個別の電子部品だけで構成していたのです。
「テレビゲーム=コンピュータ」という認識は後に広まったことで、今あるゲーム機は、つまるところマイコン内蔵炊飯器と同じく、マイコン内蔵ゲーム機ということになるのです。
そうは言っても、やはり現在では“ゲーム機=コンピュータ”ですよね。(2006年1月追記)
2006/1/15 00:43 | URI
[UP]
素朴な疑問
「にくたらしいなぁ…」
唐突に飛び出したこのセリフは、当時高校生だった私のパソコンを占領していた父親の口から発せられたものです。1980年代初期のお話です。
ディスプレイには、父親が大のお気に入りだったゲーム画面が映し出されています。

【エイリアン2】
「穴掘り」と呼んでいたこのゲームの画面構成は、閉じた空間に何段かの床があって、それを真横から眺めた格好になっています。その床の所々には階段が設置されており、上下左右にエイリアンがうろうろ歩いています。
プレイヤーは、画面の中の人間を操り、このエイリアンに捕まらないように逃げながら床に穴を掘って、すべてのエイリアンを埋めてしまわなければなりません。
この「穴掘り」という名前は、父親が愛称として命名したものでした。

【PC-8001】
日本初の本格的パソコンと呼ばれていた、NEC(日本電気株式会社)の『PC-8001』という8ビットパソコンで動く『エイリアン2』というゲームソフトでした。オリジナルの名前は『スペースパニック』と言って、アーケードゲーム(ゲームセンターのゲーム)を家庭で遊べるように移植した作品です。
さて、このゲームがどうしたのかというと、穴を掘って待っていても、エイリアンは待ち受けている穴にはなかなか落ちず、ぎりぎりの所でUターンして他の所に行ってしまうのです。
冒頭の父親のセリフは、こんなエイリアンに対して発せられたものですが、父親にしてみれば「どうやってこんな動きをコンピュータが考えているのか?」ということなのでしょう。ゲームをしている最中にも、「人間がここで待っていることが分かっているみたいだなぁ」と言うこと頻りです。
私が「もしかしたら人間の位置を見てるかもしれないね。位置を調べることは簡単だから」と言うと、父親は「ふ〜ん、こういうのってすごく不思議に思っていたんだけど、どんなふうにコンピュータにインプットされてるの? このエイリアンの形も動きも、人間が考えたわけでしょ?」と言います。
私が「コンピュータが扱えるのは、数値になったデータだけだから、エイリアンにしても人間にしても、絵や動きを全部数値にして入力するんだよ」と答えると、ますます怪訝そうに「その『絵を数字にする』って言うのが分かんないんだよなぁ」と納得いかない様子でした。
こんな調子で会話が続いていたわけですが、この答えは、先を読み進むうちに少しずつ解き明かされて行きます。
2006/1/15 20:08 | URI
[UP]
数学ができないと作れないんでしょ?
よく尋ねられる質問の中に、「テレビゲームを作るには、数学ができないと駄目なんでしょ?」というのがあります。
聞かれる度に「そんなことはないですよ」と答えるのですが、正確には「数学や物理の計算が入った自然現象をコンピュータでシミュレートするようなプログラムを作る場合には必要ですよ」と言わなければならないでしょう。
現実の話、3Dのリアルな映像を扱う場合には、最低でも高校レベルの数学を(三角関数、ベクトル、行列ぐらいは)知っていないと絶対に作れないものです。しかし、「すべてのゲームが高度な計算を必要とするものではない」ということも事実です。
「コンピュータ」と言うと、反射的に「計算」をイメージしがちですが、プログラムの中で本当に計算をしている部分は極わずかです。大部分は、予め用意されているデータを引っ張って来て、それを現在の状況と比較し、その結果によって次に実行する処理を順々に切り替えて行くだけなのです。
ですから、『コンピュータ』のことを『電子計算機』と呼ぶには、個人的には少しだけ抵抗があります。コンピュータのプログラムは、学校の運動会やテレビ番組のプログラムと同じように、コンピュータを動かすための「進行係」という意味合いの方が強いと思うのです。
さて、コンピュータは、どんなに複雑で難しい処理でも、人間が行うよりも、ずっと速く正確に実行できます。しかし、どんなにプログラム言語やコンピュータを理解していても、コンピュータに実行させたい処理そのもの、つまり、「何をやらせたいのか」という処理対象については、人間が理解していなければなりません。
これは、コンピュータに限った話ではありません。
例えば学校の先生を考えてみて下さい。数学の先生もいれば国語の先生もいます。英語の先生に「音楽を教えろ」と言っても無理な話です。それぞれに専門分野というものがあって、それについては他の科目の先生よりも長けているけれど、教師としての基本的なもの(例えば指導力になるのでしょうか?)は、すべての先生が持ち合わせていなければならないはずです。
もう一つ例を挙げてみましょう。今度は運転免許証を考えてみます。普通乗用車もあれば二輪車もあり、原付き免許の人が観光バスを運転するには、やはり無理があります。しかし、道路交通法という基本的なルールは、それぞれ皆が勉強しているわけです。
料理にしても、和食、洋食、中華などいろいろあって、料理人によっては得手不得手もあるでしょう。しかし、食材を見極めたり、包丁を上手くさばいたりする基本的なことは、まずマスターしているはずです。
例えが飛躍してしまいましたが、コンピュータのプログラマも同じなのです。銀行のオンラインシステムや、座席予約システムのプログラムを組む人は、その方面の詳しい知識がなければ絶対に作れないものですし、「経営管理プログラムを作ってくれ」と言われても、「会社の経営の仕組み」を理解していなければ作ることはできません。
英語が分からない人に「日本語と英語の翻訳プログラムを作れ!」と言っても、やっぱり無理な話なのです。しかし、どの分野のプログラマも、プログラム言語やコンピュータについての基本的な部分は勉強して分かっていなければなりません。
そう考えると、「ゲームプログラム」を作るには「ゲームの仕組み」が分かっていなければならないことになります。
プログラマの話ばかりになってしまいましたが、ゲームのキャラクタを画面上で描く、グラフィックデザイナにも当てはまります。
一口にグラフィックデザイナと言っても、いろいろな分野があります。直接ゲーム画面に表示される絵を描く人は、ゲーム機の限られた容量や色数の中で作品を綺麗に見せなければなりません。紙に絵を描くのとは性質が違います。
ですから、例えゲームプログラムを組まないデザイナやコンポーザ(作曲者)でも、コンピュータの知識が必要になってくるのです。
もっとも、最近のゲーム機では、天然色に近い色を難無く表示できるようになって、紙に描くのと変わりなくなってきました。音楽にしても、昔はベルが鳴ったり、貧弱な音しか出せませんでしたが、最近のコンピュータやゲーム機では、CDをはじめ、音源ハードウェアについても市販のシンセサイザーに近い性能を持ち始めています。
昔は「コンピュータで作品を作る=特殊技能=職人」という部分がありましたが、最近はコンピュータの性能が上がって扱いやすくなったことにより、「純粋に感性の優れた各方面の人」がゲーム作りの現場に入ってきています。
「コンピュータに何をやらせたいのか」ということは、それを使う人のアイデア次第で広がるものです。なんでもできるとは言いませんが、この「道具」は、使い方次第で、無限に用途を広げられるのです。
くどいようですが、これは1990年代中頃に書いた文です。この注釈を書いている2006年現在、「道具」の件については言われなくても当たり前な世の中になっていますね。
2006/1/17 01:16 | URI
[UP]