17.04.2025 09:13

Как старые игры 90-х заставляли компьютеры делать невозможное

Сегодня, чтобы запустить современную игру, требуется видеокарта за тысячу долларов, минимум 16 гигабайт оперативной памяти и SSD-шка, которая грузит уровни быстрее, чем вы успеете моргнуть. А в 90-х? Компьютеры с 4 мегабайтами ОЗУ, процессором на 66 МГц и жёстким диском, в который с трудом помещался один фильм. Но именно на этих машинах запускались легендарные Doom, Quake, Warcraft, Dune, и многие другие — и делали это вполне уверенно. Как им это удавалось? Разработчики 90-х творили настоящее волшебство — и об этом стоит вспомнить.

Без видеокарт — но с математикой

В 90-х ни о каком полноценном 3D-ускорении речи не шло. Графику отрисовывал не GPU (его просто не было), а процессор. И он справлялся. Возьмите, к примеру, Doom (1993). На вид — полноценный 3D-шутер, но на деле это была продвинутая иллюзия: • стены были 2D, • враги — спрайты, которые просто «разворачивались» к вам лицом, • перспектива — результат математических трюков, lookup-таблиц и выверенных алгоритмов. Это была не графика — это была геометрия в боевом применении.

Когда 1.44 МБ — это вся игра

Современные проекты «весят» десятки и сотни гигабайт. А тогда… вся игра должна была уместиться на одну дискету. 1.44 мегабайта. Чтобы вписаться в такие рамки, разработчики использовали все возможные способы сжатия, упаковывали уровни вручную, а музыку писали в формате .mod или MIDI. Например, в Prince of Persia анимация героя была основана на видеозаписях брата разработчика, прыгающего по лестнице — кадры оцифровывались и превращались в спрайты вручную. А сама игра, к слову, влезала на одну (!) дискету. Каждый байт был важен. Не было ни «лишнего кода», ни бесполезных ассетов — всё продумано, просчитано, выжато до последнего.

Баги, превращённые в фичи

Иногда ошибки в коде превращались в… особенности геймплея. Бывало, что игра «падала» или отображалась некорректно — и это преподносилось как «секретный режим». В Quake, например, код подстраивался под баги конкретных видеокарт, чтобы использовать их особенности на максимум. В Super Mario кусты и облака — это один и тот же спрайт, просто покрашенный в разные цвета. Это не экономия — это оптимизация с изюминкой.

Разработчики, которые знали железо

В 90-х программирование игр было сродни инженерному искусству. Разработчики знали, как работает память, как устроена видеосистема, как ускорить доступ к жёсткому диску. Код писался на ассемблере и C, оптимизировался вручную. Программисты буквально «разговаривали» с железом напрямую. Они выжимали из машин всё, что только возможно. А иногда — даже чуть больше.

Почему это до сих пор восхищает?

Потому что ограничения рождали не уныние, а изобретательность. Разработчики были не просто «кодерами» — они были инженерами, художниками и волшебниками одновременно. Без Unity, без Google, без YouTube-обзоров. Только мозг, алгоритмы и много-много упорства.

Если вы в детстве запускали игру с восьми дискет, переписывали config.sys, чтобы освободить память, и ждали загрузки уровня по 5 минут — вы были свидетелем настоящей магии. Эти старые игры не поражали графикой, но завораживали миром, атмосферой и продуманностью. Они учили не только играть, но и думать. И, возможно, именно они вдохновили целое поколение программистов, которые сегодня создают будущее.