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

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

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

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

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

Квантовый эксперимент: реальность — вопрос личного выбора Квантовый эксперимент: реальность — вопрос личного выбора

Благодаря квантовой механике прошлое может определяться настоящим

Популярная механика
Моде вопреки: как «неудачник» рынка онлайн-ретейла Lamoda в пандемийный год поставил рекорд по выручке Моде вопреки: как «неудачник» рынка онлайн-ретейла Lamoda в пандемийный год поставил рекорд по выручке

Lamoda вопреки логике сосредоточилась на фешен-товарах и выиграла

Forbes
Тот самый Mercedes Айртона Сенны. Тест-драйв легендарной модели Тот самый Mercedes Айртона Сенны. Тест-драйв легендарной модели

Легендарный Mercedes бразильского пилота Айртона Сенны

РБК
Нырок в глубину: зачем нужен самоанализ Нырок в глубину: зачем нужен самоанализ

Чем вызван интерес к своей внутренней жизни и для чего нужно знание себя?

Psychologies
Не гаремом единым: турецкий сериал «Моя мама», который заставит вас плакать Не гаремом единым: турецкий сериал «Моя мама», который заставит вас плакать

«Моя мама» – это не очередной турецкий сериал про гарем и черную любовь

Cosmopolitan
Тим Кук намекнул, почему Apple занялась AR. И дал понять, что компания продолжает разрабатывать автомобиль Тим Кук намекнул, почему Apple занялась AR. И дал понять, что компания продолжает разрабатывать автомобиль

Тим Кук — о том, как компания использует технологии дополненной реальности

Inc.
Африканский след в истории обуви Африканский след в истории обуви

Сколько лет обуви?

Наука и жизнь
От офиса в питерском подвале до гранта Microsoft: история компании Addreality, которая появилась благодаря Тому Крузу От офиса в питерском подвале до гранта Microsoft: история компании Addreality, которая появилась благодаря Тому Крузу

История этого бизнеса началась почти как анекдот

Inc.
8 лучших книг о космосе 8 лучших книг о космосе

Лучшая научная фантастика о космосе

GQ
Скальпель vs аппаратные процедуры: что быстрее омолодит и сделает лицо красивым Скальпель vs аппаратные процедуры: что быстрее омолодит и сделает лицо красивым

Косметолог или все-таки хирург?

Cosmopolitan
Первым было яйцо Первым было яйцо

Похудеть помогут блюда из яиц

Худеем правильно
«Для народа свобода не стала ценностью» «Для народа свобода не стала ценностью»

Валентин Юмашев рассказывает о своей работе с Борисом Ельциным

Forbes
10 спутников Солнечной системы, подходящих для колонизации 10 спутников Солнечной системы, подходящих для колонизации

Не только Марс: какие планеты Солнечной системы можно колонизировать

Популярная механика
Накормить малоежку: чем грозит недоедание Накормить малоежку: чем грозит недоедание

Что включить в меню ребёнка и что нельзя делать, если ребёнок мало ест

9 месяцев
Как не поправиться на майские, но при этом есть шашлык: лайфхаки от диетолога Как не поправиться на майские, но при этом есть шашлык: лайфхаки от диетолога

Лишние килограммы не повод отказываться от шашлыков

Cosmopolitan
«За Зину»: как медсестра, потерявшая в бою руки и ноги, вдохновляла тысячи людей «За Зину»: как медсестра, потерявшая в бою руки и ноги, вдохновляла тысячи людей

Медсестра Зинаида Туснолобова спасла 123 раненых, вытащив их из-под пуль

Cosmopolitan
Космические нейтрино высоких энергий рождаются квазарами Космические нейтрино высоких энергий рождаются квазарами

Каждую секунду Земле проходят более 60 миллиардов нейтрино

Наука и жизнь
Правила жизни Владимира Ленина Правила жизни Владимира Ленина

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

Esquire
Онкоскрининг: как обнаружить рак вовремя и что нужно для этого делать Онкоскрининг: как обнаружить рак вовремя и что нужно для этого делать

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

Cosmopolitan
Еще «Поехали!» скажи: зачем человеку космос Еще «Поехали!» скажи: зачем человеку космос

Почему человека тянет в космос

РБК
Лишнего не надо Лишнего не надо

Если отказаться от ненужных покупок, взамен получишь много всего полезного

Cosmopolitan
Кровать для президента Кровать для президента

Что скрывает секретный бункер в Ярославской области

Наука
Ювелир Илья Клюев о том, почему бижутерия не заменит настоящие ювелирные изделия Ювелир Илья Клюев о том, почему бижутерия не заменит настоящие ювелирные изделия

Известный ювелир, владелец российского ювелирного дома CLUEV - Илья Клюев

Cosmopolitan
Как украинские поп-звезды зажигали на «Евровидении»: Лобода, Лорак и другие Как украинские поп-звезды зажигали на «Евровидении»: Лобода, Лорак и другие

Как на «Евровидении» вызывали фурор представительницы соседней страны

Cosmopolitan
Ароматный шлейф принцессы Ароматный шлейф принцессы

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

Караван историй
15 фактов о фильме «Титаник», которые заставят вас взглянуть на него иначе! 15 фактов о фильме «Титаник», которые заставят вас взглянуть на него иначе!

Эти факты о «Титанике» тебе точно были неизвестны

Cosmopolitan
Астрономы предложили использовать изопрен в качестве биомаркера Астрономы предложили использовать изопрен в качестве биомаркера

Он может существовать в атмосферах экзопланет

N+1
Не лучше плацебо: ученые утверждают, что парацетамол не работает Не лучше плацебо: ученые утверждают, что парацетамол не работает

Правда ли, что парацетамол не эффективен

Cosmopolitan
Стеснительная Шарлотта: самые трогательные снимки детей Кейт Миддлтон и Уильяма Стеснительная Шарлотта: самые трогательные снимки детей Кейт Миддлтон и Уильяма

Герцоги Кембриджские воспитывают троих наследников: Джорджа, Шарлотту и Луи

Cosmopolitan
Эвакуация с Гавайев на материк спасет вымирающих цветочниц от малярии Эвакуация с Гавайев на материк спасет вымирающих цветочниц от малярии

Что позволит спасти цветочниц-попугаеклювов неминуемого исчезновения?

N+1
Открыть в приложении