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

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
5 ожидаемых сиквелов, которые так и не сняли 5 ожидаемых сиквелов, которые так и не сняли

Фильмы, к которым так и просится продолжение

Maxim
Зуб точат Зуб точат

Мода — это террариум единомышленников или все не так плохо?

Vogue
Очаровательные малышки! Как Шейк, Водянова и другие модели выглядели в детстве Очаровательные малышки! Как Шейк, Водянова и другие модели выглядели в детстве

Знаменитые модели в детстве

Cosmopolitan
Курица для Навального: почему происходящее с оппозиционером воспринимается как «новая нормальность» Курица для Навального: почему происходящее с оппозиционером воспринимается как «новая нормальность»

Андрей Колесников о свойствах российской власти

Forbes
Почему в исторических зданиях Великобритании замурованы окна? Почему в исторических зданиях Великобритании замурованы окна?

Налог на свет и воздух

Maxim
Наследство Ходорковского: кто заработал на бывшей недвижимости ЮКОСа Наследство Ходорковского: кто заработал на бывшей недвижимости ЮКОСа

Что помогло Сергею Сударикову стать миллиардером?

Forbes
Любимые мужчины Беллуччи, Лорен, Мути и других итальянских кинозвезд Любимые мужчины Беллуччи, Лорен, Мути и других итальянских кинозвезд

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

Cosmopolitan
35 лет аварии на Чернобыльской АЭС. Как катастрофа на атомной станции отражена в поп-культуре — кино, сериалах и играх 35 лет аварии на Чернобыльской АЭС. Как катастрофа на атомной станции отражена в поп-культуре — кино, сериалах и играх

Список произведений о чернобыльской трагедии

Esquire
Труп, воровка и бродяга: роли, в которых вы не узнаете актеров Труп, воровка и бродяга: роли, в которых вы не узнаете актеров

Как актеры "Гарри Поттера" избавляются от образов учеников Хогвартса

Cosmopolitan
«История о том, как я сжёг $10 млн»: уроки сервиса Flow​, который появился раньше Asana, но проиграл рынок «История о том, как я сжёг $10 млн»: уроки сервиса Flow​, который появился раньше Asana, но проиграл рынок

Основатель Flow — о том, как хотел победить конкурентов

VC.RU
Наталия Киселева — о том, как меняется Московская электронная школа и столичное образование Наталия Киселева — о том, как меняется Московская электронная школа и столичное образование

Об уроках пандемии и новом опыте организации обучения

СНОБ
Ароматный шлейф принцессы Ароматный шлейф принцессы

Princesse Marina de Bourbon — знаковое название Дома парфюмерии

Караван историй
6 самых важных смертей Шона Бина 6 самых важных смертей Шона Бина

Сколько раз Шон Бин умирал на экране

Maxim
История становления Instagram на основе книги “No Filter”: от создания до сделки с Facebook и ухода основателей История становления Instagram на основе книги “No Filter”: от создания до сделки с Facebook и ухода основателей

Выжимка книги журналистки Bloomber Сары Фрайер «No Filter. История Instagram»

VC.RU
17 блестящих деталей в диснеевских фильмах, которые ты, скорее всего, не замечал 17 блестящих деталей в диснеевских фильмах, которые ты, скорее всего, не замечал

Настоящие «пасхалки»!

Playboy
Джозефсоновский контакт превратили в детектор одиночных фотонов Джозефсоновский контакт превратили в детектор одиночных фотонов

Физики изготовили светочувствительный контакт Джозефсона на основе графена

N+1
Несносная мода Несносная мода

Новые экостандарты в фешен-индустрии сделают вечными одежду и обувь

РБК
Цвет мой, зеркальце Цвет мой, зеркальце

Почему цвет лица может быть серым, красным, синюшным и как его освежить?

Лиза
Глава из книги Ольги Андреевой-Карлайл «Остров на всю жизнь» Глава из книги Ольги Андреевой-Карлайл «Остров на всю жизнь»

Отрывок из книги Ольги Андреевой-Карлайл «Остров на всю жизнь»

СНОБ
Проблема модерации App Store: разработчик регулярно находит скам-приложения с подпиской, но Apple не удаляет их месяцами Проблема модерации App Store: разработчик регулярно находит скам-приложения с подпиской, но Apple не удаляет их месяцами

App Store далеко не самое безопасное место для установки приложений

VC.RU
Почему мы заедаем стресс? Взаимосвязь тревоги и чувства голода Почему мы заедаем стресс? Взаимосвязь тревоги и чувства голода

Почему из-за стресса может захотеться есть или полностью пропасть аппетит

Playboy
Чарующие красотки! Как выглядят дочери Климовой, Заворотнюк и других актрис Чарующие красотки! Как выглядят дочери Климовой, Заворотнюк и других актрис

Наследницы телезвезд выросли настоящими красавицами

Cosmopolitan
«Показалось или нет?»: что делать, если к вам пристают в транспорте «Показалось или нет?»: что делать, если к вам пристают в транспорте

Кто такие фроттеры, почему они так поступают и как выбирают жертву?

Psychologies
Из приюта для бездомных — в модный дом: как Саманта Франц заработала $4 млн на спортивных костюмах Из приюта для бездомных — в модный дом: как Саманта Франц заработала $4 млн на спортивных костюмах

Как Саманта Франц нашла собственную нишу и осталась в плюсе

Forbes
Ночной дожор Ночной дожор

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

Лиза
Ускоренное расширение Вселенной объяснили самовзаимодействием темной материи Ускоренное расширение Вселенной объяснили самовзаимодействием темной материи

Как самовзаимодействует тёмная материя

N+1
«Я полный ноль». Зачем мы на самом деле себя ругаем и почему нужно прекратить это делать прямо сейчас «Я полный ноль». Зачем мы на самом деле себя ругаем и почему нужно прекратить это делать прямо сейчас

Люди должны проявлять сострадание по отношению к себе

Inc.
Жить и есть в удовольствие! Жить и есть в удовольствие!

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

Домашний Очаг
Открыть в приложении