PCエンジン総合スレッド Part85 (104レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

63
(2): 09/20(土)16:29 ID:KIg/igil(1/7) AAS
狙い弾のお話

256方向だと一番端から端で±3ドットくらいズレるので判定が超小さい場合はすり抜けはあるかな?
512方向だとかなり正確に当たるね

けれど、そこまで正確なことは実際には必要なくて、二点間の角度を出すだけならレーダー法って言ってるルゴリズム使うと256バイトもあれシフトと加減算だけでばすごく正確に狙い打てますよ(その1/4サイズのテーブルでもそれなりに実用的)

1)画面サイズが256x240だとして、画面を16x16サイズに分割する(すると全画面が16x15=240のマスに分かれる)
2)それぞれのマスに左下から見て今のマスの目がどの角度にあたるか格納しておく
 (オセロや将棋ではなく囲碁をイメージ)
3)演算する二点の差の絶対値を計算する(AX,AYとし、1で用意したテーブルの範囲を超える場合はクリッピング)
4)AXとAYを16で割る(シフト演算)AY*16+AXの位置のレーダーテーブルを引く
  (つまりテーブルのインデックスをTIとすると TI=(AX>>4)&0fh + AY&0f0h)
省8
64: 09/20(土)16:32 ID:KIg/igil(2/7) AAS
>>25
こうしたいのよね?
最初に DX=(MX-TX)/DS, DY=(MY-TY)/DS を計算、その後毎フレーム DX,DY だけ移動

それやるとどの地点でも一定時間で到達するすごく不自然な処理になりますよ
ボスの特殊攻撃としてならありかもしれないけれど

>>52
8bit機だと12:4、11:5、10:6 の固定小数点だね、88シリーズなどで右にステータス表示した縱シューの場合は6:2とかでも結構悪くない動きになるよ

納得できないのでしたら実際に当時の画面サイズで試してみるといいですよ。
65
(1): 09/20(土)16:32 ID:KIg/igil(3/7) AAS
レースゲームのお話

アウトランが実際どのような内部処理なのかは解析しないと不明ですので、ジッピーレースのような2D上スクロールドライブゲームと同じであると決めつけるべきではありませんよ(そういう作りの後ろ視点ドライブゲームもそれなりにあるのは確かではありますが)
具体的な処理は鈴木さん(作った人、当人のお話は先に紹介したインタビューの通り)やM2の中の人(移植の際に解析してる、るつぼの人もかな?)なら具体的にご存じかもしれませんね。
66
(1): 09/20(土)16:34 ID:KIg/igil(4/7) AAS
グレースケールモードのお話

コンポジット信号は色の種類を2値で表してそれに輝度信号が合わさってカラー表示してるの。
(色の信号は細かい輝度信号の動きに畳み込んでいるのでモノクロテレビでも映る仕組み)
PCエンジンのグレースケールはこのコンポジット信号から色情報にあたる細かい輝度の差分を取り除いた信号を出す機能なんだけど、よく考えてみて?
RGBで、#00F(青) #F00(赤) #0F0(緑)だと緑が一番明るくって青が一番暗く見えるでしょ?
そう、人の目に明るく見えるかどうかは色にも左右されるんです
つまり色の種別ごとに重みがあるんです

RGB色空間からI(輝度)空間へのマッピングは色んな計算式があるけど、人の目に合わせた式の一つが I = ->(r,g,b){ 0.2126r*r + 0.7152r*g + 0.0722r*b } です、式を見るとどの係数も単純な倍数関係を持ちません
実際に RGB それぞれ 8階調を入力するとすべてのRGBの組み合わせて異なり輝度値が得られます、即ち512色のどれも同じ明るさの色は一つもないのですよね=グレースケールにすると512種類の異なる明るさが得られることになります
(物言いの多さにちょっとびっくりしました……、色毎に明るさに対する重みが違うって意外とわからないものなんですね、デジタルカラーに触れているような世代なら感覚的に把握されている気もするのですが)
67: 09/20(土)16:43 ID:KIg/igil(5/7) AAS
そうそう、>>63はそのまま適用すると実は0/90/180/270度の付近が若干不審になります
実際には半マスズレた形で適用するのですが、概念の説明だと単純にシフトだけして象限分けすると言った方が分かりやすいんですよね
実際に利用する際はその点ご注意ください
87: 09/20(土)23:26 ID:KIg/igil(6/7) AAS
>>68
ではAC版初代ゼビウスで16方向以外に動くスパリオがどのシーンであるかご教示お願いします
思い込みで話していたのではなく、例外をご存じなので否定されたのなら出来る話ですよね?

>>71
前スレで引用したファミ通インタビュー以上のことは私は存じません
2chスレ:retro2

AC版制作者鈴木氏の言われる「内部的にはすべて3Dの計算をしています」のすべてがどの範囲を想定しているか次第ですが、内部的に立体なコースをラスター表現で摸擬することは可能です(勿論コースの進行方向以外の傾きは表現できないのであくまでも摸擬でしかありませんが元データが強いバンクのついたカーブのようなものでない限り問題はありませんし、その場合恐らくそのようなコースデーターにもなっていないでしょう)
「全て」が自車・お邪魔カー・路肩の物体の位置だけで挙動については対象外の可能性も勿論あるのですが、同じ速度のインベタとアウトベタのタイムが変わるかどうかを確認できればどこまで真面目に計算しているか推測する手掛かりにはなるでしょうね
(私はレースゲームやるとすぐクラッシュするほど下手なので、その検証のお役には立てませんが……どなたかTASさんで検証されてる方がおられると良いのですが)
88: 09/20(土)23:37 ID:KIg/igil(7/7) AAS
>>79
内部処理がLookUpTableであれマクロ−リン展開であれ三角関数には変わりないのですが……
9801の32ビットマシンで16:16固定小数点のLUT atan方式の場合、弾数十程度で60fpsが崩れる頃はありませんでした(描画負荷に比べれば誤差レベル)

元記事は8ビット時代の話で速度が出ないと言われているのはsin/cosでなくsqrtですが、当時のマシンであれを真面目に計算させたらそれは時間がかかるでしょうし、sinもLUTでなければ大変でしょうね
……まさかマクローリン展開でないと三角関数でないとか仰りませんよね?

>>78
デジタル制御のディスプレイの場合は制御ICの性能以上は出せないのでそこで頭打ちになって256段階に制限されそうなので、ブラウン管ディスプレイでないと確認はできないでしょうね(ベストはモノクロのディスプレイ)

>>81
非アナログのディスプレイは前述の理由によりクリッピングされてしまうのでそこはご注意を
(もちろん8階調以上になることくらいはそれでも十分に確認できるでしょうね)
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s