正直日記



2008/01/05

_ BGマップを極めたい(2)
体重とチップ
チップが類似していることを判別するアルゴリズムはどうしたかというと……
……
続く。(多分続きません)
勝手に続きを書く。
というわけで、続きを書かれていてビビった。すごいビビった。せっかくなので 自分の取った方法も書いておこうかしら。 16x16のチップを上下左右反転したパターンでそれぞれCRCをとり、逐一線形検索 をし、ヒットしなければstd:vectorに突っ込みそのままindexにするという、至極 愚直な戦略を取りました。 CRC32を選んだのは、4bitインデクスカラーで縦横のsumを取ると全然関係ないパ ターンに誤爆しそうな気がしたのと(もちろん気がしただけでテストしてない)、 比較が一瞬なのと、あとCRCそのものとは関係ないけど上下左右で取っておけば比 較に引っかかったときHVFLIPパラメータも一緒に得られて楽だったから、という。 sumと比較した上でCRCを取るという戦略を取ればよかったのかな。 類似に関しては自分としてはOPTPiXのキャラクタ圧縮相当の機能を想定していた のだけど…… それで結局どうしたかというと…… …… 人力で調整してカバーしたという。(すんませんこんなオチで)
_ 更にvcount割り込むる
BG1枚を複数の用途で使うために、VCOUNT割り込みを複数任意の位置で発生でき
るようにする。

最初は、割り込み先をラッパーで包んで分岐しようかと思ったけど、スプライト
ダブラの転送開始タイミングが結構シビアなので、ダブラの方で割り込みタイミ
ングとジャンプテーブルを管理することにした。

これでモンスターワールドIVの1画面多重スクロールとか、シャドウオブザ(中
略)と同じことが出来るようになったんだぜ。こーいうことをやるとラインバッ
ファなゲーム機を触っているという実感が凄く沸いて嬉しいし、楽しいのだった。

最新
2010 | 01 04
2009 | 01 02 03 04 05 06 07 09 10 11 12
2008 | 01 02 03 04 05 06 07 08 09 10 11 12
2007 | 02 03 04 05 06 07 08 10 11 12
2006 | 01 02 03 04 05 06 07 08 09 10 11 12
2005 | 01 02 03 04 05 06 07 08 09 10 11 12