Какие технические уловки помогали создавать видеоигровую классику

N+1События

Это вам не игрушки

Какие технические уловки помогали создавать видеоигровую классику

Богдан Сиротич

id Software

Разработка видеоигр — это искусство. Когда так говорят, чаще всего имеют в виду сочетание сюжета, геймплея, геймдизайна и сеттинга. За кадром остается титаническая работа: написание кода и оптимизация видеоигр. Не трудись разработчики над требованиями своих проектов к железу, на консолях нового поколения мы бы играли в игры уровня первой Silent Hill. В совместном материале с образовательной компанией «Нетология» N + 1 рассказывает, как менялся подход к созданию видеоигр от эпохи Марио до нашего времени.

Кто прочистил засор в индустрии видеоигр

История усатого водопроводчика началась не с Super Mario Bros. — впервые он появился в видеоигре Donkey Kong 1981 года, которая разрабатывалась для аркадных автоматов. Однако именно благодаря домашней консоли NES/Famicom, появившейся в 1983 году, Марио не только проник в гостиные игроков, но и помог индустрии видеоигр пережить кризис, связанный с перенасыщением рынка консолей и растущим интересом к персональным компьютерам.

Шутка ли: Nintendo выпустила консоль NES на американском рынке максимально похожей на проигрыватель видеокассет, чтобы она не напоминала покупателям о провалившихся приставках.

По меркам своего времени NES была консолью нового поколения, но разработчики сталкивались с огромными аппаратными ограничениями. В их распоряжении находилось всего 2Кб оперативной и 2Кб видеопамяти. Консоль использовала в качестве носителя картридж, стандартный размер которого составлял всего 48Кб. Таким образом, скриншот с игрой Super Mario Bros. может весить больше, чем сама игра.

Графика сложных движений в NES была реализована через спрайты — заранее заданные пиксельные изображения, размерность которых составляла 8 на 8 либо 8 на 16 пикселей. Из-за этого изображения движущихся объектов приходилось разбивать на 4, а то и на 8 спрайтов. А ведь их максимальное количество на экране ограничивалось 64 единицами.

Кадр из Super Mario Bros. Nintendo

Создатели ранних игр по-разному выходили из этой ситуации. Присмотритесь: облака и кусты в Super Mario bros. имеют один и тот же контур. Это сделано для экономии памяти: если на экран нужно было добавить больше движущихся врагов, чем это позволяла консоль, спрайты попеременно подгружали и удаляли из памяти. Враги при этом «мигали». Такое решение не назовешь самым комфортным для игроков, но зато оно делало игры даже более динамичными, чем представляли создатели NES.

Помощь пришла откуда не ждали. Вставленный в консоль картридж, в отличие, например, от CD-диска, образует с ней единую систему. Издатели быстро поняли, что с помощью техники смены блоков можно увеличить размер игр и продавали разработчикам картриджи с необходимыми расширениями: картридж сам переключал нужное ПЗУ во время игры, и консоль каждый раз получала новые 48Кб. Некоторые игры таким образом весили и по 1Мб (Metal Slader Glory).

В другие картриджи добавлялись усовершенствованные звуковые чипы (Castlevania 3) или батарейки для возможности сохранения игрового процесса (The Legend of Zelda). К сожалению, игрокам, знакомым с NES по ее тайваньскому клону Dendy, это не было доступно: китайские пираты не утруждали себя копированием продвинутых картриджей. Их предпочтения были на стороне сборников «999999 игр в 1».

Девкит NES, появившийся на eBay в 2011 году.

Кроме того, девкиты (devkit), специальные наборы оборудования и программ для разработки игр, во времена NES (на картинке) сильно отличались от профессиональных, отлаженных машин, на которых создают игры для Playstation 5. Собственно говоря, чаще всего девкитов, как и хорошей документации, у разработчиков не было вовсе. Им приходилось самим создавать устройства для отладки игр. И хотя, с одной стороны, это было сопряжено с трудностями в разработке, иногда они обнаруживали такие возможности консоли, о которых не догадывались даже ее создатели.

IDDQD

Doom, великий и ужасный хит 1993 года, стал в свое время настоящим system seller’ом для персональных компьютеров. И хотя его портировали на большинство актуальных консолей того времени, там он выглядел почти как Cyberpunk 2077 на Playstation 4.

Команда разработчиков во главе с Джоном Кармаком и Джоном Ромеро не стала уделять особого внимания сюжету. Кармаку принадлежит известная (и относительно плохо сохранившаяся) цитата: «Сюжет в игре — как сюжет в порнофильме. Он должен быть, но совершенно не важен». Таким образом, наибольшее внимание разработчики уделили движку игры и атмосфере. Некоторые демоны лепились из пластилина, фотографировались и позже переносились в игру после обработки в графической программе, а отдельные виды оружия (бензопила) или руки, которые видны в кадре, принадлежали самим разработчикам или их друзьям.

Кадр из Doom (1996). id Software

В отличие от создателей игр для приставок предыдущего поколения, разработчики Doom могли использовать язык Си (англ. C) и его преимущества. В первую очередь, гораздо более простой в сравнении с языком ассемблера синтаксис. При этом, поскольку основным носителем игры являлась магнитная дискета, требования к оптимизации памяти оставались существенными. Отсюда — мнимая трехмерность в игре: движок устроен таким образом, что если в игрока выстрелит враг, находящийся перед ним этажом выше, протагонист получит урон.

Вычисления в Doom проводились с частотой 35 раз в секунду. Чтоб сэкономить такты процессора, управление монстрами было оптимизировано: если из одного сектора не была видна ни одна точка другого, в соответствующей ячейке матрицы ставилась единица, а в противном случае — 0. Таким образом, если в ячейке, связывающей сектор протагониста и сектор демона стоит 0, проводится проверка, видит ли демон игрока. Если же стоит единица, игра считает, что игрок в безопасности.

Для ускорения построения изображения использовалось BSP-дерево — метод рекурсивного разбиения евклидова пространства в выпуклые множества. Движок игры поочередно отрисовывал стены от ближних к дальним, и только когда этот процесс был окончен, отрисовывал полы и потолки. Джон Кармак оптимизировал алгоритм: он учел, что для набора полигонов дерево имеет невырожденную структуру, если для каждого полигона из набора все остальные расположены с передней или задней стороны. Также при помощи BSP-дерева в игре обнаруживались столкновения с поверхностями.

Авторизуйтесь, чтобы продолжить чтение. Это быстро и бесплатно.

Регистрируясь, я принимаю условия использования

Рекомендуемые статьи

Пыльные бури — взгляд из космоса Пыльные бури — взгляд из космоса

Песчаные и пыльные бури и их последствия

Наука и жизнь
«Я бросила детей, но люблю их»: как живут россиянки, ставшие матерями в детстве «Я бросила детей, но люблю их»: как живут россиянки, ставшие матерями в детстве

Истории нескольких несовершеннолетних мам

Cosmopolitan
Белок: функции, нормы, особенности и источники Белок: функции, нормы, особенности и источники

Для чего нужен протеин и какие бывают отклонения от нормы

РБК
Бьешь как девчонка: как российский женский бокс отвоевывает место в мировом спорте Бьешь как девчонка: как российский женский бокс отвоевывает место в мировом спорте

Как развивается российский женский бокс

Forbes
Немецкий краевед собрал «арсенал» испорченного кельтами оружия Немецкий краевед собрал «арсенал» испорченного кельтами оружия

Немецкий энтузиаст нашел испорченное оружие железного века

N+1
Самостоятельная забота Самостоятельная забота

Окружающая среда – это буквально всё, что находится вокруг тебя

Cosmopolitan
Физики попытались понять, что связывает темную энергию и темную материю, но запутались еще сильнее Физики попытались понять, что связывает темную энергию и темную материю, но запутались еще сильнее

Расширение Вселенной ускоряется, но мы не совсем уверены, почему

Популярная механика
Секрет фермы Секрет фермы

Список из самых интересных экоферм (и одного этнопарка)

Cosmopolitan
Максим Михеенко: «Россия будет оазисом игровой индустрии» Максим Михеенко: «Россия будет оазисом игровой индустрии»

Что ждет стремительно развивающуюся игровую индустрию в ближайшие годы?

РБК
«Когда в команде такая атмосфера, когда режиссер и оператор тебе доверяют — получается нечто волшебное» «Когда в команде такая атмосфера, когда режиссер и оператор тебе доверяют — получается нечто волшебное»

Художник по костюмам Дарья Фомина — о количестве крови на рубашках и провалах

Esquire
Странные лайфхаки, которые все же работают Странные лайфхаки, которые все же работают

Очень нетривиальные способы справиться с жизненными трудностями

Maxim

Почему прощать – вовсе не обязательно

Cosmopolitan
50 величайших приключений на планете 50 величайших приключений на планете

Самые невероятные приключения, какие только можно организовать на нашей планете

Men’s Health
Как использовать свой мозг на 100%: советы от наставника Nike, General Electric и Virgin Group Джима Квика Как использовать свой мозг на 100%: советы от наставника Nike, General Electric и Virgin Group Джима Квика

Отрывок из книги Джима Квика «Безграничье. Прокачай мозг, запоминай быстрее»

Forbes
Как забыть кота Как забыть кота

Шесть рабочих советов, как пережить потерю питомца

Maxim
Семь простых принципов экологичного дома Семь простых принципов экологичного дома

Познакомьтесь с новой концепцией экологичного дома Well-стандарта

Домашний Очаг
6 вещей, которые женщина никогда не простит мужчине 6 вещей, которые женщина никогда не простит мужчине

Есть поступки, на которые ни одна из нас не сумеет закрыть глаза

Psychologies
Детский ад: исчерпывающее пособие, как детей нужно рожать, воспитывать и отмазывать от армии Детский ад: исчерпывающее пособие, как детей нужно рожать, воспитывать и отмазывать от армии

Дети могут случиться со всеми

Maxim
На Луне ожидается плотный трафик. Зачем человечество возвращается на спутник Земли? На Луне ожидается плотный трафик. Зачем человечество возвращается на спутник Земли?

Для чего людям лететь на Луну и тратить миллиарды долларов?

Esquire
В видоискателе — животный мир В видоискателе — животный мир

Как фотографировать животных?

Наука и жизнь
Устойчивое развитие: страновые особенности и актуальность критериев для России Устойчивое развитие: страновые особенности и актуальность критериев для России

Какие из критериев развития актуальны для России, а какие второстепенны?

Forbes
С силиконом и без: звезды, которые избавились от грудных имплантов С силиконом и без: звезды, которые избавились от грудных имплантов

Неужели эра силикона, захватившая нас в 90-х, вот-вот канет в Лету?

Cosmopolitan
«Легенды хоккея» собрались на матче Ночной хоккейной лиги в Норильске «Легенды хоккея» собрались на матче Ночной хоккейной лиги в Норильске

Почему Норильск так нуждается в спорте

GQ
«Бабочка» не жмет? «Бабочка» не жмет?

Эксперт объясняет, как понять, что со щитовидной железой что-то не в порядке

Лиза
Без видимых повреждений: почему важно понимать психологию авторов насилия Без видимых повреждений: почему важно понимать психологию авторов насилия

Почему насильник часто тот, кого ты хорошо знаешь

Forbes
Полный гид по интервальному голоданию: когда и что есть, чтобы похудеть Полный гид по интервальному голоданию: когда и что есть, чтобы похудеть

Хвастаться часами голода – новая мода, но насколько она полезна и эффективна?

Cosmopolitan
Екатерина Скулкина, Джанет Джексон и еще 5 звезд, сбросивших десятки килограммов Екатерина Скулкина, Джанет Джексон и еще 5 звезд, сбросивших десятки килограммов

Семь знаменитостей, которые невероятно похудели

Cosmopolitan
Рапунцель из Индии рассказала, как отрастить волосы на 15 см всего за 3 месяца Рапунцель из Индии рассказала, как отрастить волосы на 15 см всего за 3 месяца

Маска для волос, которая поможет ускорить рост волос на 30-40%

Cosmopolitan
На роду написано На роду написано

Какие тайны могут раскрыть генетические анализы

Лиза
Дарья Повереннова: «Нам удалось уйти от тоскливой свадебной классики» Дарья Повереннова: «Нам удалось уйти от тоскливой свадебной классики»

Актриса Дарья Повереннова всегда мечтала встретить настоящего мужчину

Караван историй
Открыть в приложении