TRCと電撃PSD

今のゲーム屋なら、誰でもTRCというものを知っている…と思う。

ハードによって呼び方が違うのだが、僕はPS1時代にこれが初登場したときにTRCと呼ばれていたのでTRCと呼ぶクセがある。

TRCっていうのはどういうものかというと、大雑把にはハードメーカーが決めている規定を守っていますか? というチェックシートだ。これをマスター提出時にひっつけて出すことになる。
で、TRCを守っているかどうか、バグがないかも兼ねてハードメーカーがチェックを行い、OKなら発売される。
つまり、ゲームが発売にいたるためには
1)ゲームを作り、社内でデバッグし
2)TRCをつけて、マスターを提出し
3)ハードメーカー側がTRCを守っているか、加えてバグがないかチェックし
4)全てOKなら発売される
…というシステムだが、これが出来たのは、僕が知っている限りではPS1からだ。
もちろんFCやPCエンジンの時代も似たようなものはあったが、システマチックに完成されたのはPS1が最初だと思う(もしメガCDでこれがあったならスマンだけど。僕はMDは手伝ったことしかないのよ…)。


では、どうしてPS1でTRCみたいなものが登場したのか…というと、これはゲームハードの歴史の話と絡む。
ファミコンやPCエンジンではどんなチェックをやっていたのかというと、ファミコンの場合にはROMを提出するときに「ハード的な規格」を書いた紙をつけていた(1本しかやってないから記憶間違いだったらすまぬ)。PCエンジンも同じ。
そしてハードメーカーから、内容のチェックとともにメジャーなバージョン毎に動作確認をして「Xで動きません」みたいな感じでレポートがFAXで返ってきていた。(当時はインターネットがないから)。
こんなモンでよかったのは、ゲームハードが単純だったから。
例えばファミコンでは電源を切らずに次のソフトに切り替えることは出来ない。だから切り替えのことなんて考えなくて良かった。(もちろん引っこ抜いて変えれば出来ないこともないが、そんなことまでチェックをする必要はデベロッパー側にはない)
BIOSすら載っておらず、リセットされた瞬間にROMカートリッジでプログラムが動くから、ハードウェアの初期化から全て自分で行うことになる。だから自分のやりたい放題。せいぜいが拡張端子に専用コントローラが刺さってないか程度のチェックで十分だった。
ハードメーカーは起動&動作確認をハードの癖が違う各バージョンで行えばよかった。また初期化や操作が単純なので、ハードメーカーがハード的なチェックをすることでオッケーだった(簡単に追いかけることが出来る)。

ハードは生産時期に応じてチップの中身が違って、少しずつ動作が違ったり、ちょっとずつ違うバグがあったりする。これをバージョンと呼ぶ。
ソフト屋は基本的にその全てで動くようにしなければならない。そのために例えばdma_bug_walkaround()なんて謎の関数がプログラム内で呼び出されていたりする。

ところが、話が怪しくなりはじめるのがCDROMの登場からだ。
CDROMはCDROMにセーブできないから、セーブ用のバックアップは外部に持っている。つまりセーブデータは共用になるのは確定で、勝手にムチャするわけにはいかない。またCDROMには規格があり、それを満たしていないとCDROMと名乗れない。さらにうっかり変なプログラムを書くとハード的な負荷がかかったりする。だからアクセスは直接ハードを操作するのではなく、メーカーのプログラムを経由しないとダメ! ってことになった。つまり初期のCDROMマシンにはOS…と呼べるほどではないが、ファイル管理だのCD制御だの…PCまがいの使い方が出来るように入れたグラフィックルーチンだの結構高級なシステムプログラムが搭載されることになり、それを経由せずにプログラムするのはまかりならんという話になった(PCエンジンではこれをBIOS、Basic Input Output Systemの略…と呼んだ。いわゆるシステムカードだ)。
だから、PCエンジンCDROMでは、マスターに書くことが結構増えてめんどくさくなった。

ところでCDROMではセーブできないのは当たり前だけど、これに一線を画そうとしていたのが任天堂だった。
もう20年近く昔の話だから時効ってことで書くと、任天堂のSFCに接続される予定だったCDROMアダプタでは、CDROMはカートリッジ方式になっていて、そこにバックアップRAMが積まれる、つまりカートリッジにセーブ可能な設計になっていた。
どうしてこんな事を知っているのかと言うと、幻となったCDROMアダプターに関する任天堂の技術説明会に出たからである。

この初期CDROMゲームマシンがさらに進んだのがPS1世代。
PS1は開発環境をC/C++に置き、ハードウェアはSCE謹製のライブラリを経由して操作し、直接操作を許さないことになった(後にこの制限は緩和される)。
結果としてPS1のゲームは「SCE製のライブラリ+メーカー製のプログラム」の形で出来上がり、ゲームプログラムはハードを操作するときゲームプログラム→SCE製のライブラリ→ハードウェアという構造を持つにいたった。
簡単に書いてしまえば、ゲームマシンがまあPCみたいな構造になり、PCみたいなゲームの書き方になったわけだ。
どうしてこんな風になったのかといえば、PS1世代(3DO・SSなど)はそれまでのゲームマシンと比較して桁違いに複雑なハードで、なんのサポートもなく一からプログラムを書いていたのではやってられなかったからだ。
動画展開用のデコーダだのジオメトリエンジン(GTE)だのGPUだの、複雑怪奇なVDPだのがあったり、CPUが2つあったりしたし、ソフトは2Dと3Dが入り混じるのが当たり前になり、テクスチャだの頂点カラーだの、ライティングだのが登場し、メモリカードを引っこ抜いて差し替えたり、ゲームが複数ディスクで構成されたり、ストリーミング(動画やデータをCDからプログラムを止めずに読み込むこと)が出来たりと、一つ前の世代と比較して、桁違いに複雑で*VideoControl=0xDEADFACE; なんてイチイチやってたら命がいくつあっても足りない。
それに開発環境は基本的に高級言語(サターンでもCが提供されていた。噂によると初期版はかなりエエエな出来だった)で当然ライブラリは供給しやすい。そしてハードを良く知ってるのはメーカーだ。
だから、ライブラリを作るのに一番向いてるのはメーカー…というわけで、メーカーがライブラリを提供するようになった。
ところが、こうなると
●ハードには相変わらずバージョンがあり(ライブラリが違いを吸収する<こと>になっていたが、現実は…)
●メーカーのライブラリもバージョンがあり(しかもメーカーのライブラリにも致命的なバグがあることも…)
●さらに開発機と実機の差が大きくなり(メモリ搭載量が全く違った)
●メモリーカード、コントローラなどの扱いがやたらと複雑化した。(抜き差しのプロセス自体が複雑)
ゲーム開発はとても面倒くさいことになり、マスター提出時に書かないといけないことも飛躍的に増えた。「ライブラリはバージョンいくつが使われていて、メモリカードはこんなんで、ストリーミング時のエラーはちゃんと処理してるか?」みたいな具合だ。
つまりだ、PS1世代で、メーカーがライブラリまで提供するようになったので、ソフトとハードのチェックが入り混じるようになり、その両面についてチェック事項のフォーマットをカッチリ決めたのがTRCだったということだ。
ところで、下らないトリビアを書くと、多分、僕は世界で一番TRCを提出した人間の1人なのは間違いない(正確にはそのグループの1人)。
というのもTRCは当然のことながら、付録CD/DVDにも適用されていた。
そして僕は、電撃プレイステーションD/PS2を約10年、本数にして約100本ちょっと作っている。つまり100回ほどTRCに関わっている。これに加えてPS1のゲームで3本、PS2のゲームで2本の計5本が追加されるので、110本近くのTRCに関わっている。
これに対抗できる人間は、多分世の中では、僕の同僚だった電撃PSDのデータ管理をしていたヤツだけだろうと思うw

LinkedIn にシェア
Pocket

3件のコメント

  • AGENT: Mozilla/5.0 (Windows NT 6.1; rv:2.0) Gecko/20100101 Firefox/4.0
    こんばんわ。
    MEGA-CDの場合、ROMカセットの延長で、「アドレスチェッカ」と呼ばれるハードを通してハード的な不正アクセスがないかどうかのダンプを添える必要がありましたが、いわゆるTRCに相当するものはありませんでした。SSは多少厳しくなりましたが、PSほどシステマチックではなかった記憶があります。(なにぶん10年以上前なので自分もうろ覚えですが)
    自分の場合パチンコ関係も経験してるので、「PSの提出書類がめんどい?OKOK,。保通協の資料出し代わってくれるならいくらでもやってやんよ」と冗談言ってたのは覚えていますw

  • AGENT: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0
    >もう20年近く昔の話だから時効ってことで書くと、任天堂のSFCに接続される予定だったCDROMアダプタでは、CDROMはカートリッジ方式になっていて
    この辺のくだりは当時のファミマガやファミ通にも載ってましたよ。
    特にファミマガは任天堂ハードの専門誌だったから、CDROMアダプタの鍵はコプロ次第だとか
    かなり細かくポイント別に突っ込んで解説してたような覚えがあります。
    それにしてもこれが発売されてたら後のゲーム業界は大きく変わってただろうなあ。

  • AGENT: Mozilla/5.0 (Windows NT 6.1; rv:2.0) Gecko/20100101 Firefox/4.0
    >> はちはち 様
    あー雑誌載ってましたか。まるで記憶になかったです。多分知ってることしか載ってないから気にしてなかったのでしょうw
    結構考えられたハードでしたから、発売されたらまた世界変わっていたと思います。
    >> DeltaDart 様
    前回のコメントにはコメントしてなかった。
    全くお久しぶりでございます。個人ブログもTwitterもやってますw
    このブログはどっちかというと、過去のゲーム業界の歴史的な資料…といっても、まあ自分の目からですが、見た資料をともかく保存する事を目的にしてる感じです。書くこと多くて、まだまだw
    MDについてありがとうございます。MDはちょっと手伝った事がある程度で、マスター出しはしたことなかったので、まるで知りませんでした。

コメントは現在停止中です。