項目別バックナンバー[2]:パソコン情報:52
コンピュータゲーム機
コンピュータは登場以降に急激に進化して来たが、同時に半導体技術と電子技術も急激に進歩してきた、双方によりコンピュータゲームとコンピュータゲーム機も進歩してきた。
コンピュータと電子機器のハードとソフトとの双方を組み合わせて人間が創造して行くコンテンツの中にその時代に存在する性能と機能を駆使して創作するゲームが有り、そこには可能性を確認して追及する性格がある。
コンピュータは登場してからも用途が明らかでない機器と言われながら販売されたが次第に初期に標準装備されるソフトウエア・アプリケーションが定まって来た、ワープロや表計算だったりインターネット接続用のツールだったりするがゲームソフトも同様に含まれている事が多い。
コンピュータゲーム機には、ゲームセンター等の店に設置して有料で遊ぶ「アーケードゲーム」や、個人が購入して家庭で楽しむ「テレビゲーム」や、電卓の思想からその技術を応用して作られた「電子ゲーム」があり、パーソナルコンピュータの登場後はそこでアプリケーションソフトの一種として動作する「パソコンゲーム」があり、それぞれが併行して成長・発展して来た。
ゲーム機が登場する前のコンピュータはメインフレームであり大企業や大学やアメリカでは軍等で使用されたが非常に高価な設備だった、そこでも技術者がコンピュータゲームをプログラミングして動かした話は伝わる、その次に登場したミニコンレベルのコンピュータも状況は似ていて宇宙戦ゲームがプログラムされて遊ばれていたと伝わっている、それがコンピュータゲーム機に繋がったとされている。
商業的に最初に成功したのはアタリ社のアーケードゲームだとされる、それはコンピュータではなくて電子回路で組まれた電子ゲーム機であり、機械的な機構のゲーム機の置き換えであったが当時の人気ゲームのピンボールを越える人気になったとされた、アーケードビデオゲームの内容を複雑にしようと考えるとハードだけでは難しくマイクロプロセッサーの採用となった。
アーケードゲームを家庭用に作ったのが最初のテレビゲーム機だが、初期はハードで作られていたので単発ゲーム機か、複数のゲームのスイッチ切り替え方式だった、こちらもマイクロプロセッサーを使用したソフトウエア方式が直ぐに登場した。
1970年台後半からパーソナルコンピュータ(パソコン)の発売が始まり、ソフトウエアが少なかった時期には利用者は口コミやパソコン雑誌を便りに情報を集めた、そこではアーケードゲームとテレビゲームをパソコン上で無料で遊ぶ為に、類似のパソコンゲームを制作した。
パソコンを学習用に購入して(初期のボードコンピュータやパソコンには学習用とされたものもあった)ハードと共に、プログラミングを勉強して、腕試しにゲームを制作する事も競って行われた。
パソコンに関する情報量は少なく、ハードとソフトを使いこなせる技術・技能を持つ人は少なかったが、制作されたソフトのコードを解析して勉強する人も多数存在した、学習手段として他の機種用のプログラムの別機種への移植作業も多数行われた。
パソコンメーカーは新機種を発売する時に、最低限のソフトを同梱して他に主要ソフトを1機能1ソフト以上販売する戦略を取った、有力機種が使用可能ソフト数を増やすと、対抗機種は同梱ソフトの種類を強化しグラフィック機能や音楽機能を使いこなした動的テレビゲームや、記憶容量を使用したアドベンチャーゲームやロールプレイングゲームやシミュレーションゲームを制作してそれは機能の進化の指標の1つとなった。
1970年台後半からのパソコンとパソコンゲームの普及は大きく進歩した、しかし汎用のCPUの速度はまだまだ不充分であり、ディスプレイへのグラフィック表示は能力不足だった。
当時の(専用機と汎用機の機能比較では現在も似ている)アーケードゲーム・テレビゲームでは汎用パソコンとは異なり、ゲーム向け機能を向上させる為に、ハードウエアもソフトウエアも必要な特定の機能を高めて目的のゲームに特化して設計されていた。
特に目立つのは映像表示関連の独自に設計されたハードとソフトウエアであり、音声と音楽機能を含めたマルチメディア処理能力だった、それはアーケードゲーム・テレビゲーム間でも機種の個性となり競い合っていた。
汎用パソコンでも、次第に全体の処理能力が高くなり、マルチメディア処理能力も向上したが、それ以前のゲーム専用機が搭載していたスプライト機能やスクロール機能や併行処理能力を追加して搭載して行った、専用機は汎用パソコンの持たない独自機能・能力を追加して行く事で専用機の用途を確保し続けていった。
同じ流れはハードウエア機器が新しい形態・種類が登場しても同じであり、汎用の機器とゲーム専用機は、双方が競う事が続いた。
1970年台後半のパソコンとパソコンゲームの普及の後を追う形で、携帯型ゲーム機が登場して人気となり、その後の携帯型ゲーム機の最初となった。
当時は技術的に可能なハード機器の機能が限られていた、従ってその後に登場して来た携帯ゲーム機やモバイルゲーム機器とは異なるものであり、パソコンゲームやアーケードゲームとも異なていた、具体的には電卓技術・設計・機能を電子ゲームに利用したものであり、汎用のゲーム機ではなく一つのハードが一ゲームだった。
パソコンはその後にノートパソコンが登場してモバイル性のある機器となり、携帯電話やスマホ等のモバイル機器と共に普及して行く、それらの機器の上でゲームプログラムが多数動作する様になっていった。
携帯型のゲーム専用機でもハードの機能が高くなるとその技術を取り入れて行った、例えばROMカートリッジ型で液晶のグラフィック表示機能を持ち、小型で長時間駆動が可能なゲーム機が登場した、携帯型ゲーム機はカラー化や、一層の小型化を競いあった。
携帯電話の登場するとその機能をも持つ機種が登場した、ネット通信機能を持つ事でデータのダウンロード機能を持ち、オンラインでのプレーが可能になった。
パソコンとパソコンゲームは普及したが、その内にパソコンは例えば年4回の様な高い頻度で機種のモデルチェンジが行われて基本性能に当たる部分も変更されて行った、その変更や機能・性能の向上を期待する事もあったが、パソコンゲームとして見ると寿命が短くなり、ハード機器の互換性確保や新機種用のマイナー変更作業にゲームメーカーが追われる事となった。
一方のゲーム機はパソコンと比較すると機種変更頻度が少なかった、それは専用機としてのゲーム機では単一の機種を長期的に渡って基本性能を変えないままで販売し続ける事でそのハード機種を商品寿命が長い、ひとつのプラットフォームとして消費者やゲーム開発メーカーに認めてもらう狙いがあった。
パソコンとパソコンゲームと専用のゲーム機とは、併行して異なる発展をしてゆく事になった、その後のビジネス用途のパソコンの普及によるパーソナル用途との棲み分けではパソコンゲームの位置付けが異なる事になった。
ゲーム機ソフトウエア
パソコンとパソコンゲームはハード機器の互換性確保やマイナー変更作業に追われる事となるが、それは「プラットフォームのハードウェアと多数のソフトウェア」が存在させる手法であり、パソコン登場初期の「使用したいソフトウエアが稼働するパソコンハードを購入する」スタイルからの大きな変更となった。
ゲームソフトメーカーはゲームソフトという特定の分野での競争だが、それは技術開発的には先進分野であり、それの新規開発が進められる事でゲームソフト業界自体を急速に進歩させる原因になった。
パソコンゲームのソフトは最初期はアセンブリ言語で記述されていた、ハード機器の速度の問題や記憶容量とメモリー容量の問題があった、ビデオラムと呼ばれたディスプレイ領域を直接にビット単位で操作する必要性があったのが理由だった。
新規開発時間や互換性確保とマイナー変更作業時間の短縮を目的として、アセンブリ言語よりも機種依存性が少ない高級言語と呼ばれる言語でソフトの記述が行われる様に変わった、それが可能になったのは開発時間が短くなる言語とそれをサポートする開発環境の整備であり、結果としても実行速度が速いゲームソフトが開発出来る優れた高級言語の登場だった。
パソコンゲームの開発はアセンブリ言語が使用され生成された機械語が実行されたが、開発言語が変わっても実行速度が同等のレベルのプログラムが生成される事が必要だった、それにはインタープリターや中間コード生成型のコンパイラ言語では対応出来なかった。
高級プログラム言語で記述されたコードを最終的には機械語に変換するコンパイラが必要だった、実際のパソコンゲームを含めたアプリケーションの開発には実行速度の速い基本ルーチン(ランタイムルーチン)の提供が必要であり、高度で複雑なハードを操作出来るソフトウエア(ライブラリー)の提供が必要であり、このソフトを効率良く繋げる機能であるリンカーのソフトが必要であり、効率良く試行修正を行うデバッガーも必要だった。
パソコンゲームの開発にはグラフィック機能を簡単にかつ機能一杯に使いこなす事が可能なグラフィックライブラリーが必要であり、音声や音楽機能の利用でも同様だ、これらはハードウエアに依存する性格を持つが、そもそもパソコン用OS開発に必要であるし、全てのアプリケーション開発にも必要だった。
OS等のシステム記述や多数の機種に移植される汎用のアプリケーションの開発と記述には圧倒的に移植性の高い高級プログラム言語による開発が有利だ。
システム記述用の高級プログラム言語に必要とされる事には、例えばメモリー領域のダイレクト操作が可能である事や、整数や文字コードなどの多数のモードに対応している事や、入出力機器への接続が容易に可能である事や、そもそもは最近の高級プログラム言語では多くが対応しているが再帰・マルチタスク等のプログラムコードが出力生成される事等がある。
ゲーム機ソフトウエアはハード機器の能力を最大に引き出す必要性があり、要求内容はOS等のシステム記述用と一致する、プログラム言語自身がゲームソフトに必要なグラフィック機能や音楽音声用のハード機器をサポートするライブラリーを保有する事で実現される。
システム記述用プログラム言語としてはC言語とそこから派生した系統が主流として使用されて来た、自己拡張性・記述性の性格があり基本機能だけの小型のコードセットだけのバージョンから始まり、それを使いより多機能のプログラム言語を記述してコンパイルする事でより機能の高いプログラム言語を作って行く、そのように自ら拡張性を拡げる性格を持つ。
専用ゲーム機は独自のCPUを使用する事も多くあり、それの演算アルゴリズムや命令コードセットが異なる事が普通だ、そこではアセンブラやコンパイラはそのCPU専用のものが必要になる。
高級プログラム言語を使用する時は専用のコンパイラとライブラリーが必要になるが、多くの部分はコンパイラに負担させる形になる。
専用のCPUをゲーム機に使用する理由には、汎用のCPUの機能の中でゲーム機では使用しないものと使用頻度が高いものがある事から必要な機能に絞り、速度アップを図った。
例えばゲーム機ソフトウエアでは分岐命令や高級算術演算機能や大容量の記憶メモリーへのアクセスや日本語変換機能などが、オフィス向け・パーソナルユース向けのパソコン用途と比較して頻度が低い。
逆にはマルチメディア機能の使用頻度が高く、音源やグラフィック機能の並列的な稼働が求められる、それらの機能への高速のデータ転送機能が必要であり、スタック等を利用した先読み手法を使用する、先読みでマルチメディアデータをスタック等に読み込み速度アップを行う、ただし分岐すれば先読みデータは破棄になる、ゲーム機ソフトウエアでは先読み効率が高いとする判断がある。
コンピュータと情報産業では普及時代になると、ひとつのハード機種とOSとの組み合わせに対して多数のソフトウエアを揃えるというビジネス手法が一般的になり拡がった、同一機能・分野・カテゴリに複数のソフトウエアが並ぶ形だった、これはハード機種とOSとをより進歩させて行くとする見方からは逆の方向性と考えられる。
全く新しいソフトウエアの開発でも、既存のソフトウエアのバージョンアップしたハード機種とOSへの移行対応や、異なるハード機種とOSへの移植も必要であり、その労力を事前の新規開発時から考慮する必要が有った、それ故にアセンブリ言語とアセンブラによる開発から、C言語などの高級プログラム言語へと移行した理由があった。
だが実行速度や高度なマルチメディア機能を駆使しようとすれば、バイト単位やビット単位でのメモリーやグラフィック操作が必要であり、その部分のプログラムやライブラリーのハード機種とOSバージョン毎の開発と移植は必要だった。
ゲーム機ソフトウエアではこの矛盾する要請の中で、特定の最新分野としての必要な要因として競合メーカーが競って技術開発した、その結果として開発性と移植性だけの偏る方法だけではなく、技術開発競争が結果的にゲームソフト業界を発展させる事に繋がった。
初期のゲーム機は、パソコン用チップや部品等や汎用製品を転用・流用したものも多かったが、次第にゲーム機は用途専用機として開発されて、その分野ではパソコンをはるかに越えた性能を持つと言う事が一般になった。
高性能のハードウェアの開発で、ゲーム機専用のプロセッサ類が設計される事になり、そこからノートパソコンの小型化とモバイル性を応用したゲーム機が設計された。
それは「携帯型ゲーム機」であり、一般的なゲーム機のハードウエアと比較してもそれ程も性能の差が少ないCPUとグラフィックの表示装置を保有していた、ソフトウエア的にはカートリッジ交換型が1例で使用された。
携帯電話が登場して普及すると無線通信機能を持つ携帯型・モバイル型のゲーム機が登場して通信ゲームの分野が成長した、だがモバイル情報機器として携帯電話とモバイルタイプパソコンの機能を合わせて持つスマホ(スマートフォン)が登場するとその急激な普及と共にソフトが急激に開発された、スマホではソフトウエアはアプリとして通信で入手出来て、音楽・映像・電子書籍などの情報と同じ手法で扱われた。