今号のメニュー 「MUSICランダムコーナー」音楽データの取り込み方 「ビデオゲームのプログラミング」コンシューマ機での演出 「お知らせ」会員全員にアンケート協力 「雑談コーナー」関西のTV番組 「札幌新名所」sapporo factory いよいよ春がやってきました。暖かくなるのはいいものの雪がとけて道路 がぐちゃぐちゃになり、車はドロドロになるので道路が乾くまで洗車しても 無駄なのです。いよいよ4月、新年度がはじまります。情報誌SAVEもい よいよ大詰め、一生懸命がんばります。 <MUSICランダムコーナー> SAVEの企画は無責任でむちゃくちゃだと言われますが、まさにそのと うりです。企画のほとんどが企画倒れになってしまいます。その原因としては、 ・製作する時間がない ・ハード、ソフト的に無理 以上の2点があります。しかし、実際取り組んでみて途中で行き詰まった ものもいくつかあります。そのうちの一つが、FM音源カートリッジ発音数 増加プログラムです。これは実際FM音源かカートリッジを所有している人 が少ないのでつくっても無駄だということであきらめました。また、完成し たとおもいきや、直前のバグで行き詰まったものにRS232Cボードがあ ります。あれは非常に惜しかった。解析は出来、パーツも揃え、試作品も完 成したのだが、うまく送信できない。具体的に、変な文字が受信されてくる。 2台の66SRをならべてもうまくいかなかった。製作はここまででストッ プしてしまった。 何はともあれ、本題に入ります。今回は市販ソフトの音楽データの取り込 み方を紹介します。大体のP6ソフトはまず、IPLプログラムがロードさ れ、そのあとマシン語がロードされます。始まるとBASICには戻れなく なってしまうので、マシン語ロード終了後、実行を止めなければなりません。 しかし、止めるといってもロード終了と同時にSTOPキーで止めるのはほ ぼ不可能です。そこで、次の2通りが考えられます。 @機械語ロードルーチン(EXEC○○○○)の後、STOPコマンドを入れる A機械語ロードルーチンを書き換える @の場合、例えばI/Oフォーマットの場合、ロードルーチンの後にメイ ンプログラムがEXECされるので、その前にSTOPコマンドにより中断 される。しかし、@の場合はあまりなく、Aの場合の方が実際は多く使われ ている。Aの場合はロード終了後、メインプログラムを実行するコマンドが すでに入っているのでそこを書き換えます。具体的には、IPLデータの最 後の方でC3 xx xx となっているはずなので、そのC3をC9に書き換えれば大体は止まります。 中には止まらないものがありますが、その場合はIPLの領域を変更すれば 多少改善されます。プログラムが止まるとモニタでアスキーダンプしてそれ らしい場所を抜き出せばよいのです。けっこういい加減ですが、これしか方 法はありません。しかし、ドアドアmk2のように独自のドライバによって 制御されていると、どうしようもありません。 応用として、DISKBASICにしておけば、マシン語領域をBSAV Eすることでディスクに落とす事ができます。 P6関連MUSICで知りたい事があればお知らせください。できる限り 答えたいと思います。 <ビデオゲームのプログラミング> 第4回、コンシューマ機での演出 By かえる とある新作ゲームの締切に追われ、発狂寸前のかえるです。今回はコンシ ューマ機(家庭用ゲーム機)でのさまざまな演出を紹介していきたいと思い ます。 ここで、この連載を読んでくださっている数少ない(泣)SAVEの会員 の方は、前回のタイトルは「ビデオゲームの演出 その1」だったじゃない か、その2はどうなったんだと思われることでしょう。そのへんの事情は今 号のSAVEのどこかに書いていると思います。うう…(涙)。 ビデオゲームの演出なんて、専用チップの機能を使えば良いものです。機 能の限られたコンシューマ機のテクニックこそ紹介する価値があるというも のでしょう(超開き直り)。 業務用ビデオゲーム基板とコンシューマ機での大きな性能的な差とは何で しょうか。CPUに関して言えば、メガドライブは16ビットの68000、 一方ビデオゲームでもその主流は68000ですから、ほとんど差はありま せん。(少しメガドライブの方がクロックが低い) 色数に関しても、スーパーファミコンとビデオゲームではほとんど差はあ りません。回転面もスーパーファミコンがもっていますし、最近ではスーパ ーFXチップによってスーパーファミコンでもポリゴンを利用したゲームが できるようになりました。メガドライブでも、カートリッジ内に専用チップ を積んだポリゴンのゲームが開発されているようです。音源に関しても、ス ーパーファミコンではPCM音源が利用できますし、CD−ROMによる本 格的な音楽となるとむしろビデオゲームを越えている程です。 こうしてみると、現在では業務用とコンシューマの差はほとんどないよう に感じられます。実際、上に挙げたような差はゲームを制作する側(プレイ する側でなく)にとっては大した問題でないのです。色数、音数の差などは ゲーム性を再現する上でほとんど意味のないものです。 制作する側からみた両者のもっとも大きな違い、それは「同時に表示でき るキャラクタ数」です。これは、表示可能なスプライト数のことを言ってい るのではありません。より正確な表現をするなら、「同時に扱えるキャラク タ数」と言うべきでしょう。 ここでまず、ビデオゲーム基板とコンシューマ機の構造を説明しなければ なりません。ビデオゲームの基板には、数多くのROMが載っていますが、 これらはほとんどの場合、プログラムROM、キャラクタROM、サウンド ROMというように、用途によって完全に分かれています(実際はもっと細 かく分かれる)。そしてそれらは、プログラムROMならCPUのみがアク セス可能で、その他のROMはそれぞれビデオLSI、サウンドLSIのみ がアクセスできる、というように完全に分業化されています。これによって 多くの絵や音を容易に扱うことができるのです。 一方、コンシューマ機の方は、ソフトがROMカートリッジの形で供給さ れますが、カートリッジ内には1個ないし2個のROMが入っているだけで、 それ自体はプログラムやキャラクタといった区別はありません。ではどうや って絵や音を出力しているかというと、コンシューマ機本体内にそれらLS Iがアクセス可能なRAMを用意しておき、そこにカートリッジ内の絵や音 のデータ部分をプログラムによって転送してやるのです。 RAMは高価であるため、このような方式では同じ量の絵や音を出すには ROMと比べてといもコストがかかります。コンシューマ機はどうしても安 価に作らざるを得なくなるため、どうしても制限が多くなってしまい、結果 としてビデオゲームよりも扱えるキャラクタ数が少なくなるのです。 キャラクタを定義するためのRAM部分をCG(キャラクタジェネレータ) と呼びますが、この容量が多くなると当然多くのキャラクタを定義できる( =扱える)わけです。具体的にどのくらいかというと、8×8ドットを1キ ャラとして、メガドライブで2048キャラ(800Hキャラ)、ファミコ ンではわずかに256キャラ(100Hキャラ)しかありません。これでは、 例えばひらがな、カタカナを全部定義してしまえば、もうそれだけで全容量 の半分近く食ってしまう、と言えばその少なさがわかるでしょう。メガドラ イブの2048キャラと言うのも、最近のビジュアル豊富なゲームを作るに あたってはまったく充分な数ではありません。ROM容量がどれだけあって も関係ないのです。 さあ、ここからが本題です。コンシューマ機のプログラミングでは、この キャラ数の少なさをカバーするため、さまざまなテクニックが生み出された のです。 まず、モード毎のキャラ転送。ここで言うモードとはタイトル画面表示中で あるとか、ゲーム中であるといったプログラムの実行状態を示します。この モード毎に、そこで使うキャラクタだけを転送して使うのです。これによっ て見かけ上、より多くのキャラを表示できるようになります。面が変わった ときにも同様です。このようなときは、画面が変わるときに一瞬画面が真っ 暗になるので分かります。もっとも、この方法では結局同時に扱えるキャラ 数という壁を打ち破ったとは言えません。この壁を打破するテクニックとし て、毎インターキャラジェ不転送という技があります。つまり、垂直帰線期 間を利用して処理毎にCGを書き換えてやるのです。この方式が使えるのは 主人公、ボスキャラなどといった必ず画面に一つしか出ないキャラクタです。 例えば、主人公が32×32ドットの大きさとすれば、主人公用に4×4= 16キャラのCGを確保して、主人公の動きに応じたグラフィックパターン を転送してやればよいのです(画面に複数出てくる敵キャラでは、それぞれ が違う動きをする可能性があるため、この方式は使えません。全パターンを 定義しておきます)。 もちろん、一回の垂直帰線期間で転送できるキャラ数には限度があるので (数十キャラ程度)、大きなものを書き換えたりするときはうまく分散され る工夫が必要です。 この方式は背景等の演出にも有効です。例えば、RPGのマップ等でよく 使われる水面などはキャラジェネ転送でアニメーションさせてやればVRA M書き換えより楽に画面全体を書き換えられます。 キャラジェネによるキャラクタ定義方式は、量的な少なさが欠点で、それ を補うやり方がいままで挙げたテクニックですが、CGがRAMであるとい うことを利用したさまざまなテクニックが開発されています。 ・モザイク処理…………………キャラクタをROMからCGに転 送する際に、1ドットを1ドット として転送するのではなく、例え ばROM上の2ドット平方を埋め ると1キャラ8×8のキャラが荒 い4×4ドットで表示される。文 章で書くとややこしいですが、想 像がつくでしょう。 ・回転、拡大、縮小……………ROM上のパターンを計算によっ て回転、拡大、縮小させてCGに 転送する。PCエンジンやメガド ライブ等でこのテクニックがよく 使われるようになりました。 ・ポリゴン、ワイヤフレーム…画面上に順に異なるキャラクタコ ードのキャラクタを並べておくと、 そこは実質的にはフルグラフィッ クのビットマップ面と見なせます。 そこに描画を行うことによって、 ポリゴンなども表現できるのです。 ・多重スクロール………………本来なら1面しかないスクロール 面に置いたキャラクタにキャラジ ェネ上で別のキャラを重ねてやる ことによって、疑似的に多重スク ロールが可能です。 ビデオゲーム基板では機能が豊富な分、きっちり固定されているのでこのよ うな工夫をする余地がありません(する必要もないが)。 コンシューマ機でも、ソフトでの工夫によって、もっとすごいことができる 可能性があるのです。結局、ソフトが大切、というごく当たり前の結論になる のでした。 次回は、「ビデオゲームができるまで」ということで、実際の作業、スケジ ュールなど紹介したいと思います。 質問コーナー Q.ファミコンやPCエンジンなどで2M、4Mと書かれていますが、これは どういう意味なのでしょうか。 A.使用されているROM容量です。ROMというのは1チップが256Kb it(キロビット)とか4Mbit(メガビット)というふうに、ビット数で 区別します。ちなみに1Mビット=20000H=128kbyte(キロバ イト)です。 Q.TVゲームには必ずと言っていいほど裏技がありますが、あればどうなっ て考えるのでしょうか。また、なぜすぐに発見されるのでしょうか。 A.裏技の代表例として、面セレクトや無敵などといった隠しコマンドがあり ます。これは、開発中にはなくてはならないものです(最終面のデバックなど わざわざ1面からはじめてたどりつく訳にはいきませんからね)。コマンドに は暗号的な操作を必要とするのですが、これらは開発者の電話番号や誕生日、 そのたどうでもいいものだったりするわけです。これらは開発が終わると取る のが普通ですが、わざと残しておく場合も多くあります(特にコンシューマ)。 なぜなら、そういったコマンドが発見されると、旬を過ぎたソフトがもう一度 雑誌に取り上げられるからです(汚い大人の世界)。なぜ発見されるかという と、開発者がバラしているからです。う〜ん、大人って汚いですね。ちなみに、 私は自分のゲームに隠しを入れるのは好きです。 <お知らせ> SAVEでは、30号達成を記念号を発行するに当たり、会員のみなさま全 員にアンケートを行い、その中で「P6と私」というテーマで原稿を書いてい ただきたいと思います(原稿用紙1枚程度)。今回付属の返送用封筒にアンケ ートと原稿を同封の上、4月30日までに返送してください。会員のみなさん のご協力をお願いします。 <雑談コーナー> ・4月です。年の新年は1月ですが、社会の新年は4月です。入学式や入社式 が相次いで行われ、新しい人生の出発点でもあります。いったい、だれがこの 時期を選んだのでしょうか。北海道は雪が解けて春になる季節なのでよい雰囲 気ですが、あまり四季がみられない沖縄ではどう思っているのでしょうか。(代表) ・今回は大阪制作のTV番組の紹介をしましょう。といっても私の見るのはほ とんど深夜だけですが。まず、他の地方で有名なものからいくと「鶴瓶・上岡 パペポTV」、これは東京でもやっているそうですが、全国かどうかは知りま せん。笑福亭鶴瓶と上岡龍太郎が雑談をする、というだけなのですが、めちゃ くちゃにおもしろい。もう6年も続いています。次に挙げるのが「探偵!ナイ トスクープ」。最近全国放送になったそうですが、関西では夜11:30ごろ からの番組なのに視聴率が27%というまさにおばけ番組です。関西の若手芸 人が視聴者からの依頼を調査するというものです。それから「ざこば鶴瓶らく ごのご」というのがあります。これは落語の三題噺というもので、客席からお 題をもらってゲストがそのうち3つを選びその3つの言葉を含んだ落語を笑福 亭鶴瓶と桂ざこばが即興でやるというものです。他にも「テレビのツボ」とか 「たかじんのnoばあー」とか「あどりぶランド」とかあるのですが続きは次 回にしましょう。(6819) SAVE:「パペポTV」は昔(3年くらい前)北海道でもやってましたが、 今はやってません。「らくごのご」は、現在日曜日の24:36から放送して います。みなさんもこういったTV番組情報をどんどんお知らせください。ち なみに、今、再放送でルパン3世やトムとジェリーを放送しているところがあ りましたらSAVEまでお知らせください。 <札幌新名所> 今回は札幌のこの春新しくできた建物を2つ紹介します。1つは、「サッポ ロファクトリー」です。これは、サッポロビールが出資した建物で、サッポロ ビール旧工場跡地に建てられたもので、ショッピングや娯楽施設、大ホールま である1つの街といったところでしょうか。札幌駅からシャトルバスが運行し ています。4月9日のオープンです。また、4月1日から茨戸公園内にある「 札幌テルメ」の横に、「テルメインターナショナルホテル」がオープンしまし た。これは、札幌市内では初の本格的リゾートホテルです。都心部から少し離 れていますが(10キロ位)、とてもりっぱなものです。また、今後は札幌市 立病院が別の場所に移転しますし、北海道警察の庁舎も新規移転されまして、 大きな建物が徐々につくられます。札幌の街もこうやってどんどん大きくなっ ていくのです。 編 集 後 記 ・今回は忙しかったため、量が少なかったですが、次回の30号では内容盛り だくさんでお送りします。お楽しみに。(代表) ・SAVE30号記念号は5月下旬発行予定です。 SAVEアンケート(30号用) 会員 名前 1.これまでに情報誌SAVEを読んできて印象はどうでしたか。 A.よい B.普通 C.悪い 2.SAVEで得たP6に関する情報は何でしたか。具体的に書いてください 3.SAVEの各サービスは今後も利用する予定はありますか。 A.利用する B.利用しない C.わからない 4.情報誌SAVEを今後とも続けて欲しいですか A.続けて欲しい B.この辺でよいだろう C.どちらでも 5.今まででいちばん印象に残ったSAVEの記事を1つ挙げてください。 6.いままで数々の未完成な企画がありましたが、ぜひやってほしかった企 画を1つあげてください(SAVEで取り上げなかったものも含む)。 7.現在、P6を使っていますか。 A.使っている B.ときどき使っている C.使ってない 8.今後、P6を使う予定はありますか。 A.ある B.ない C.分からない 9.これまでのSAVEに対するご意見、ご感想などありましたらお書きください。 協力ありがとうございました。別紙の原稿もご協力お願いします。