ファミコン版のスペースインベーダーについて、以下の質問をしました。
https://oshiete.goo.ne.jp/qa/13024125.html
Q ファミコンは水平に4キャラまでが限界。ではなぜインベーダーやギャラクシアンは移植できた?
https://oshiete.goo.ne.jp/qa/13029245.html
Q ファミコンのインベーダー。なぜ左右に動けるのか?
この2問の回答を総合しますと、以下のようになります。
スプライトをつかって描画しているのではない。だからスプライトの水平描画数限度とは関係なく、縦5列、横11列の隊列のインベーダーが描ける。
背景に描画したインベーダーが左右に動けるのは、背景そのものを動かしているから。
***
上記の回答があったとしても、なお疑問が残ります。
まず、インベーダーは縦5*横11の隊列全体が一斉に動くわけではありません。
左右に動くときは一番下の隊列から順に動いています。その証拠にスタートボタンでポーズを掛けると、下の列と上の列がほんの数ドットだけずれている場合があります。またこのようにわずかずつズレて移動するために、直進しかしないはずの砲台の弾が、下列の敵(タコ)に当たらずに上列の敵(カニ、イカ)に当たる場合がしばしば起こります。
また、隊列が端まで移動して、一段下がるときも、隊列全体が一度に降りるのではなく、最下段の左端の敵から一体ずつ一つ下段に下り、一列全体が下りると、二段目の左端の敵から一体ずつ順に一段下りる、という動作をしています。
これらの一体ずつの左右移動、一段下がりを見ますと、
「敵のキャラを背景に直接描画し、
その背景全体を左右に動かしているから、
敵の隊列が動いている様に見えるのだ」
という説明には今一つ物足りないものがあります。
どなたか、もう少し正確に詳しく説明していただけますでしょうか?
No.1ベストアンサー
- 回答日時:
こんにちは。
>背景に描画したインベーダーが左右に動けるのは、背景そのものを動か
>しているから。
背景に書き込みはしていますが、多分背景は動かしていません。背景を
書き込む時に動いた後のインベーダーの図形を書き込んでいる、と思い
ます。
背景って「画面より大きな紙」をイメージして下さい(大きな紙といっ
ても昔のハードの背景はそれほど大きいものではありません)。その紙
に好きな絵を書き込みます。インベーダーの動いている様子も意識して
書き込みます(残っている兵隊の移動、ポーズも全て考えて書き込みます)。
書き込み終えたら大きな紙の一部をテレビにうつします。
これをインベーダーだと時代的にインターレース表示かな、毎秒30枚書
き換えて、パラパラ漫画のように動いているように見せています(兵隊の
ポーズは30枚のコマをもっているわけじゃありません。4枚か8枚って
所じゃないでしょうか、なので兵隊によって時々書き換える、という形だ
と思います)。
当たり判定は30枚書き換えごとに実施していると思います(毎秒60割
り込み回ごとにやってるかもしれませんが、画面表示より厳格に判定す
るという考えは当時のゲームにはなかったんじゃないでしょうか)。各
兵隊の移動に若干のズレがあるために稀に上の段のインベーダーに弾が
あたるのです。
尚、インベーダーはいくつか有名なバグがありますが、兵隊の移動時の
残像が残るというのがありますが(昔のことなので何といっていたか失
念しています)あれは、「兵隊移動時にきれいに消すのを忘れた」とい
うものです。
背景自体(紙)を動かすことも可能です。ただインベーダーにおいては
意味がないと思いますよ。背景を動かすメリットは背景がスクロールし
ている時です(ギャラクシアンなんかも背景を動かしていないんじゃな
いですかね? ギャラクシアンでは背景に星が流れていますがあれは背
景での移動ではなく書き換えだと思います。ゼビウスの地面が上から下
に動く、とかですね)。画面更新ごとに背景を全部書き換えると負荷が
小さくなく、「今ここを表示してる」というカメラを移動させれば、テ
レビにうつる映像はスクロールしたように見えるのです。
ご回答ありがとうございます。
>背景に書き込みはしていますが、多分背景は動かしていません。背景を
書き込む時に動いた後のインベーダーの図形を書き込んでいる、と思い
ます。
背景スクロールはしていないんですね
No.3
- 回答日時:
>背景全体を左右に動かしている
それはギャラクシアンの場合ですね
ハードウェアスクロール機能を使って左右に移動させています
インベーダーの場合は右側のスコア表示されていますがこれも背景に書かれていると思います
ハードウェアスクロール機能を使うとスコア表示も一緒に移動してしまうので使えません
>下の列と上の列がほんの数ドットだけずれている場合があります
>隊列が端まで移動して、一段下がるときも、隊列全体が一度に降りるのではなく、最下段の左端の敵から一体ずつ一つ下段に下り、一列全体が下りると、二段目の左端の敵から一体ずつ順に一段下りる、という動作をしています。
その通りの動作だと思います
ズレているのはアーケード版インベーダーに近づけるようにわざわざそのようにプログラムしてるのかと
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- レトロゲーム ファミコンのインベーダー。なぜ左右に動けるのか? 1 2022/07/05 14:19
- レトロゲーム ファミコンは水平に4キャラまでが限界。ではなぜインベーダーやギャラクシアンは移植できた? 7 2022/07/02 13:28
- Word(ワード) Word2013 縦書き上下二段の表、改行を続けると次ページに情報が表示されるようにしたい 3 2022/06/16 09:24
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Illustrator(イラストレーター) 「頂点で線分を伸ばす」作業がうまく行かない。 1 2022/09/09 10:19
- その他(学校・勉強) 絵の描くのが下手な人、字を書くのが下手な人は記憶力が悪い? 7 2022/07/18 07:32
- Excel(エクセル) この記号、手短(テミジカ)に日本語/英語で何と称されますか? 1 2022/07/25 16:12
- JavaScript HTML&CSS Javascriptによる動的テーブル 1 2023/03/27 19:51
- その他(プログラミング・Web制作) エクセルVBA 3 2022/06/11 16:01
- Excel(エクセル) ある文字を含む際に、値を返す数式についてです 5 2022/08/28 16:58
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
人に借りて今も返していないモ...
-
スーパーファミコンの故障?
-
ファイアーエムブレム聖戦の系...
-
ゲームキューブで「NO DISK」...
-
テリーのワンダーランドのソフ...
-
カートリッジタイプのゲームソ...
-
『細菌撲滅』にハマっています;;
-
スーパーロードランナーって何...
-
PS2での終了の仕方・・・
-
2人同時プレイで楽しめるファミ...
-
ipadなどの総称
-
ドラクエⅢでの「はがねのムチ」...
-
レトロゲームの名前
-
ゲーム機のハードウェアーのス...
-
ゲームボーイアドバンスSPをTV...
-
FCソフト アスミック社の「コズ...
-
任天堂のファミコンで動作する...
-
思い出せないスーパーファミコ...
-
GBAを購入しました。GBAででき...
-
【至急】スーパーファミコンの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FC「さんまの名探偵」のパスワード
-
ファイアーエムブレム聖戦の系...
-
スーパーファミコンの故障?
-
ドラクエⅢでの「はがねのムチ」...
-
GBAを購入しました。GBAででき...
-
レトロゲームのソフトの収納ど...
-
ipadなどの総称
-
思い出せないスーパーファミコ...
-
FCソフト アスミック社の「コズ...
-
PS2での終了の仕方・・・
-
レトロゲームの名前
-
【至急】スーパーファミコンの...
-
Wiiって
-
幼児でも遊べるスーパーファミ...
-
任天堂スイッチの スーパーマリ...
-
NO MORE 映画泥棒が捕まった時...
-
ゲームタイトルが思い出せません
-
人に借りて今も返していないモ...
-
テリーのワンダーランドのソフ...
-
ゲームボーイアドバンスSPをTV...
おすすめ情報