連載
» 2013年02月07日 08時30分 公開

「おっさんたちよ、これが現代のBASICだ。」――再びギャル降臨、ただし80年代風な!プチコンで始めるBASIC新世代育成“虎の穴”(10)(2/3 ページ)

[スマイルブーム マイコン部,MONOist]

古典的なCG技法の原理

 昔ながらの「マイコン」による2DCGというのは、おおむねこのようなものでした。連載第3回「可能性は無限! コンソールだけで『ギャルゲー』もいける!?」でもちらっと話が出ましたね。

 時代が進みツールが整備され、技術が向上するにしたがい、こういう手法も古くなっていくのですが、古典的なCG技法の原理を以下でご覧ください。


x、y座標による無数の点情報 画像5 x、y座標による無数の点情報

GLINE命令による線で結ぶとこうなります 画像6 GLINE命令による線で結んでいくとこうなります

線だけにした状態。もうお分かりですね 画像7 線だけにした状態。もうお分かりですね

 こういう座標の集合でできているのは、ここで見られるいわゆる「主線」に限りません。塗りの陰影の境界線にも使われています。

境界線を含めた線画。線の色は後から塗りつぶす色に準じています 画像8 境界線を含めた線画。線の色は後から塗りつぶす色に準じています

見やすく境界線の色を赤に統一してみるとこんな感じに 画像9 見やすく境界線の色を赤に統一してみるとこんな感じに

 後は色を塗るだけですが、当然、色も座標で指定されます。

ここから線の境界まで塗りつぶす、という座標点 画像10 ここから線の境界まで塗りつぶす、という座標点

塗りつぶした結果と点を合成 画像11 塗りつぶした結果と点を合成

 線が微妙に交差するような位置では、線で囲まれた小さな「すき間」が生まれてしまうので、塗り残しがないように細かく点を打っていくことになります。これが一番大変だったりして……。特にプチコンの場合、1画面は256×192ドットと意外に低解像度。ライン同士の干渉も多いのは泣き所ですね。

ハカセ

このグラフィックス部分だけをまとめたソースコードがこちらじゃ。



>>ソースコード全体をテキストで確認[ソースコード3]


神崎

うわぁ……。


ハカセ

見ての通り、大半は点情報じゃな。昔ながらの方法でいちいち数字で入力した担当者は『地獄のようでした……』と振り返っておる。


インテリ

あえて手間の掛かる方法を使う意味はないのでは……。


ハカセ(涙)

キミらはそう言うがの! 昔はこういうリストがマイコン誌に掲載され、それを読者は、1文字1文字ミスしないように気を付けながら手打ちしていったのじゃよ! ほとんど数字の羅列じゃから論理的なプログラムを写すよりもはるかに退屈でシンドイのじゃ!! それが今では……。


QR2-1QR2-2 「そう、これを読み取るだけで大丈夫です!」。左(1枚目)・右(2枚目)の順に読み込み、続けて以下のQRコードも同様に読み込んでください

QR2-3QR2-4 左(3枚目)・右(4枚目)

ワンパク

ナンだかなあ……。


ハカセ

後に、こういうライン&ペイント方式から離れ、いわば巨大なドット絵を打つように細かく描くのが普通になっていったのじゃ。ツールの充実あってのことじゃろうが、中にはほとんど手作業で何とかしていた猛者もいたというから恐ろしいのう。


神崎

解像度や色数もどんどん向上していったわけだしね。1枚絵ごと圧縮する方法も……。


インテリ

そういえば、この画像もプチコンならグラフィックスリソースとして保存も読み込みもできるのでは?


ハカセ

あっ。



Copyright © ITmedia, Inc. All Rights Reserved.