ポリゴンによる 3D 空間の描画が出来なかった時代に、画面の奥に向かって進行するゲームを開発するには、いくつかの手法がありました。
そのひとつに水平同期割り込み時に VRAM の読み取り位置を書き換えることによる変形処理で擬似的な 3D 表示を行っているものがあり、自分がすぐに思い浮かぶのはスペースハリアーだったりします。
というわけで、スペースハリアーの床(ラスター処理に渡すための画像)を描画するプログラムを作成してみました。
# -*- coding: utf-8 -*- ## # ----------------------------------------------------------------- import(s) import Image, ImageDraw # ------------------------------------------------------------------ param(s) IMAGE_W = 512 IMAGE_H = IMAGE_W >> 1 IMAGE_HALF_W = IMAGE_W >> 1 IMAGE_LINE_W = IMAGE_W >> 4 RENDER_COUNT = IMAGE_W IMAGE_H_ADJUST = -4 COLOR_0 = "#000000" COLOR_1 = "#FFFFFF" # --------------------------------------------------------------- function(s) # =========================================================================== ## # @brief x # # @param [in] oCDraw x # def render_image(oCDraw): for c in range(RENDER_COUNT): if(c & 1): strColor_0 = COLOR_0 strColor_1 = COLOR_1 else: strColor_0 = COLOR_1 strColor_1 = COLOR_0 for n in range(IMAGE_LINE_W): nX = (IMAGE_LINE_W * c ) + n oCDraw.line( ( (IMAGE_HALF_W, IMAGE_H_ADJUST), (IMAGE_HALF_W + nX, IMAGE_H) ), fill=strColor_0 ) oCDraw.line( ( (IMAGE_HALF_W, IMAGE_H_ADJUST), (IMAGE_HALF_W - nX, IMAGE_H) ), fill=strColor_1 ) # =========================================================================== ## # def main(): oCImage = Image.new("RGB", (IMAGE_W, IMAGE_H), "white") oCDraw = ImageDraw.Draw(oCImage) render_image(oCDraw) strFilename = "export_w%04d_h%04d.png" % (IMAGE_W, IMAGE_H) oCImage.save(strFilename, "PNG") if(__name__ == "__main__"): main() # --------------------------------------------------------------------- [EOF]
PIL で線を引いているだけのプログラムなんですけどね。
実行すると以下のような画像が生成されます。

スペースハリアーは、 512×256 ドットのデータを内部に保持しているようですので、 IMAGE_W には 512 を指定すると、もっともそれっぽいデータが作成されます。
このデータを使用して擬似 3D な空間を表現するには、ラインごとにポリゴンを分割しなければなりませんが、細長い画像にしてしまえば javascript なんかでも描画出来るかも。