Цитата Сообщение от Bedazzle Посмотреть сообщение
По поводу "супернеоптимальности" - один экран это 32х22 клетки, каждая клетка кодируется 3 битами. Это даёт 704 клетки в 264 байта + отдельно координаты человечков.
Цитата Сообщение от Bedazzle Посмотреть сообщение
Если таким же образом сувать 150 уровней, логично, что будет забита почти вся память, и под код не останется места
а если не таким же? например, я в своём компрессоре сделал так:

есть три возможных действия:
1) новое значение (здесь - трёхбитное)
2) скопировать слева
3) скопировать сверху

первое действие - всегда "новое значение", и далее кодируем:
0 - повторить прошлое действие (+ три бита для нового значения, если нужно)
10 и 11 - переключиться на одно из двух других (дальше 0 будет повторять уже его!)

для повторов еще можно RLE добавить, где будет выгодно

атрибуты большинства спековских картинок жмёт хорошо
тут должно еще лучше получаться: платформы, лестницы...
типичный уровень запросто ужмётся вдвое, а то и больше