О, да. С учётом того что номера тайлов семибитные -- да и в описаниях комнат тоже всё в 7 битах, то напрашивается канонический ход -- кодировать команду "повторить предыдущий байт" как 0x80 +n, что сразу даёт изрядный выигрыш. Плюс применить шаблонирование -- незачем копировать стенки 72 раза, они всё равно почти одинаковые. Кодировать только дельту от шаблона.
А некоторые комнаты вообще не сжаты, например 64 и 68. Почему -- неясно.
И с монстрами да предметами печаль.
Собственно, когда я об этом думаю, то сразу вспоминается спектрумовская The Bard's Tale, с её ошеломляющим монстрятником в 127 видов! С атрибутами, заклинаниями, и даже картинками! Страшненькими, но все же.
Столько, может, и не надо, но с 32 байтами (допустим) на объект мы можем себе позволить эдак десятка три объектов и десяток монстров. Это вполне нормально, В Betrayal at Krondor меньше и того, и другого, а игра отличная получилась.
Главное -- не запихивать каждый чих в код, он от этого разрастается очень резво. Таблички, какой-нибудь байтовый интерпретатор -- всё это очень сильно помогает.
Да, это я тоже заметил. Хорошо хоть, оно по размеру -- всего ничего.





Ответить с цитированием