Talk:Level compression: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(Created page with "Some additional kind of level compressions: * Huffed RLE, used in <i>Attribute Zone</i> (which also stores compressed level data in CHR ROM, to take advantage of the PPU auto-...")
 
m (NovaSquirrel moved page User talk:NovaSquirrel/Level Compression to Talk:Level compression: The page has developed enough to be a good resource that I think belongs in the main namespace)
(No difference)

Revision as of 22:33, 4 December 2018

Some additional kind of level compressions:

  • Huffed RLE, used in Attribute Zone (which also stores compressed level data in CHR ROM, to take advantage of the PPU auto-increment). The compression program takes an input file which specifies which kind of tiles that RLE should be applied to. For the other tiles, RLE is not applied.
  • Predictive coding, with preprocessing if applicable. This is a huffed Markov chain. Unreachable areas may be filled with walls during the preprocessing step, in order to reduce the number of Huffman codes so that the codes can be made shorter. In cases where only one tile makes sense, that tile is encoded using zero bits.
  • Preprocessing like described above can be applied even without predictive coding, if this would allow shorter Huffman codes to be used, or longer runs.
  • Rotated/flipped level data. In some cases for some games, it may make sense that a preprocessor might rotate or flip the level data if that would improve compression.
  • If using RLE, boustrophedon might help compression in some cases. For example, see the first screen of Town of ZZT. Boustrophedon would group together the blue parts near the bank, would group together the yellow parts near the armory, etc.

--Zzo38 (talk) 22:07, 4 November 2017 (MDT)