
ガンヘッド、というより先攻例としてスターソルジャーは、背景に星が流れてるでしょ。限られたリソース内で結構大変な事してるなあと思ってたけど、実はそれをうまく折り合わせる手法があったりする。
2014-11-19 12:33:09
ファミコンのスプライトは全部で64枚。そしてMSXやメガドラみたいな「エンドマーク」の概念がないので、64枚分を管理する必要がある。使わない分は消さないといけない。
2014-11-19 12:33:21
ファミコンの場合、消したいならY座標を画面外にする(はず。他の方法を私は知らない)これは必ずやらなきゃいけない。たとえば50枚表示している状態から、30枚に減ったら20枚分はきっちり消しておかないと画面にゴミが残る。
2014-11-19 12:33:29
で、ガンヘッドを作る時に教えて貰ったのが、この「不要なスプライトを消す」処理を、消す代わりに背景に流れる星にしてしまうという手。これは目からうろこで、実にうまいやり方。
2014-11-19 12:33:38
スプライトの優先順位は後ろの方が低いので、星によって手前の物が消される事もないし、水平制限で消えるのもまず星から。スプライト枚数が足りなくなる事もない。画面に出てくるものが増えると星が減るだけだから。
2014-11-19 12:33:46
確かに言われてみると、スターソルジャーで敵がわらわら出てくると、すうっと背景の星が減っていく。でもユーザーが見てるのは敵であって星じゃないので、何の支障もない。
2014-11-19 12:33:55野沢さん→スターソルジャーのメインプログラマ、野沢勝広氏の事。

@jeminilog 中本さんじゃないかな。スターフォースでもう実装されてるっぽいので。
2014-11-19 12:35:30中本さん→スターフォース(ファミコン移植)のメインプログラマ、中本伸一氏の事。

@snapwith という訳で、ガンヘッド(スターソルジャー)の背景の星の多重スクロールっぽい奴の元ネタは、当時のハドソンの中本さん(らしい)という話でした。スターフォースも確認しなくちゃ。
2014-11-19 12:41:32
@jeminilog スターフォースの移植は中本さんだけなんで、そこらへんはほぼ間違いないかと。
2014-11-19 12:42:11
@snapwith 当時のアーケードゲームの基盤には「背景に星を流す回路」があったという話を聞いた事があるんですが、それの再現のために捻りだした技術だったのかもしれませんね。
2014-11-19 12:44:46
@jeminilog 僕が聞いた限りではそれは本当です。星を流す回路が入っていたそうです。
2014-11-19 12:45:06
@jeminilog ダライアスのプログラマやってた長谷川健さんから聞きましたw
2014-11-19 12:47:01
@jeminilog 建さんはダライアスが最後で、他にもいろいろタイトーで作っておられたので、まあ星回路は一般的なものだったのだと思います。
2014-11-19 12:54:06
@snapwith 私が星回路の事を聞いたのは、ナムコの話の文脈だったので、星を出す回路は(中身は違えど)何社もが自前のを持っていた、とかなんでしょうね、たぶん。(それだけ当時は宇宙っぽい背景が多かったとも?)
2014-11-19 13:05:25