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

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-дерева в игре обнаруживались столкновения с поверхностями.

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

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

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

Явление кракена Явление кракена

Не все персонажи средневековых бестиариев относятся лишь к сфере мифологии

Вокруг света
7 способов зарядиться оптимизмом 7 способов зарядиться оптимизмом

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

Psychologies
Только вперед Только вперед

Медиум Алена Мельникова создает будущее гастрономического Петербурга

Собака.ru
Наивно? Супер! Наивно? Супер!

Вышивальщица Юлия Алёшичева практически не отвечает на вопросы о своих работах

Seasons of life
Ошибки ремонта Ошибки ремонта

Прораб и дизайнер интерьера – о том, как сделать ремонт грамотно и без потерь

Домашний Очаг
Не растряси: как настроить подвеску на мотовездеходе Не растряси: как настроить подвеску на мотовездеходе

Как подготовить мотовездеход к испытаниям

Популярная механика
Кризис монархии: почему принц Чарльз может не стать королем Кризис монархии: почему принц Чарльз может не стать королем

Возможно, принц Чарльз на трон так и не взойдет. Почему?

Cosmopolitan
8 способов понравиться собеседнику при первой встрече 8 способов понравиться собеседнику при первой встрече

Эти приемы помогут стать увереннее и расположить к себе любого собеседника

Psychologies
Как выглядели звездные красотки Муцениеце, Асмус и другие в своих первых фильмах Как выглядели звездные красотки Муцениеце, Асмус и другие в своих первых фильмах

Чтобы добиться популярности, им пришлось сыграть много ролей

Cosmopolitan
Вальтер Гропиус и Bauhaus: трансформация жизни в фабрику Вальтер Гропиус и Bauhaus: трансформация жизни в фабрику

Архитектура Баухауса и три этапа развития утопии

Weekend
Между нами Между нами

Форма мира Лизы Аминовой вмещает в себя гедонистические виды спорта и любовь

Tatler
3 книги, которые помогут принять и полюбить свою внешность 3 книги, которые помогут принять и полюбить свою внешность

Книги, которые помогут пересмотреть отношение к себе и своему телу

Psychologies
«Фотография берется, по сути, из ниоткуда» «Фотография берется, по сути, из ниоткуда»

Оператор Ксения Середа — зачем снимать кино на пленку, сколько денег в индустрии

Esquire
Самые забавные конфузы на свадьбах Кейт Миддлтон, Виктории Бекхэм и других звезд Самые забавные конфузы на свадьбах Кейт Миддлтон, Виктории Бекхэм и других звезд

И у звезд случаются нелепые инциденты на свадьбах

Cosmopolitan
10 самых опасных паразитов 10 самых опасных паразитов

Узнайте о самых опасных паразитах, а заодно лишний раз помойте руки

Популярная механика
Морально устарели: 13 модных правил, которые ты можешь нарушить Морально устарели: 13 модных правил, которые ты можешь нарушить

Правила существуют, чтобы их нарушать — эта аксиома распространяется и на моду

Cosmopolitan
Это лишает тебя стиля — неочевидные ошибки при выборе модного тренча Это лишает тебя стиля — неочевидные ошибки при выборе модного тренча

Тренчкот — классика женского гардероба

Cosmopolitan
Секреты похудения Ходченковой, Муцениеце и других популярных российских актрис Секреты похудения Ходченковой, Муцениеце и других популярных российских актрис

Как приводят себя в форму артистки, чтобы идеально выглядеть в кадре

Cosmopolitan
Вся правда о холестерине Вся правда о холестерине

Что на самом деле вызывает заболевания сердца и сосудов

kiozk originals
«Родители заботились обо мне. Почему я чувствую себя нежеланным ребенком?» «Родители заботились обо мне. Почему я чувствую себя нежеланным ребенком?»

Чувствовать себя ребенком, которого отвергли — тяжелое испытание

Psychologies
Стеклянные тессеры мозаик кордовской Мескиты привезли в Аль-Андалус из Византии Стеклянные тессеры мозаик кордовской Мескиты привезли в Аль-Андалус из Византии

Мозаики мечети Кордовы рассказали о взаимоотношениях в Средиземноморье в Х веке

N+1
Остановили время: звезды, которые шикарно выглядят после 70 лет Остановили время: звезды, которые шикарно выглядят после 70 лет

Рассматривая фотографии этих знаменитых красавиц, мы не перестаем удивляться

Cosmopolitan
Полина Гагарина и еще 6 звезд, которые вдохновят на похудение Полина Гагарина и еще 6 звезд, которые вдохновят на похудение

Вдохновляющую подборка с секретами похудевших знаменитостей

Cosmopolitan
Чего хотят разработчики — и почему не все хотят работать в «Яндексе» и Google Чего хотят разработчики — и почему не все хотят работать в «Яндексе» и Google

Как привлечь и удержать высококвалифицированных разработчиков?

Inc.
ДДТ в крови бабушек связали с риском ранних месячных и полноты их внучек ДДТ в крови бабушек связали с риском ранних месячных и полноты их внучек

Ученые обнаружили связь между пестицидами в крови женщин и здоровьем их внучек

N+1
«Я коллекционирую мусор и не могу остановиться» «Я коллекционирую мусор и не могу остановиться»

«Я коллекционирую мусор и не могу остановиться»

Psychologies
Я решила рожать! Звездные россиянки, сохранившие беременность после предательств Я решила рожать! Звездные россиянки, сохранившие беременность после предательств

Известные россиянки не испугались взять ответственность за двоих

Cosmopolitan
Сногсшибательные актрисы, о которых все забыли Сногсшибательные актрисы, о которых все забыли

Когда-то им поклонялись миллионы, но сейчас о них почти ничего не слышно

Maxim
«Продюсер — это человек, которому больше всех надо, чтобы все получилось» «Продюсер — это человек, которому больше всех надо, чтобы все получилось»

Продюсер Ирина Сосновая — о буме сериалов, Netflix и проблемах индустрии

Esquire
Шах вперед Шах вперед

В нынешнем сезоне Аня Тейлор-Джой играет по-крупному

Cosmopolitan
Открыть в приложении