Noah Petherbridge
c7a3c7a797
* Add documentation for the game's file formats and RLE encoding * Remove the never-used GridType Chunk Accessor constant
3.9 KiB
3.9 KiB
RLE Encoding for Levels
This documents some of the file size savings of the game's built-in levelpacks and doodads once the file format was migrated to use Run Length Encoding (RLE) for drawing chunks.
See Evolution of File Formats for a history of the game's file formats.
Levels
The file sizes of the levels themselves:
First Quest
Filename | Orig Size | New Size | Reduction |
---|---|---|---|
Boat.level | 4.3M | 292K | 93% |
Castle.level | 5.6M | 241K | 95% |
Desert-1of2.level | 4.4M | 248K | 94% |
Desert-2of2.level | 3.2M | 290K | 91% |
Jungle.level | 11M | 581K | 94% |
Shapeshifter.level | 22M | 263K | 98% |
Thief 1.level | 538K | 193K | 64% |
In raw bytes:
Filename | Orig Size | New Size |
---|---|---|
Boat.level | 4494184 | 298943 |
Castle.level | 5854222 | 245872 |
Desert-1of2.level | 4589382 | 253768 |
Desert-2of2.level | 3310784 | 296681 |
Jungle.level | 10928779 | 594601 |
Shapeshifter.level | 22823811 | 269307 |
Thief 1.level | 550579 | 196731 |
The levelpack ZIP:
- Filename: builtin-100-FirstQuest.levelpack
- Original: 50M (52369408)
- New size: 1.8M (1838542) 96%
Tutorial
Filename | Orig Size | New Size | Reduction |
---|---|---|---|
Tutorial 1.level | 186K | 111K | 40% |
Tutorial 2.level | 680K | 229K | 66% |
Tutorial 3.level | 409K | 148K | 64% |
Tutorial 4.level | 901K | 376K | 58% |
Tutorial 5.level | 3M | 645K | 78% |
Zoo.level | 2.8M | 226K | 92% |
In raw bytes:
Filename | Orig Size | New Size |
---|---|---|
Tutorial 1.level | 190171 | 113568 |
Tutorial 2.level | 695936 | 233880 |
Tutorial 3.level | 418490 | 150565 |
Tutorial 4.level | 921781 | 384775 |
Tutorial 5.level | 3059902 | 659487 |
Zoo.level | 2925633 | 230712 |
The levelpack ZIP:
- Filename: builtin-Tutorial.levelpack
- Original: 7.8M (8119658)
- New size: 1.6M (1650381) 79%
Azulian Tag
Filename | Orig Size | New Size | Reduction |
---|---|---|---|
AzulianTag-Forest.level | 17M | 312K | 98% |
AzulianTag-Night.level | 702K | 145K | 79% |
AzulianTag-Tutorial.level | 3.4M | 185K | 94% |
In raw bytes:
Filename | Orig Size | New Size |
---|---|---|
AzulianTag-Forest.level | 17662031 | 318547 |
AzulianTag-Night.level | 718345 | 147612 |
AzulianTag-Tutorial.level | 3508093 | 189310 |
The levelpack ZIP:
- Filename: builtin-200-AzulianTag.levelpack
- Original: 21M (21824441)
- New size: 525K (537345) 97%
Doodads
Spot check of random doodad filesize changes:
Filename | Orig Size | New Size |
---|---|---|
anvil.doodad | 2.7K | 1.3K |
azu-blu.doodad | 8.1K | 5.2K |
azu-red.doodad | 8.1K | 5.2K |
azu-white.doodad | 8.1K | 5.2K |
box.doodad | 29K | 4.1K |
boy.doodad | 30K | 8.1K |
crumbly-floor.doodad | 15K | 3.3K |
door-blue.doodad | 18K | 2.7K |
electric-trapdoor.doodad | 9.5K | 2.8K |
Total file size of all builtin doodads:
- Original: 576.8 KiB
- New: 153.7 KiB (73% reduction)
Game Binary
- Filename: sketchymaze
- Original: 105M
- New size: 30M, 71% smaller