ストリートファイター2:紙シートで構成されたスプライト
(fabiensanglard.net)-
過去のゲーム機はタイルベースでスプライトを描画しており、CPS-1は16x16タイルだった。つまり、1人のキャラクターを描くには16x16タイルを組み合わせて描く必要があった。
-
問題は、当時はROMサイズが価格の問題で制限されており、タイルを自由に描き込むことができなかったこと。そのため、アートチームに割り当てられるメモリも非常に厳しかった。ストリートファイター2に割り当てられたのは約4.6 MiBで、これを効率的に使わなければならなかった。
-
そこで導入されたのが「紙シート」。メモリマップを書き込んだシート上に16x16のタイルを配置し、実際のメモリマップに割り当てるのと似た形でタイルを描き込めるようにした。
-
これによってアート部門がどのように作業していたのかを示すサンプル画像群。 (ぜひ原文を読んでみてください!)
-
メモリを極力無駄にできなかったため、CPS-1の機能まで活用して描けるよう、隙間なく詰め込んでいたのがポイント。
2件のコメント
昔のゲームのメモリマップといえば、下の動画を思い出します。
https://www.youtube.com/watch?v=FPzuYWbnln4
『スーパーマリオランド2』では、マップタイルのひとつひとつがメモリアドレスひとつに対応していて、いくつかのトリックを使って通常のマップの外に出たあとでタイルを壊したりすると、ゲームのメモリ値を変更できるそうです。
そのため、通常のマップ外のタイルに触れてメモリを操作することを、スピードランで活用することもあるそうです。
昔のゲームの最適化って、やっぱり面白いですよね。
以前に興味があって、YouTube動画をいくつか集めておきました。
https://black7375.tumblr.com/post/663908279732289536/