- 521 名前:Dr. Juicy ◆PIev8nwW8c mailto:sage [2009/03/12(木) 21:33:27 ID:nInAcUCt]
- さて、結局PCで2Dドット絵ゲーム作るなら、画像は非圧縮のままVRAMにおくしか手は無さそうです。
んじゃ、>>514さんからご指摘のあったように、FCではどうやってんだよ!? という話になります。 (ここから怪しさに拍車が掛かる) FCやSFCの場合、VRAMはPCなんかよりももっともっと小さいです。 1MBも無かったはずです。 FC等ではとりあえず画像サイズを小さくするために、最初の方に出てきたパレット形式を採用しました。 しかも、グラフィックチップもパレットカラーのまま処理するものを採用することで、 (というか、安価なチップは当時パレット形式だけだったのかも、) VRAMにもパレット形式のままのデータを置く事ができました。 これによって24bitフルカラーのデータをVRAMに置くよりはかなり節約できました。 しかもFCはパレット数を16までにすることで、1ドットあたり4bit(2dotで1byte)となり、さらに小さくなっています。 54色使えるはずのFCなのに同時発色が16色までというのは、ここの1dotあたり4bitから来ている制限なんですね。 SFCでは1dotあたり1byte(8bit)としたことで、同時発色が増えてカラフルになりました。 ところが、これだけではVRAM不足は全然解決しません。 そこで、FC等のコンシューマ機の取った戦法は、メインメモリ<-->VRAM間の転送速度を ものすごく速くすることで、VRAMへのデータ転送による処理落ちを防いだのです。 逆に言えば、1フレーム(60FPSなら16ミリ秒)の間にデータ転送できる量のスプライトしか 使わせないハード仕様にするということもあったかもしれません。 (スプライト数の制限には他にももっと重要な要因があるので突っ込まないでください) もう一つ細かい点を言えば、一枚のスプライトのサイズを8*8dotに制限することで、 素材画像中の無駄な空白を作らない、という点も上げられます。 今だと1キャラクターを64*64dotごと区切って書いたりしますが、隙間って結構あるでしょ? あれを8*8dot単位で全部削り取れば、半分かそれ以下のサイズになると思います。 もちろん、これを今の時代に行うのはナンセンスすぎるのでやめておきましょう。
|

|