Статья разбирает, как разработчики старых игр обходили жёсткие технические ограничения — в первую очередь по памяти и скорости чтения/записи.
Экономия памяти на графике
Классический приём — максимальное переиспользование ресурсов:
- Super Mario Bros. — облака и кусты используют один и тот же спрайт, отличаясь только палитрой. Это снижало объём графических данных.
- Во многих играх эпохи 8–16 бит активно переиспользовались тайлы и спрайты, чтобы уложиться в крошечные объёмы видеопамяти.
Фейковый параллакс и визуальные трюки
При отсутствии аппаратной поддержки параллакса разработчики имитировали его:
- Sword Master и Metal Storm (экшен-платформеры на NES) создавали иллюзию многослойного фона за счёт хитрой работы со спрайтами и покадрового сдвига пикселей.
- Такие эффекты давали ощущение «дорогой» графики без реальных дополнительных слоёв.
«Кража» памяти из других подсистем
Когда выделенной под конкретные данные памяти не хватало, разработчики использовали нетипичные области:
- Использование звукового буфера для хранения текстур или других данных, если это позволяло выкроить несколько килобайт.
- В одном из ранних Call of Duty часть данных анимации была спрятана в таблице строк, чтобы обойти лимит памяти, отведённой под анимации.
Стриминг уровней вместо полной загрузки
Самый радикальный пример — решение проблемы нехватки ОЗУ на оригинальной PlayStation:
- В Crash Bandicoot (платформер для PS1) Энди Гэвин реализовал сложный стриминг данных уровней.
- Вместо загрузки всего уровня в память игра подгружала его по кускам во время прохождения.
- Это позволило создавать большие и детализированные уровни, которые физически не помещались бы целиком в доступную RAM.
Автор подчёркивает, что такие истории — пример менталитета «сделать, чтобы работало любой ценой», характерного для разработчиков тех лет.
Выводы
- Главная проблема старых консолей — жёсткие лимиты памяти и скорости чтения/записи.
- Ресурсы максимально переиспользовались (одни и те же спрайты, палитры, тайлы).
- Сложные визуальные эффекты (параллакс и др.) часто были чистой иллюзией, построенной на трюках со спрайтами.
- Разработчики нередко «воровали» память у других подсистем (звук, строки) для хранения нужных данных.
- Стриминг контента по частям (как в Crash Bandicoot) позволял обходить жёсткие ограничения ОЗУ.
Факт-чекинг
Статья прошла проверку. Фактологических ошибок не выявили.
Упомянутые игры