[過去ログ] スーファミのプログラム (455レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
410(2): 2015/10/07(水)16:29 ID:K4N1xhG6(1)調 AAS
SFC聖剣3とかテイルズって大技使うと停止状態になるけど
ああいうのって停止せずリアルタイムでそのままバトル進行するのってSFCのスペックじゃ無理なの?
444: 2016/08/07(日)19:46 ID:BFS2eMZo(1/2)調 AAS
>>410 >>443
聖剣3やったことないけど
例え以下の制約を打破できたとしても、高度過ぎてやりたくないというのが本音だろう。
アセンブリ言語主流で、C言語すら使われていないだろうし。
スポットライトや空間に開いた穴みたいな効果を出すには、
BGに(全画面規模で?)、マスクだとかウインドウを転送しなきゃならないと思う。
画面を表示しながらVRAMに転送するには、
1回あたり垂直帰線期間(VBlank)の1ミリ秒間程度の短い時間内しかできない。
VBlank以外の最中に裏画面に描画して、表画面とすりかえるなんて、無理なはず。
演出に使うスプライトを展開しないといけないかもしれない。
2chスレ:gameurawaza
おおげさに書いたここまでの処理、たいしたことはない。1〜数フレームあれば完了するだろう。
ただ、この状況でプレーヤーに動かれたらプログラムは糞面倒になる。
演出のBGのスクロール値、すべての表示中のスプライトの座標を再計算することになるだろう。
美的な破綻や、アニメーションの管理も難しくなるだろう(敵が動いて当たってないじゃん!などの発生)。
乗除算すらまともにない最大3.58MHz動作のCPUだ。
プレーヤーが動くということは、マップの展開や転送、地形やイベントオブジェクトとの当たり判定、
敵の発生?(乱数など)、スプライトを画面外に追いやる処理なども発生する可能性がある。
445(1): 2016/08/07(日)19:46 ID:BFS2eMZo(2/2)調 AAS
>>410 >>443
それから地味に癌なのがサウンドまわり。
DSPを制御するサウンド側のCPU、S-SMP(SPC700) 。
これとメインプログラム側のCPU 、65C816の通信が糞で遅すぎる。
動作周波数の違うお互いがポーリングする形で通信だけに専念しないと、いい加減なプログラミング作法で通信するとフリーズするようで、
ACKみたいな応答信号も手動で送らなきゃならない。1バイト送るだけで結構クロックかかると思う。
そもそもバルク転送する前に相手が応答可能になるまで待たされる場合も。
RPGのカーソル音みたいによく鳴る短い音(のBRR波形)はサウンドのメモリ空間に常駐できるだろうけど、
楽音でない噪音の長い効果音なら、長めのサンプリング波形まるまる収録&転送しなきゃならないはず。
こんなにもたつくサウンド周りやりながら
画像関係VBlank開始を知らされ転送を開始する割り込みルーチンと並走できるか?
答えは知らないけど、今度はサウンドのストールや処理落ちの恐れがあるだろうな。
それから絵の演出と同期させて、効果音を鳴らす命令も送る必要があるはず(サウンドCPU側で制御するのは多分やりたくない)。
思い返せば、スーファミのソフトで、瞬時にBGMを切り替えられるゲームってないよな?
手持ちのサウンドテストあるやつは曲変える時に固まる。
ドラクエ3リメイク敵のエンカウントの瞬間にBGMを鳴らさずノイズ音でごまかしている、
FCより劣化してんじゃないよと子供の時に軽くキレた。
スーファミソフト起動時に各社ロゴを出すとか、暗い画面からゆっくり明転するとかで始まるけど、
これってサウンドの転送が遅いのをごまかしてるのかな?と最近思ってる。
いろいろ制約があるので、大技演出中にプレーヤーを動かさせるなんてとんでもないと、思うだろう。
止めて必要最小限だけ動かすのが賢いやりかた。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.027s