プロが教える店舗&オフィスのセキュリティ対策術

ファミコン版のスペースインベーダーについて、以下の質問をしました。
https://oshiete.goo.ne.jp/qa/13024125.html
Q ファミコンは水平に4キャラまでが限界。ではなぜインベーダーやギャラクシアンは移植できた?

https://oshiete.goo.ne.jp/qa/13029245.html
Q ファミコンのインベーダー。なぜ左右に動けるのか?

この2問の回答を総合しますと、以下のようになります。
スプライトをつかって描画しているのではない。だからスプライトの水平描画数限度とは関係なく、縦5列、横11列の隊列のインベーダーが描ける。
背景に描画したインベーダーが左右に動けるのは、背景そのものを動かしているから。

***
上記の回答があったとしても、なお疑問が残ります。
まず、インベーダーは縦5*横11の隊列全体が一斉に動くわけではありません。
左右に動くときは一番下の隊列から順に動いています。その証拠にスタートボタンでポーズを掛けると、下の列と上の列がほんの数ドットだけずれている場合があります。またこのようにわずかずつズレて移動するために、直進しかしないはずの砲台の弾が、下列の敵(タコ)に当たらずに上列の敵(カニ、イカ)に当たる場合がしばしば起こります。

また、隊列が端まで移動して、一段下がるときも、隊列全体が一度に降りるのではなく、最下段の左端の敵から一体ずつ一つ下段に下り、一列全体が下りると、二段目の左端の敵から一体ずつ順に一段下りる、という動作をしています。

これらの一体ずつの左右移動、一段下がりを見ますと、
「敵のキャラを背景に直接描画し、
 その背景全体を左右に動かしているから、
 敵の隊列が動いている様に見えるのだ」
という説明には今一つ物足りないものがあります。

どなたか、もう少し正確に詳しく説明していただけますでしょうか?

教えて!goo グレード

A 回答 (3件)

こんにちは。



>背景に描画したインベーダーが左右に動けるのは、背景そのものを動か
>しているから。

背景に書き込みはしていますが、多分背景は動かしていません。背景を
書き込む時に動いた後のインベーダーの図形を書き込んでいる、と思い
ます。

背景って「画面より大きな紙」をイメージして下さい(大きな紙といっ
ても昔のハードの背景はそれほど大きいものではありません)。その紙
に好きな絵を書き込みます。インベーダーの動いている様子も意識して
書き込みます(残っている兵隊の移動、ポーズも全て考えて書き込みます)。

書き込み終えたら大きな紙の一部をテレビにうつします。

これをインベーダーだと時代的にインターレース表示かな、毎秒30枚書
き換えて、パラパラ漫画のように動いているように見せています(兵隊の
ポーズは30枚のコマをもっているわけじゃありません。4枚か8枚って
所じゃないでしょうか、なので兵隊によって時々書き換える、という形だ
と思います)。

当たり判定は30枚書き換えごとに実施していると思います(毎秒60割
り込み回ごとにやってるかもしれませんが、画面表示より厳格に判定す
るという考えは当時のゲームにはなかったんじゃないでしょうか)。各
兵隊の移動に若干のズレがあるために稀に上の段のインベーダーに弾が
あたるのです。

尚、インベーダーはいくつか有名なバグがありますが、兵隊の移動時の
残像が残るというのがありますが(昔のことなので何といっていたか失
念しています)あれは、「兵隊移動時にきれいに消すのを忘れた」とい
うものです。

背景自体(紙)を動かすことも可能です。ただインベーダーにおいては
意味がないと思いますよ。背景を動かすメリットは背景がスクロールし
ている時です(ギャラクシアンなんかも背景を動かしていないんじゃな
いですかね? ギャラクシアンでは背景に星が流れていますがあれは背
景での移動ではなく書き換えだと思います。ゼビウスの地面が上から下
に動く、とかですね)。画面更新ごとに背景を全部書き換えると負荷が
小さくなく、「今ここを表示してる」というカメラを移動させれば、テ
レビにうつる映像はスクロールしたように見えるのです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>背景に書き込みはしていますが、多分背景は動かしていません。背景を
書き込む時に動いた後のインベーダーの図形を書き込んでいる、と思い
ます。


背景スクロールはしていないんですね

お礼日時:2022/07/13 13:06

>背景全体を左右に動かしている



それはギャラクシアンの場合ですね
ハードウェアスクロール機能を使って左右に移動させています

インベーダーの場合は右側のスコア表示されていますがこれも背景に書かれていると思います
ハードウェアスクロール機能を使うとスコア表示も一緒に移動してしまうので使えません


>下の列と上の列がほんの数ドットだけずれている場合があります
>隊列が端まで移動して、一段下がるときも、隊列全体が一度に降りるのではなく、最下段の左端の敵から一体ずつ一つ下段に下り、一列全体が下りると、二段目の左端の敵から一体ずつ順に一段下りる、という動作をしています。

その通りの動作だと思います
ズレているのはアーケード版インベーダーに近づけるようにわざわざそのようにプログラムしてるのかと
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2022/07/13 13:09

背景のプレーンがいくつかあり、一つを表示している間に他を描画して順番に表示だったんじゃないかな。

    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2022/07/13 13:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング