可能性は無限! コンソールだけで「ギャルゲー」もいける!?:プチコンで始めるBASIC新世代育成“虎の穴”(3)(1/3 ページ)
当時のBASIC世代たちは、「スプライト」も「BG」もない環境でどうやってグラフィカルなプログラムを書いていたのか。公式Webサイトでおなじみの4人組と一緒に、「プチコンmkII」によるBASICプログラミングを学ぶ。
BASIC世代の武器はタフさとユーモア!?
前回は、80年代の2Dゲーム全盛期に大活躍した「スプライト」と「BG」、2つのグラフィックスモードについて学びました。マイコン世代のBASICではなかなか採用されず、フル機能ともなれば高根の花でした……。
では、当時、スプライトもBGもない環境でどうやってグラフィカルなリアルタイムのプログラムを書いていたのでしょうか?
BASICに夢中だった彼らの武器は、工夫とセンスと不屈の努力、いささかの諦念、そして、苦境を楽しむタフネスとユーモアでした。
まあ、結局のところ制限の多いBASICじゃなく、マシンのキャパシティーを最大限発揮できる『機械語』で書いたりしたんじゃがな。テヘッ。
オイオイ! 全てを台無しにする最悪のイントロだな!!
無論、機械語はハードルが高いので、初心者はBASICを使ったものじゃよ。初心者向け……いいことではないか。思えば前回、『スプライト』だの『BG』だの高級な機能の話をしたが……(ゴゴゴゴゴ……)。
ん?
あ、あんなもんはゼイタクじゃろうがー!
……。
コンソールの可能性は無限なのじゃ! 譲っても『グラフィックス命令』で何とかするところまでじゃ!
う、ウゼエ……。マジでウゼエ……。
世代的にスプライトやBGに恵まれなかったハカセの良くない一面を刺激してしまったようだね。もっとも、『グラフィックス命令』と聞いても、正直ボクらにはピンとこないんだけど……。
そうじゃな。プチコンの仕様では、図1の『グラフィック面』レイヤーで使う機能全般が『グラフィックス命令』だと思ってくれい。そして、その特徴は“座標を使ったビットマップ描画”にあるといえるじゃろう。例えば、プチコンではこんな命令があるぞ。
GLINE 始点x, 始点y, 終点x, 終点y [ ,色 ]
引数だらけじゃが、大体の雰囲気は分かるじゃろ? 『GLINE 0,0,256,192,15』と書けば、画面の(x0、y0)から(x256、y192)に15番のカラーで線を引くことになるのじゃ。
フン! どれもBASICらしくストレートな命令だぜ。しかし……、この命令の組み合わせでゲームやらのグラフィックスを描くのはツラくねェか?
じゃが昔のアドベンチャーゲームなんかは、よくこんな方法で絵を描いていたものじゃよ。
い、いろんな意味で時代を感じるゼ……。
確かに、この点情報を増やせば増やすほど細かいグラフィックスにはなるよね。座標情報の集合で絵にするという点で、ベクターグラフィックスの考えに似てると言えなくもないのかも……。イヤ、そうでもないか。
究極的には、巨大なドット絵を描くように1ピクセルずつ色情報を持たせて、そのデータ圧縮までを自家製でやるのじゃが。
な、なるほど。簡単なところから、すごく大変そうなところまでいろいろなんだね……。
それにしてもコレ、リアルタイムでは動かしづらいんじゃねェの?
ウーム。基本的には『描いては消し、消しては描く』ことになるのう。そのために矩形範囲の『コピー&ペースト命令(プチコンでは“GCOPY”命令)』を持つマシンもあったほどじゃ。“高速化の戦い”になるので腕の見せどころじゃし、プチコンの処理速度が威力を発揮する場面でもあるのじゃが。まあ……、スプライトで簡単にできることを無理にグラフィックス命令で再現せんでも……という感はあるかのう。
……さっきから疑問だったんですが、グラフィックス命令を使わなくてもBGとスプライトで大抵の描画処理はカバーできてしまうのでは……?
!!!!
Copyright © ITmedia, Inc. All Rights Reserved.