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

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

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

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

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

Физика будущего: CERN разрабатывает ловушку для антиматерии Физика будущего: CERN разрабатывает ловушку для антиматерии

ЦЕРН работает над способами хранения и транспортировки антивещества

Популярная механика
От сорванной лекции до революции. Как разгон студенческого праздника приблизил крах Российской империи От сорванной лекции до революции. Как разгон студенческого праздника приблизил крах Российской империи

Современная российская власть совершает большую ошибку, преследуя молодежь

СНОБ
Личные драмы звезды «Ликвидации» Лавроненко: уход от жены, смертельная авария Личные драмы звезды «Ликвидации» Лавроненко: уход от жены, смертельная авария

Константин Лавроненко прошел долгий и сложный путь к славе

Cosmopolitan
Телаурус: как использовать язык тела в своих интересах Телаурус: как использовать язык тела в своих интересах

Невербальное общение — это самая что ни на есть мужская стихия

Maxim
Эстонцы представили первого в Европе робота-доставщика для дорог общего пользования Эстонцы представили первого в Европе робота-доставщика для дорог общего пользования

Робот-доставщик из Эстонии, который развозит небольшие посылки и еду

N+1
Правила жизни Владимира Ленина Правила жизни Владимира Ленина

Владимир Ленин: политика есть концентрированное выражение экономики

Esquire
Какие бактерии живут в косметичке Какие бактерии живут в косметичке

Что находится внутри косметички?

Здоровье
Чудеса проводимости Чудеса проводимости

Стартап успешно конкурирует на рынке высокотемпературных сверхпроводников

Наука
15 правил этикета в социальных сетях, которые стыдно не знать 15 правил этикета в социальных сетях, которые стыдно не знать

Не будем лукавить: сегодня мы чаще общаемся в соцсетях, чем в реальном мире

Cosmopolitan
Один простой вопрос, чтобы перестать бояться и начать действовать Один простой вопрос, чтобы перестать бояться и начать действовать

Как освободиться от оков?

Psychologies
Подстава! Неудачные фото Костенко, Бородиной и даже Джей Ло, сделанные мужьями Подстава! Неудачные фото Костенко, Бородиной и даже Джей Ло, сделанные мужьями

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

Cosmopolitan
Дроны научились синхронно летать в жесткой сцепке Дроны научились синхронно летать в жесткой сцепке

Разработан алгоритм управления несколькими дронами, объединенными в один модуль

N+1
10 бесчестных уловок супермаркетов по отъему средств у населения 10 бесчестных уловок супермаркетов по отъему средств у населения

Магазины в погоне за прибылью прибегают к самым изощренным способам

Maxim
«Лолита» эпохи #MeToo: как Кейт Расселл написала бестселлер о связи между преподавателем и ученицей «Лолита» эпохи #MeToo: как Кейт Расселл написала бестселлер о связи между преподавателем и ученицей

Как возникают неравные отношения? Это любовь или харассмент?

Forbes
Всё от нервов Всё от нервов

Может ли фигуральная головная боль перерасти в настоящую?

Cosmopolitan
Лебединое озеро Лебединое озеро

Самым теплым морем в этом году оказалось озеро Байкал — и самым светским

Tatler
Коктейльная карта: история классического коктейля «Френч 75» на джине Коктейльная карта: история классического коктейля «Френч 75» на джине

История коктейля «Френч 75»

Esquire
«Мы стремимся создать полный цикл обучения для российских врачей» «Мы стремимся создать полный цикл обучения для российских врачей»

Марина Казанфарова о старте работы Образовательного центра Фонда ММК

Наука
Вознаграждение приветствуется: как сервис безналичной оплаты чаевых вырос в пандемию и был куплен «Яндексом» Вознаграждение приветствуется: как сервис безналичной оплаты чаевых вырос в пандемию и был куплен «Яндексом»

Как проект «Чаевые просто» смог заинтересовать крупнейшую IT-корпорацию России?

Forbes
Кому на Руси климатически комфортно Кому на Руси климатически комфортно

Как меняется ощущаемая температура в регионах России

N+1
8 шагов, которые помогут выразить гнев экологично 8 шагов, которые помогут выразить гнев экологично

Как подружиться со своими эмоциями и проявлять их безопасно

Psychologies
Полуобнаженные красотки! Как выглядят актрисы сериала «Ольга» дома и на пляже Полуобнаженные красотки! Как выглядят актрисы сериала «Ольга» дома и на пляже

Звезды сериала «Ольга» – обладательницы стройных фигур. Пикантные кадры

Cosmopolitan
На севере Египта нашли 110 погребений додинастического и гиксосского периодов На севере Египта нашли 110 погребений додинастического и гиксосского периодов

Археологи обнаружили древнеегипетские захоронения возрастом от пяти тысяч лет

N+1
Кто сказал «Вау!»: шокирующе огромные животные-переростки Кто сказал «Вау!»: шокирующе огромные животные-переростки

Фото гигантов, которые переросли все положенные природой нормы

Maxim
8 скандинавских фильмов, переснятых Голливудом 8 скандинавских фильмов, переснятых Голливудом

Культовые картины, которые получили англоязычный ремейк

GQ
Самые странные вещи, которые запрещены в Китае Самые странные вещи, которые запрещены в Китае

Буква N, жасмин, реинкарнация и другие запреты в Китае

Maxim
Матисс и Снупи Матисс и Снупи

Сочная графика, пестрые штаны и солнечные фотографии — это Мика Линдеберг

Seasons of life
Один случай на миллион: 6 видов рака, о которых почти никто не слышал Один случай на миллион: 6 видов рака, о которых почти никто не слышал

Рак сердца, хордома и другие редкие онкологические заболевания

Cosmopolitan
Нам жизненно необходимы объятия и прикосновения Нам жизненно необходимы объятия и прикосновения

Психологи: как на человека влияет тактильный контакт с другими людьми?

Psychologies
Какие гаджеты пришли в нашу жизнь из космоса Какие гаджеты пришли в нашу жизнь из космоса

Изобретения, которые изначально предназначались для космоса

Популярная механика
Открыть в приложении