ファミコンのプログラム4 (567レス)
上下前次1-新
472: 名前は開発中のものです。 [sage] 2017/12/27(水) 02:36:16.68 ID:QYUKoYbX(3/5) AAS
僕のツール「FDS2MMC3」
473: 名前は開発中のものです。 [sage] 2017/12/27(水) 02:40:33.32 ID:QYUKoYbX(4/5) AAS
NGワード判定で書けないので関連リンク
2chスレ:gameurawaza
2chスレ:gameurawaza
474: 名前は開発中のものです。 [sage] 2017/12/27(水) 02:43:50.45 ID:QYUKoYbX(5/5) AAS
FDSラブ@世田谷最強ファミコンコレクタ (@FDS_Conversion)'
475: 名前は開発中のものです。 [] 2017/12/31(日) 18:24:45.05 ID:/rN76OKL(1) AAS
簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
9WHJ0HLWTF
476: 名前は開発中のものです。 [] 2018/01/02(火) 22:10:24.29 ID:slJhAaJH(1) AAS
ほす
477: 名前は開発中のものです。 [] 2018/01/16(火) 06:49:08.11 ID:J/0RzKgi(1) AAS
2chスレ:software
191 名前:名無しさん@お腹いっぱい。[] 投稿日:2017/05/28(日) 23:24:05.12 ID:8S5QOMSD0
>>190190(1): 名前は開発中のものです。 [sage] 2014/04/23(水) 20:09:45.06 ID:yop1NMPn(1) AAS
この現象で分った事。
パレットの04 08 0Cは00とは別の値を格納できるが、実用上何も使われていないと言う事(合ってるよね?)。
Mesen (100%) ≧ Bizhawk (100%) > puNES (98.08%) > MyNes (87.82%) > Nintendulator (85.26%) > VirtuaNES (35.26%) > nesterJ (29.49%)
外部リンク[html]:tasvideos.org
外部リンク:emulation.gametechwiki.com
外部リンク:www.mesen.ca
478(1): 名前は開発中のものです。 [sage] 2018/01/19(金) 00:29:11.92 ID:VhnRMljT(1/3) AAS
ファミコンはBGとスプライトの優先順位の指定をスプライト側で設定しますが
これだとスプライトの下に表示したいBGキャラと
スプライトの上に表示したいBGキャラが隣接している場合で
スプライトがその両方にまたがっている場合に
スプライトの上に表示したいキャラに差し掛かった時点でスプライトの
優先表示を変えてしまうと、スプライトの下に表示したいBGキャラの部分でも
BGキャラが上に表示されてしまうと思いますが、どういう処理をすればいいですか?
色々とVDPの仕様を調べると、セガマークIIIなどは、優先順位のフラグをBG側が
持っているので、何も考えなくても思った通りの優先順位で表示されそうですが
ファミコンのようにスプライト側で優先順位を持っていると、優先順位が逆のBGに
スプライトがまたがっている場合、どうしたらいいか分かりません。
479(1): 名前は開発中のものです。 [sage] 2018/01/19(金) 03:13:04.92 ID:KfOVG5Sv(1/2) AAS
パターン1
表示したいスプライトより優先度が高いスプライトをBGの裏においてマスクする
例)スーパーマリオの土管に入るときなど
パターン2
BGの後ろにしたいところに優先度の高いスプライトを8枚置き、8枚を越える
スプライトが出せない事を利用して目的のスプライトを消す
例)ゼルダのダンジョンなど
パターン3
表示したいスプライトのキャラそのものをBGデータに重なっているところだけ透過
したキャラに書き換える
例)ソルスティス/ナイトロアーなど
好きなの選んで
480(1): 名前は開発中のものです。 [sage] 2018/01/19(金) 13:00:25.60 ID:VhnRMljT(2/3) AAS
>>479
ありがとうございます。そういった感じの解決法なんですね。
でも、なんだかスプライト側が優先順位のフラグを持っているのは
面倒な気もするのですが、スーファミでも変わらず同じ仕様のようですし
何かメリットがあるのですか?
BG側が優先順位のフラグを持っていれば、BGキャラを表示する時点で
フラグを設定する以外の事はしなくても済みますので、この方が便利で
合理的に感じます。
ところがスプライト側がフラグを持っている場合、スプライトキャラが移動するたびに
BGキャラとの重なりチェックをしなければならず、そのBGキャラがスプライトの上に
表示されるべきBGキャラならばフラグを設定し、そうでなければまたフラグを戻すといった
処理がキャラを移動するたびに発生します。しかも、上記のように
優先順位が逆のBGキャラをまたいでいる場合は、様々な工夫が必要です。
それにもかかわらず、スーファミでもこの仕様を継承したということは
この方法にもメリットがあるはずですが、さっぱり思いつきません。
481(1): 名前は開発中のものです。 [sage] 2018/01/19(金) 16:13:46.37 ID:k1Q0LT6K(1) AAS
BGにフラグをもたせるメモリの空きなどないしハードウェアも複雑になる
描写位置に合わせて処理が必要になるスプライト側に機能を集約させることで単純化し
工業製品として価格が抑えられるなら十分なメリットになるだろ
スーファミは当初ファミコンのソフトがそのまま動かせるように
互換性を考慮した設計だったが途中で諦めたからその名残
482(1): 名前は開発中のものです。 [sage] 2018/01/19(金) 22:43:04.95 ID:KfOVG5Sv(2/2) AAS
>>480
出来る事出来ない事がそれぞれで違って一長一短ある
BG2枚以上ならスプライト側のほうが何かと便利かな
483(1): 名前は開発中のものです。 [sage] 2018/01/19(金) 23:52:01.21 ID:VhnRMljT(3/3) AAS
>>481
ファミコンはVRAMが2KBしかないので
よく考えたらそうですね、パレットですら4キャラで1つに
節約してるくらいですし。
何かソフトウェア技術的なメリットがあるのかと思って
ここ3か月くらいずっと考えてたんですけど、思いつかなかったもので
ここで聞いてみました。
>>482
スプライト側がフラグを持った方がいい場合もあるのですか?
自分はまったく思いつかないのですが・・・。
スプライト側がフラグを持つと、プログラマ側が色々な処理を
しなければならず面倒ですけど、BG側がフラグを持ってくれると
プログラマは何もしなくてよくてメリットしかないように思います。
484(2): 名前は開発中のものです。 [sage] 2018/01/20(土) 04:11:54.78 ID:B+xNcX3y(1) AAS
>>483
BGにフラグの場合はスプライトより上にしたBGよりスプライトを
上にする事が不可能になる
今更そんなメリットデメリットを議論したところで変わらないから
工夫して使うしかないよ
485(1): 名前は開発中のものです。 [sage] 2018/01/20(土) 13:13:58.39 ID:z5GTrIKv(1) AAS
ようやく>>478氏の内容が理解できた。
なんで優先度をそんなコロコロ変えるのか全く理解できなかったが、マリオの土管の事か。
ああいうのは、本来別の最前面スプライトやBG面を2毎持たせて前面のBG面?としてやるものだと思いますが。
BG=背景なんだから、それを基準(固定して)にするのが普通の考えだと思う。
486: 名前は開発中のものです。 [sage] 2018/01/20(土) 16:39:03.41 ID:xRcWre4I(1/7) AAS
>>484
おお、なるほど。そこは思いつきませんでした。
確かに今更仕様について考えても意味ないんですけど
どうも気になってしまって。
>>485
この仕様を考えるきっかけになったのが、立体交差の橋を
くぐるという処理なんですけど、橋の下に入るときに、スプライトは
1ドット単位で動くので、どのタイミングで優先順位を切り替えたら
いいかと悩んだのが原因でして。
橋に1ドットでもくぐった瞬間に切り替えると、その手前の地面のBGも
上になってしまうのでキャラが半分消えておかしくなるし、完全に8キャラ分橋の下に
移動してから切り替えると、その8ドットが動く間はキャラが橋の上に表示されて
しまうので。
487: 名前は開発中のものです。 [sage] 2018/01/20(土) 16:50:55.67 ID:xRcWre4I(2/7) AAS
そう言えばイースの立体交差はどうだったろうと思って
調べてみたら、ファミコン版はそもそも立体交差が省略されて
無くなっていたという。
RPGで森に入ると下半身が隠れるというのも同じような処理ですけど
ハイドライドではよく見てみると、森から出るときとか地面のBGがキャラの上になってしまってますね。
速いからよく分からないけど、ちゃんと処理してると思ったら思い出補正だったようで。
ファイナルファンタジーだとキャラがきれいに矩形に消えてるので
BGを上にしてるんじゃなくて、単にスプライト消してるだっけっぽいですね。
488: 名前は開発中のものです。 [sage] 2018/01/20(土) 17:03:49.81 ID:xRcWre4I(3/7) AAS
結局の所、1ドット単位で動くキャラに対して上に何かを
表示したい場合、1キャラ分動き終わった場合は別として
移動中はスプライトで上書きしかないのですね。
さっき動画で見たんですけど、カラテカでキャラが柱の向こう側を
通る時も、柱にスプライトのマスクが出現する処理でした。
だとすると、このBGがスプライトの上に表示できるという仕様は
移動するキャラに対して使用するような想定では作られていないということか。
根本的にそこの理解が足りなかった。
489: 名前は開発中のものです。 [sage] 2018/01/20(土) 17:20:16.21 ID:xRcWre4I(4/7) AAS
あ、念のために書いておくと、立体交差の橋というのは
下が透ける部分(透明色)があって、そこからはスプライトキャラが見えます。
完全にキャラが見えなくなってしまうのであれば、それこそスプライトのマスクで
済むので。
490: 名前は開発中のものです。 [sage] 2018/01/20(土) 19:11:23.32 ID:xRcWre4I(5/7) AAS
なんか連続で書いて申し訳ないですけど、>>484さんが
教えてくれた利点は結構大きいな。
これができないとスーマリ3とかのBGの裏側に回った時に
自キャラだけ裏側でってのが出来なくなる。
491(1): 名前は開発中のものです。 [sage] 2018/01/20(土) 19:15:39.26 ID:1nTTD0qr(1) AAS
BGパレットの0番が背景色だから
スプライトのプライオリティビットを立てると
この部分が透過扱いになるのよ
492: 名前は開発中のものです。 [sage] 2018/01/20(土) 19:36:10.53 ID:xRcWre4I(6/7) AAS
>>491
その仕様はもちろん理解しています。
ファミコンはBG・スプライトにかかわらず
パレットの0番色は強制透過色ですよね。
493: 名前は開発中のものです。 [sage] 2018/01/20(土) 19:52:33.42 ID:xRcWre4I(7/7) AAS
説明が下手過ぎて何か勘違いさせてしまったかもしれません。
透過色の原理は理解してます。
まあ簡単に書くと、表示優先順位が逆のBGキャラをスプライトがまたいでいる時
つまり移動中は優先順位をどう指定しても表示がおかしくなるので
BGと同じスプライトを自キャラスプライトに上書きするしかなさそうだな
面倒だなこれ、BGがフラグ持ってくれてたらこの処理いらないのになぁ
なんでスプライト側がフラグ持ってるんだろ?これ何か利点あるの?ってのが
出発点でした。
494: 名前は開発中のものです。 [sage] 2018/02/17(土) 07:40:03.31 ID:G/oBdhuK(1) AAS
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
495: 名前は開発中のものです。 [sage] 2018/03/14(水) 20:42:38.17 ID:FRWoB0DI(1) AAS
背景とスプライトのプライオリティってセガマーク3なら問題なくできるの?
画像リンク
画像リンク
496: 名前は開発中のものです。 [] 2018/05/11(金) 20:43:57.64 ID:DZaU1iTw(1) AAS
動画リンク[YouTube]
上下前次1-新書関写板覧索設栞歴
あと 71 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.014s