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

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

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

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

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

Как часто нужно менять термопасту на процессоре? Как часто нужно менять термопасту на процессоре?

Нужно ли профилактически менять термопасту на процессоре?

CHIP
Обзор Oppo Reno5: Достойный бюджетный камерофон, но далеко не лучший Обзор Oppo Reno5: Достойный бюджетный камерофон, но далеко не лучший

Плюсы и минусы перспективного смартфона Oppo Reno5

Популярная механика
Венчурный инвестор подсел на наркотики, азартные игры и женщин. Сможет ли он исцелиться и заслужить прощение? Венчурный инвестор подсел на наркотики, азартные игры и женщин. Сможет ли он исцелиться и заслужить прощение?

Подробный бизнес-план буйного кутежа

Inc.
Купил, но не прошёл Купил, но не прошёл

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

VC.RU
0% жирности 0% жирности

Современные методы избавиться от лишнего жира на лице и теле

Добрые советы
Агенты совриска: почему молодые коллекционеры инвестируют в современное искусство Агенты совриска: почему молодые коллекционеры инвестируют в современное искусство

Во что инвестируют российские коллекционеры нового поколения

Forbes
Глава из романа Александра Минкина «Чайка. На воде» Глава из романа Александра Минкина «Чайка. На воде»

У известного журналиста Александра Минкина выходит новая книга «Чайка. На воде»

СНОБ
Встала и пошла Встала и пошла

Юлия Высоцкая – о красоте, спорте и одинаковых лицах из «Инстаграма»

Домашний Очаг
Ваня Дмитриенко: «Мне было cтрашно» Ваня Дмитриенко: «Мне было cтрашно»

Ваня Дмитриенко рассказал, кому адресована песня «Венера — Юпитер»

ЖАРА Magazine
Численность редких мексиканских волков в США удвоилась за пять лет Численность редких мексиканских волков в США удвоилась за пять лет

Специалисты насчитали 186 диких мексиканских волков

N+1
Правило № 61: Жить так, чтобы не бояться Правило № 61: Жить так, чтобы не бояться

Коуч Алексей Ситников делится способами отключить страх

Tatler
Как я нашла кучу фриков и встретила любовь в Tinder Как я нашла кучу фриков и встретила любовь в Tinder

Где в наши дни искать любовь? Конечно, в Сети

Psychologies
Как казахский железнодорожник стал мировой звездой: история Иманбека Зейкенова Как казахский железнодорожник стал мировой звездой: история Иманбека Зейкенова

Еще совсем недавно имя Иманбека Зейкенова вам вряд ли о чем-то сказало бы

Cosmopolitan
«Жизнь моя, кинематограф» «Жизнь моя, кинематограф»

История жизни и творчества кумира поколений Андрея Миронова

Лиза
10 сценариев, ведущих к глобальному вымиранию 10 сценариев, ведущих к глобальному вымиранию

Ежегодно возникает множество пугающих предсказаний конца света

Популярная механика
«Вот уроды…»: 12 самых страшных самолетов Второй мировой «Вот уроды…»: 12 самых страшных самолетов Второй мировой

Страшнее этих самолетов во времена Второй мировой не было никого

Maxim
Каким получился «Я не шучу» — первый российский сериал о стендапе и жизни Каким получился «Я не шучу» — первый российский сериал о стендапе и жизни

«Я не шучу» — сериала о женщине, которая горько смеется над жизнью женщин

РБК
5 мифов о маммопластике 5 мифов о маммопластике

Правда и мифы об увеличении груди

Cosmopolitan
9 вещей, которые всем кажутся важными, но на самом деле не имеют смысла 9 вещей, которые всем кажутся важными, но на самом деле не имеют смысла

Критикуем и отменяем архаичные авторитеты

Maxim
Запретный плод Запретный плод

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

Tatler
10 видов тюнинга, которые все ненавидят 10 видов тюнинга, которые все ненавидят

Хит-парад самых раздражающих вещей, которые можно сделать с автомобилем!

Популярная механика
Опасно для здоровья: 3 серьезные причины перестать ходить в туалет с телефоном Опасно для здоровья: 3 серьезные причины перестать ходить в туалет с телефоном

Врачи уверены, что лучше отказаться от привычки ходить в туалет с телефоном

Cosmopolitan
16 советов тем, кто пригласил девушку к себе и надеется на секс 16 советов тем, кто пригласил девушку к себе и надеется на секс

Список рекомендаций для тех, кто собрался пригласить к себе в гости женщину

Maxim
15 цепляющих фильмов о семейных ценностях 15 цепляющих фильмов о семейных ценностях

Фильмы о близких людях, семье и любви

Cosmopolitan
Польза и вред граната: 9 научных фактов Польза и вред граната: 9 научных фактов

«Король фруктов» — что о нем надо знать, чем он полезен и как его выбрать?

РБК
Закрытый космос Закрытый космос

Виталий Егоров — о том, нужно ли человечеству покорять Вселенную

Robb Report
5 детокс-программ, которые помогут прийти в форму 5 детокс-программ, которые помогут прийти в форму

Детокс-программы подготовят организм к диете и дадут львиную дозу витаминов

Cosmopolitan
Второй по популярности: что нужно знать о раке кишечника Второй по популярности: что нужно знать о раке кишечника

Рак кишечника – общее название онкологических заболеваний

Cosmopolitan
Основатель Factmata получил полмиллиона от Марка Кьюбана с помощью одного «холодного» письма. Прочитайте его Основатель Factmata получил полмиллиона от Марка Кьюбана с помощью одного «холодного» письма. Прочитайте его

Холодное письмо, которое заинтересовало Марка Кьюбана

Inc.
Семейные тайны и фиктивные браки: главные стереотипы турецких сериалов Семейные тайны и фиктивные браки: главные стереотипы турецких сериалов

Шаблоны турецких сериалов, искажающие представление о турецкой культуре

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