Найти тему
Цифрокритицизм

Легендарный создатель Doom - Джон Д. Кармак

Оглавление

"Мне нравится думать, что я хорошо разбираюсь в том, что делаю".

Сегодня, уважаемые читатели, героем нашей публикации станет не великий ученый, не академик и не доктор философии (PhD), а просто достаточно талантливый программист и предприниматель. Такое отступление мы делаем для того, чтобы проиллюстрировать на конкретном примере, что возможность сделать вклад в некоторую предметную область есть абсолютно у каждого специалиста. Итак, к сути!

За работой в id Software, 1993 год
За работой в id Software, 1993 год

Джон Д. Кармак - американский разработчик компьютерных игр; инженер в областях информатики, аэрокосмической техники и виртуальной реальности; предприниматель, соучредитель и совладелец компаний id Software и Armadillo Aerospace. В 1991 году Кармак стал одним из основателей компании id Software, которая прославилась разработкой основополагающих серий игр в жанре FPS(прим. - first person shooter) — Wolfenstein 3D, Doom, Quake, — ведущим программистом которых и был Кармак. Его методы программирования и уникальные дизайнерские решения Джона Ромеро способствовали популярности этого жанра в 1990-х годах. Можно с уверенностью заявить, что вся современная игровая индустрия сформировалась в нынешнем виде именно благодаря Кармаку и команде id Software.

Джон Кармак родился 21 августа 1970 года в США, округе Джонсон, штат Канзас, в семье телеведущего местных новостей. Учился в школах Shawnee Mission East High School и Raytown South High School. Первый компьютер в школе ему показал его учитель. Это был Apple II, а первую "программу" Кармак написал в компьютерном магазине. В книге "Masters of Doom" описан случай, как возрасте 14 лет Кармак помог группе детей проникнуть в школу в неурочное время с целью кражи компьютеров Apple II, но во время взлома сработала бесшумная сигнализация. Джон был арестован и направлен на консультацию к психологу и приговорён к 1 году пребывания в доме для так называемых "сложных" детей. В последующие годы Кармак активно изучал программирование и, естественно, играл в компьютерные игры. В 15 лет, после прочтения книги "Хакеры. Герои компьютерной революции", он окончательно определил для себя чем он будет заниматься.

Больше всего Кармаку нравилось работать с графикой, в том числе - создавать 3D-модели. Связано это было с тем, что результат сразу был виден на экране. Первая игра Кармака называлась Shadowforge и очень походила на Ultima - одну из его любимых игр, хотя и содержала несколько дополнительных геймплейных особенностей: например, персонаж мог атаковать не в четырёх направлениях, а в восьми. Джон заработал тысячу долларов, продав игру частной компании. Затем он продолжил работать как фрилансер, продавая свои игры разным издателям, но в конце концов согласился принять предложение о работе от Softdisk. Так началась карьера профессионального разработчика.

Создание id Software

В 1991 году Джоном Д. Кармаком, Джоном Ромеро, геймдизайнером Томом Холлом, художником Адрианом Кармаком (не родственник Джона), уволившимися из Softdisk, была основана компания id Software, внесшая существенный вклад в технологии, применяемые в компьютерных играх на IBM PC (платформы DOS и Windows), создав известные игровые серий Wolfenstein, Doom и Quake. Особенно важный вклад компания внесла в технологии компьютерной трехмерной графики и игровых движков (создав серию движков id Tech(прим. - последняя версия id Tech 7)), получивших широкое применение в индустрии компьютерных игр.

id Software также внесла крайне значимый вклад в создание такого жанра компьютерных игр как шутер от первого лица. Wolfenstein 3D часто упоминается как первый «настоящий» шутер, Doom в значительной мере привлек внимание к жанру и к IBM PC как к игровой платформе в целом, а Quake 1 стала первой по-настоящему трехмерной игрой в жанре, а игровой движок id Tech 3 использовался при разработки первый части популярной серии Call of Duty и других менее успешных игровых серий.

Своеобразным итогом самостоятельной работы стало то, что компания id Software была приобретена издателем ZeniMax Media 24 июня 2009 года как ценный актив для издателя. Тодд Холленсхед, генеральный директор id Software, так прокомментировал акт приобретения: «Сотрудничество с умным издателем, таким, как Bethesda Softworks, было уникальной возможностью, при которой интересы студии и издателя будут полностью одинаковыми и в разработке, и в маркетинге наших игр. Кроме того, теперь мы имеем финансовые и деловые ресурсы для поддержки будущего развития id Software; это огромное преимущество, которое приведёт к более и более хорошим играм для наших фанатов».

Решение о продаже компании, изначально принятое общественностью как спорное, в итоге привело к успешному перезапуску легендарной серии Doom в 2016 и в 2020 годах, но уже без одного из главных создателей - Джона Кармака, покинувшего студию в 2013 году.

Участие в разработке id Tech и создание Doom.

id Tech - семейство игровых движков, разработанных американской компанией id Software при главном участии Джона Кармака. Каждая из устаревающих версий движков id Tech после выхода новой версии публикуется как свободное программное обеспечение под лицензией GNU. Все версии движка используют API OpenGL.

При создании 3D-рендера для игры Doom Кармак использовал технику Двоичного разбиения пространства (прим. - BPS-древа) подсмотренную им в работе «On Visible Surface Generation By A Priori Tree Structures». Её иногда называют определением видимой поверхности (прим. - visible surface detection или VSD). Это метод рекурсивного разбиения евклидова пространства в выпуклые множества и гиперплоскости, впервые описанный в научной статье для создания авиасимуляторов ВВС США в 1969 году (R. Schumacher, B. Brand, M. Gilliland, W. Sharp, "Study for Applying Computer-Generated Images to Visual Simulation", Air Force Human Resources Laboratory, December 1969). В качестве потенциального решения предлагалась так называемая "матрица приоритетов".

R. Schumacher, B. Brand, M. Gilliland, W. Sharp, "Study for Applying Computer-Generated Images to Visual Simulation", Air Force Human Resources Laboratory, December 1969
R. Schumacher, B. Brand, M. Gilliland, W. Sharp, "Study for Applying Computer-Generated Images to Visual Simulation", Air Force Human Resources Laboratory, December 1969

Джон Кармак не только оценил весь потенциал работы, но и нашёл способ реализовать BSP-деревья в реальном времени на процессорах, которые даже не могли выполнять операции с плавающей точкой. Это стало прорывом в разработке Doom, позволив создать гораздо более сложные и много- уровневые локации.

Версия id Tech 1, первоначально известная как "Doom engine", была создана Джоном Кармаком, Джоном Ромеро, Дэйвом Тейлором и Полом Радеком. Первоначально разработанный на компьютерах NeXT, он был портирован в MS-DOS для выпуска Doom, а затем и на игровые консоли. Исходный код был выпущен 23 декабря 1997 года под собственной лицензией, а затем 3 октября 1999 года под лицензией GPL.

id Tech 1 использовался компанией при разработке Doom (1993), Doom II: Hell on Earth (1994) и Doom 64 (1997).

Работа в Oculus / Meta*

Увлечение Кармака VR-технологиями с начала 2000-х стало продолжением любви к созданию графических движков. Так, познакомившись на форуме Meant to be Seen с Лаки Палмером - создателем Oculus Quest, уже в августе 2013 года Джон Кармак присоединился к компании Oculus в качестве CTO для работы над проектом Oculus VR и уже в ноябре того же года он полностью покинул id Software, забрав все свои наработки, чтобы посвятить все время Oculus. Основная причина ухода Кармака заключалась в том, что материнская компания id Software - ZeniMax Media - не хотела поддерживать Oculus с их продуктами VR и Rift, однако Джону видел в VR-технологиях будущее.

Во время работы в Meta (после поглощения Oculus компанией Meta в 2014 году) Кармак не скрывал внутренних противоречий в компании, критикуя излишнюю бюрократию, малый штат сотрудников в ответственных подразделениях и завышенные траты на VR направление при отсутствии видимых результатов.

В ноябре 2019 года Кармак ушел с позиции CTO в Oculus, чтобы стать внештатным консультантом, выделяя таким образом больше времени на работу над сильным искусственным интеллектом. 19 августа 2022 года Кармак объявил, что он собрал 20 миллионов долларов для своей новой компании Keen Technologies. В декабря 2022 года Кармак полностью разорвал отношения с Oculus, чтобы сосредоточиться на работе в Keen Technologies, где работает и по сей день.

Приверженность Open Source.

Кармак является известным сторонником программного обеспечения с открытым исходным кодом и неоднократно высказывал возражения против патентов на программы, приравнивая патентную политику к грабежу. Он участвовал разработке проектов с открытым исходным кодом, среди которых - X Window System для Mac OS

В 1995 году выпустил исходный код Wolfenstein 3D, a в 1997 выпустил исходный код Doom, внеся таким образом серьезный вклад в сообщество программистов. Сам же Doom, будучи идеально оптимизированной игрой, с тех пор запускался на самых причудливых устройствах.

Позднее, компания id Software выпустила исходный код таких своих хитов как Quake, Quake 2, Quake 3 и Doom 3, что позволило создать совершенно чудовищное количество модификаций и дало путевку в жизнь немалому числу программистов.

*В России признана экстремистской организацией

Публикация подготовлена по материалам опубликованным в сети Интернет.

Цифрокритицизм в Телеграм