Neonavt

вчера в 22:22

614

56 лет Джону Кармаку: рок-звезда, которая писала движки

Один из властелинов Doom, архитектор виртуальных миров Джон Д. Кармак больше всех подходит под определение рок-звезды индустрии. Не в последнюю очередь своим отчаянным нежеланием уходить на пенсию. Впрочем, сегодня ему исполняется всего-то 56 лет.

Позади звездные годы в id Software, купленная для понта, а затем подаренная с барского плеча вишнево-красная Ferrari (счастливцем оказался Деннис Фонг, чемпион турнира Red Annihilation по первому Quake), собственная аэрокосмическая компания Armadillo Aerospace и несколько плодотворных лет в команде VR-флагмана Oculus Rift.

news_6a887a41de2b6.jpg

Ныне острый разум Джона переключился на проблемы искусственного интеллекта. Программист-самоучка, Кармак уверен, что так называемый общий ИИ – машина, способная понимать окружающую среду и мир в целом на уровне человека, – достижим. Более того, в интервью трехлетней давности Джон оценил шансы появления ОИИ к 2050 году на уровне 95%. То есть со всей очевидностью планирует встретить это событие еще при своей (невероятной) жизни.

И все же об играх. Попробуйте мысленно удалить Джона Кармака из истории компьютерных развлечений – и все посыпется.

news_6a887a7230fd3.jpg

Ранние ПК-аркады лишаются плавного скроллинга. Wolfenstein 3D – скорости, позволившей бродилке от первого лица убедительно работать на самых ранних IBM PC. Doom превращается в неиграбельное слайд-шоу. Quake проваливается в техно-демонический ад, лишившись своего трехмерного фундамента. А все интернет-шутеры продолжают мучительно выяснять, что делать с модемным пингом.

Конечно, история не терпит настолько простых экспериментов: любую технологию рано или поздно придумал бы кто-нибудь другой. Но 21 августа – хороший повод посмотреть не на мифологию вокруг Джона Кармака, а на то, что именно этот человек последовательно менял в устройстве видеоигр.

news_6a887a9e6106b.jpg

Для Commander Keen Джон изобрел технику, которую назвали adaptive tile refresh. Грубо говоря, вместо постоянной перерисовки всего изображения компьютер обновлял преимущественно те элементы, которые действительно изменились. В сочетании с хитрым использованием возможностей EGA-видеоадаптеров это позволило добиться плавного скроллинга, выглядевшего почти по-консольному.

В Wolfenstein 3D Кармак использовал сильно оптимизированный рейкастинг – рендер математических лучей из глаз героя. Настоящим трехмерьем там еще и не пахло: карты оставались двумерными, стены имели одинаковую высоту, этаж над этажом построить было невозможно. Но именно ограничения вкупе с придумками Джона делали систему быстрой.

news_6a887aaf6571b.jpg

Вместо расчета сложной сцены программа решала гораздо более простые задачи – и Би Джей Бласковиц крошил нацистов с неизменно высоким FPS.

В Doom картинка стала заметно насыщеннее: появились помещения произвольной формы, разная высота пола и потолка, лестницы, движущиеся платформы, меняющееся освещение. Одним из ключевых ноу-хау стало использование binary space partitioning – BSP (не путать с легендарным стримером GG), предварительной нарезки и каталогизации геометрии уровня таким образом, чтобы во время игры движку было проще определить, какие поверхности необходимо рисовать в данное мгновение.

news_6a887ac4787f7.jpg

BSP Кармак не изобрел, этот подход существовал на бумаге задолго до Doom. Но именно умение брать академические идеи и превращать их в работающие игровые технологии стало его инженерным почерком.

Ради Quake Джон сполна погрузился в дебри полигональной геометрии, а специальное издание QuakeWorld стало плодом любви Кармака с векторной алгеброй – и сделало возможным комфортный deathmatch даже по диалапу. С технологией client-side prediction компьютер геймера больше не должен был ждать от сервера подтверждения каждого движения. Клиент мгновенно показывал предполагаемый результат команды, а затем корректировал его в соответствии с авторитетными данными сервера.

news_6a887b7d7c398.jpg

И так далее, и тому подобное, очевидное и невероятное. Вывод, он же поклон мастеру: Джон Кармак регулярно находил прием, который уже существовал на уровне идеи, понимал, как приспособить его к актуальному железу, и доводил до состояния, после которого все вокруг начинали двигаться в ту же сторону.

И быть может, он еще не раз выступит для нас путеводной звездой индустрии. Ведь как мы сказали, Кармаку всего-то 56. Мальчик!

news_6a887b8b4ac07.jpg