2017-01-14 Sat [ 昔のこと::古の技術 ]
1988年に初めてプロとしてハドソンでゲームを作れることになったとき、ハドソンではゲームを作るときデータ圧縮をするのが当たり前だった。
テキスト、グラフィック、マップ…ともかく圧縮できるものは全て圧縮するのが当たり前だった。
で「ウチは圧縮するのが当たり前になっているから、他よりゲーム規模が大きく出来てお得感があると思うんだよね」と(少々自慢気に)飛田さんが話していた。
確かにファミコン最初期の『ロードランナー』からして、普通に作ったのでは絶対に入らないはず(APPLEIIのディスク前提のゲーム、つまり128KBあるはずのものを16KBに移植している)なので、入れるためにはデータ圧縮になるよなあと思う。
だから、そこらへんの移植の経験から圧縮するようになったのだろうと想像していたのだけど、どうしてコレを始めたのかについての本当の理由がわからなくて、facebookでそこらへんを始めた頭目っぽい飛田さんと野沢さんに聞いたトコロ、答えがわかったので、メモ書き代わりに残しておく。
まず、技術的な話から始めると、当時ハドソンで使われていた圧縮の系列は2つあった。
一つがテキストの圧縮に使われていたhuffman。もうひとつがlzss。
huffmanは出現頻度に応じて長さの違うビットコードを割り当てることで圧縮する方法で、lzssはいわゆるスライド辞書法だ。
では、この二つをどうして使うようになったのか?
続きを読む▽
テキスト、グラフィック、マップ…ともかく圧縮できるものは全て圧縮するのが当たり前だった。
で「ウチは圧縮するのが当たり前になっているから、他よりゲーム規模が大きく出来てお得感があると思うんだよね」と(少々自慢気に)飛田さんが話していた。
確かにファミコン最初期の『ロードランナー』からして、普通に作ったのでは絶対に入らないはず(APPLEIIのディスク前提のゲーム、つまり128KBあるはずのものを16KBに移植している)なので、入れるためにはデータ圧縮になるよなあと思う。
だから、そこらへんの移植の経験から圧縮するようになったのだろうと想像していたのだけど、どうしてコレを始めたのかについての本当の理由がわからなくて、facebookでそこらへんを始めた頭目っぽい飛田さんと野沢さんに聞いたトコロ、答えがわかったので、メモ書き代わりに残しておく。
まず、技術的な話から始めると、当時ハドソンで使われていた圧縮の系列は2つあった。
一つがテキストの圧縮に使われていたhuffman。もうひとつがlzss。
huffmanは出現頻度に応じて長さの違うビットコードを割り当てることで圧縮する方法で、lzssはいわゆるスライド辞書法だ。
では、この二つをどうして使うようになったのか?
続きを読む▽