Джон Кармак о прошедших 20 годах, Doom’е и кредо id Software

Культ | |

john-carmackВ полночь, ровно 20 лет назад, 10 декабря 1993 года, руководитель id Software загрузил файл на FTP-сайт в сети Вашингтонского университета. Файл назывался doom1_0.zip. Тем самым он положил начало одной из величайших революций в мире игр – не масштабными празднованиями в день выхода и не многомиллионной рекламной кампанией, а лишь пересылкой двух мегабайт данных.

А дальше инициативу подхватили игроки. Они скачивали условно-бесплатный файл и моментально загружали его на другие FTP-сайты и локальные BBS. Так, сквозь череду скачиваний, Doom начал своё шествие по миру. Игру вполне можно называть культурным феноменом, она популяризировала жанр FPS и сместила преобладающую в играх эстетику с «утренних субботних мультиков» до «ночных субботних ужастиков».

Предыдущие игры id – Commander Keen и Wolfenstein 3D – были чудесами технологии, превратившими компьютер в достойную альтернативу игровым консолям, когда дело касалось динамичных экшенов. Сердцем этих инновационных игр была технология гениального программиста и сооснователя id, Джона Кармака, который в течение долгих лет после выхода Doom продолжал создавать потрясающе красивые графические движки для игр id. 22 ноября этого года Кармак покинул id, чтобы работать на посту технического директора компании Oculus VR, разрабатывающей устройства виртуальной реальности для игр.

В честь 20-й годовщины самой важной игры в его жизни, мы пообщались с Джоном о создании Doom, о разработке игр в начале 90-х и поинтересовались его мыслями о будущем серии (ответы Кармака отредактированы в целях сокращения и внесения ясности).

Doom стал по большому счёту основоположником жанра. Сначала для описания похожих игр был в ходу термин «клон Doom», но вскоре он заменился обобщением «шутер от первого лица». Удивительно, насколько быстро шутеры стали связываться с видом от первого лица.

Определение жанра, в плане того, что люди от него ждут, заключается не в технологиях визуализации или проработке персонажей, или в чём-то ещё – оно заключается в очерчивании его границ, и мы тесно связаны с этим. Жанр FPS достаточно стабилен, он никогда не исчезнет, как и гоночные игры. Есть что-то инстинктивно приятное в том, чтобы выглянуть из-за угла и в кого-нибудь пальнуть.

Интересно, что было время, когда FPS-игры стали терять популярность. Я тогда думал, что вполне логичным будет доминирование шутеров от третьего лица, ведь такой вид открывает новые возможности управления камерой. Я почти смирился с тем, что этот жанр станет популярнее, ведь он так же использует 3D-рендеринг, там похожие технологии в движках, но при этом управление камерой косвенное, а не прямое. И могу сказать, что был обрадован и приободрён, когда Call of Duty вернул шутеры от первого лица на вершину популярности.

doom-cyberdemon

 Ранняя история id Software была связана с изобретением хитроумных технологий, вокруг которых впоследствии строилась игра. Можете ли вы сказать то же самое о разработке Doom?

Это правда, тогда очень многое в первую очередь зависело от технологии, даже если вспомнить двумерные платформеры или Wolfenstein. Но в эпоху зарождения 3D, когда мы перешли от Wolfenstein к Shadowcaster, а потом к Doom, было особенно важным сначала выяснить свои возможности, а потом придумывать, как их можно использовать.

Так сложилось, что сначала трёхмерная графика использовалась для создания авиасимуляторов и подобных игр. Так что решение использовать 3D, но при этом с наложением текстур, во многом повлияло на то, как создавались наши технологии.

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

Можете ли вы описать основные различия между Wolfenstein 3D и Doom с технологической точки зрения?

В работе на движком, что я в своё время писал для Origin, были некоторые промежуточные шаги, добавляющие освещение, полы и потолки – он по-прежнему работал на базе тайлов, но та часть графики, на которую смотрит игрок, тёмные зоны, которые освещаются фонариком, уже не использовали тайлы. Даже в более сложных играх с потолком, полом и освещением всё ещё повсюду были тайлы, но в Doom мы смогли обойтись без этих повторяющихся узоров, что предоставило нам больше творческой свободы. Также я придал больше динамики местам, где вы можете взаимодействовать с освещением, полами и потолком.

Другие вещи были менее заметны, потому что не касались визуальной части. Главными аспектами, очевидно, являются мультиплеер, где вы впервые могли сыграть deathmatch и кооператив для совместной игры с друзьями. Что уже не так очевидно, это специфическая работа, которую я проделал ради поддержки модификаций. Мы видели, как в Wolfenstein люди разбирались во всём самостоятельно, создавали карты, перерисовывали спрайты и прочее – это не было задумано нами изначально. Это стало неожиданным свойством игры.

wolf3d-new

Учитывая это при работе над Doom, я понимал всю важность модификаций и отдельно поработал над файлами .WAD и над средствами, которые позволяют пользователям изменять практически всё, что угодно. Всё получилось не очень гладко, там остались некоторые вещи, которые могут повысить удобство модифицирования и отсутствуют скрипты, которые мы позже добавили в Quake, но это стало очень полезным вспомогательным функционалом.

 Значит вы заранее были на стороне моддинга. Не было ли каких-то возражений со стороны id и других дизайнеров, обоснованных мыслями, что если игроки смогут создавать свои уровни, они не будут покупать ваши?

Внутри id шла многолетняя война по поводу открытости и модифицируемости наших технологий. Как вы и сказали, люди беспокоились насчёт коммерческой конкуренции со стороны пользовательских уровней. И были конкретные примеры, вроде игры D-Zone, которая шла с пакетом, включающим несусветное множество различных уровней, и любой мог скачивать их с BBS и загружать туда. Есть вероятность, что так они могли заработать больше денег, чем мы с нашей розничной продажей Doom, ведь на то время мы были очень наивными. У нас не было достойного соглашения с издателем. Мы заработали много денег, но ведение бизнеса и издательские договорённости были далеки от оптимальных.

Мы знаем, что некоторые подобные вещи продавались в огромных масштабах, и это вызывало недовольство в отдельных уголках нашей компании. Я не думаю, что они что-то у нас отобрали, ведь у нас не было такого пакета уровней. Так что основным нашим аргументом было: если кто-то делает деньги на том, что вы могли сделать, но не сделали, вы разозлитесь на них, или скажете, что вас это не касается?

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

И впоследствии я был рад, когда один из моих партнёров, Кевин Клауд, признался, что я был прав, продвигая эту идею. Потому что он смотрел на ситуацию не со стороны комьюнити и открытости технологий, а со стороны риска для бизнеса. Объективно оглядываясь назад, я думаю, что мы приобрели больше, чем могли бы потерять. Но сказать по правде, в то время я просто делал то, что казалось мне правильным.

Помню, как тогда рассказывал, что подростком редактировал секторы в Ultima II на своём Apple II, пытаясь взломать игру и научиться превращать деревья в сундуки или добавлять себе золота, или ещё что-нибудь, и мне нравилось этим заниматься. Выпустить исходный код и сделать его простым для модификации, чтобы позволить будущему поколению иметь то, чего мне хотелось в их годы – думаю, это была прекрасная идея. И сегодня я часто встречаю людей, которые признают, что открытость Doom, или же Quake, помогла им разобраться в тонкостях устройства игр и попасть в индустрию. Множество серьёзных персон из серьёзных компаний до сих пор говорят на эту тему много хороших вещей.

Можете назвать кого-то конкретного?

[смеётся] Был прекрасный пример буквально неделю назад, но я, на самом деле, не могу упоминать этого человека. Там есть кое-что, связанное с Oculus. Забавно, но я избегал этого 20-летия Doom, потому что сейчас вовсю работаю над новыми вещами и, по большому счёту, не вспоминаю о том, что сделал раньше. Так что сейчас для меня настало опасное время – приходится хранить множество секретов об Oculus, и всегда есть риск, что в очередной непринуждённой беседе я случайно о чём-нибудь проболтаюсь.

Doom привнёс в шутеры идею «deathmatch» – онлайн-сражений между несколькими оппонентами.

doom-2-multi

 Чуть ранее упоминалась условно-бесплатная модель распространения Doom. У вас не было предчувствия, что в итоге эта модель сойдёт на нет?

Я не столько думал о том, как долго проживёт эта модель, сколько о том, что она не будет оптимальной для продукта, привлекающего такое широкое внимание. Мы знали, что Doom была одной из немногих игр, вызывающих массовый ажиотаж, её даже и стараться продавать не нужно было, она продавалась сама собой. Люди смотрели на игру, понимали, что ничего подобного прежде не видели и хватали без раздумий – с продажей Doom не могло возникнуть никаких сложностей.

Условно-бесплатная модель отлично подходит для игр, в которых люди могут сомневаться. По сути, это демонстрационная версия, которую можно опробовать перед покупкой. Вы бесплатно получали часть игры, а остальное предлагалось купить, но демо было продолжительным – примерно треть всей игры. Идея принадлежала Скотту Миллеру из Apogee, который преобразил классическую shareware-модель, при которой вся игра была доступна бесплатно и вы покупали её, если она вам понравилась. Модель никогда не была адски популярной. Под словами «треть игры бесплатно, остальное после покупки» скрывалась, по сути, обыкновенная демо-версия.

И для нашей команды эта модель прекрасно сработала. В случае с Wolfenstein и с самой Doom. Но вряд ли это лучший вариант, когда вы прочно закрепились на рынке. Сейчас для меня предельно ясно, что у нас были никуда не годные отношения с издателем. Будь наше положение получше, мы бы заработали раза в два больше.

Так это или нет, но по всеобщему мнению вы – человек, что придумывает все технологии для игр и передаёт их дизайнерам. Какую роль вы играли в работе над дизайном геймплея Doom?

Геймплей – в плане того, как работает оружие, как работают предметы для взаимодействия с миром, как работает ИИ – уже был прописан в моём коде. Эту родословную можно проследить до Wolfenstein 3D, которая основана на двумерной игре Catacombs, позже превратившуюся в Catacombs 3D. Эти вещи я писал с нуля. Но индивидуальность игре во многом придавал [соавтор Doom, Джон] Ромеро, настраивая наносимый урон, регулируя скорость и прочее. Его рука причастна к настройке множества основных элементов. А я писал контур обратной связи для происходящего.3 Я не был человеком, который решал, что «тут должно быть 4 вместо 5» или «тут лучше сделать 20 вместо 10». Этим занимались дизайнеры.

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

За этим стоял и небольшой подтекст, ведь я был помоложе и поагрессивнее. Я мог сказать, что весело обижать тех, кто легко обижается. По крайней мере моя насмешка над фундаменталистами скрывалась в демонах, пентаграммах, козлиных головах и тому подобных вещах. Так что я всецело поддерживал эту идею, хотя конкретизировали её уже наши художники, Кевин и Адриан.

q1

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

Не особо. Думаю, было даже интересно долгие годы быть козлом отпущения. Когда кому-то хотелось в чём-то обвинить игры, всегда под рукой были Mortal Kombat и Doom, пока не появилась Grand Theft Auto, ставшая столь возмутительной, что в её свете мы выглядели белыми и пушистыми. Я понимаю, зачем люди это делают и почему это происходит. Они ищут подходящую цель для переложения вины, а возможно и настоящего виновника. Думаю, это часть человеческой природы, и кому-то всегда приходится подставляться под удар. Впрочем, эти удары не так уж и сильны. Не было никаких федеральных запретов ни на одну из этих игр. На нас это почти не повлияло. По большому счёту, это просто театр политиков.

Помню времена, когда мы не могли дождаться, пока дома появится 386, чтобы поиграть в Doom, а до этого были несказанно рады Wolfenstein после перехода на 286. Вас не волновало, смогут ли люди запустить ваши игры? Потому что многие домашние компьютеры этого не позволяли.

Wolfenstein работала на 286 с использованием дополнительной памяти – старого обходного пути EMS/XMS, который мы избрали, делая игру более доступной. И в случае с Doom пришлось принимать решение: можем ли мы сделать игру только под 386? Возможно, Doom стала первой известной игрой, использующей расширитель DOS на 386 и написанной в 32-битном защищённом режиме. Я мог бы написать что-то подобное с поддержкой 286, и, наверное, владельцы этих машин наслаждались бы игрой в крохотном окне с заикающимися 10 кадрами в секунду.

Но мы решили, что будет лучше перейти на новый уровень и предоставить людям с мощными системами более яркий опыт ценой отказа от поддержки слабых компьютеров. И в какой-то мере, это до сих пор не даёт мне покоя. Но мы были вынуждены покончить со старыми приёмами, когда, к примеру, выпускали CGA-версию Commander Keen: Aliens Ate My Babysitter. В четырёх цветах она выглядела ужасно, и едва ли кто-то вообще мог в неё играть.

Мы смотрели на статистику и ужасались, насколько огромную долю рынка составляют владельцы слабых видеокарт. При этом тех, кто действительно играет в игры, было не так уж много. В Wolfenstein мы приняли решение отказаться от EGA графики и делали игру в 256 цветах. Это далось нам непросто. И перед работой над Doom мы сказали, ладно, игра будет для 386. Quake требовал обработки чисел с плавающей запятой, и это был, пожалуй, наиболее проблематичный ход. Потом был Quake 3, требующий GPU.

quake3

Даже по сей день мне непросто с этим мириться. Разработчики ещё не успели выжать из 360 и PS3 всё, на что они способны, а мир уже бежит навстречу консолям нового поколения и мощнейшим PC. Какая-то часть меня всегда тревожится, когда, полностью разобравшись с текущим поколением, его приходится откладывать в сторону и нестись дальше на гребне технологической волны, что безостановочно движется вперёд. Ситуация повторяется каждое поколение. Сейчас я уже накопил достаточно опыта, чтобы понимать необходимость расставания с технологиями, которые ты близко изучил, полюбил и создал что-то с их помощью. Статистика прошедших лет показывает, что не стоит придавать этому столь серьёзного значения.

Впрочем, я продолжаю приводить новые аргументы, что в наше время графика уже не так сильно влияет на возможную прибыль, а люди сходятся во мнении, что хотя новые консоли и выдают картинку получше старых, разница в поколениях не столь велика, как в прошлый раз. Так значит, все останутся довольны и текущими технологиями? Я мог бы с каменным лицом использовать этот аргумент, но думаю, это не приведёт ни к чему хорошему.

Когда люди обновляли железо ради игры в Wolfenstein или Doom, они становились свидетелями настоящего волшебства, глазам не верилось, что их компьютер способен обрабатывать что-то настолько внушительное. Потому что на самом деле это были не трёхмерные игры, правильно? Они заставляли людей верить в трёхмерность мира, и всё благодаря отлично продуманному дизайну.

Да, это как если взять винтовую лестницу, закрученную по спирали, вы не будете представлять, что она кончается после 90-градусного поворота, ведь она не может постоянно продолжаться над вашей головой. И вы прощаете невозможность посмотреть вверх или вниз. В то время приходилось идти на компромисс в основных системах, отказываясь от чего-то и что-то получая взамен. Сегодня с этим всё гораздо проще, потому что можно до блеска отполировать практически всё, что вы захотите внести в игру. Аппаратное ускорение автоматизирует процесс, но также во многом определяет ваши решения. Если вы захотите сделать что-то, что не будет нравиться железу, вы столкнётесь с проблемами, преодолеть которые будет практически невозможно.

Это было захватывающим временем в плане принятия решений. Когда на вершину взошли GPU, они забрали у нас львиную долю свободы. Можно было по-прежнему делать множество интересных вещей, но список задач, которые вы могли перед собой ставить, был уже несколько ограничен. Ведь есть только один очевидно правильный способ взаимодействия с аппаратурой. Во времена работы над Quake у нас были люди, занимающиеся воксельными движками, рендерингом всевозможно деформированных спрайтов и за этим разнообразием было интересно наблюдать, а сейчас повсюду только вершинные и пиксельные шейдеры.

voodoo2

В ту пору существовали системы высшего класса, способные предоставить людям именно то, чего они всегда хотели: генераторы изображений от Evans, Sutherland и Silicon Graphics знали своё дело. Мы были бы рады использовать подобные вещи в программировании и создании игр, но это просто не было возможно. И не было бы возможно ещё лет пять шесть или больше, пока GPU не вышли на этот уровень. А они могли и вовсе на него не выйти, если бы мы не предпринимали те первые шаги.

Интересно отметить неприязнь со стороны людей, что занимались симуляторами, игры вроде Doom они считали едва ли не оскорблением. Потому что ясно видели, что не всё работает гладко. Нет фильтрации пикселей, цвета смешиваются. Они могли сказать, что голова не крутится по сторонам, что нельзя сделать того и этого. Игра отталкивала их, ведь они знали про все мои уловки.

Это было важным решением: принести что-то в жертву ради повышения итогового значения. Мы можем сделать что-то, что никак не получится реализовать по-другому и порадуем миллионы людей, сэкономив на корректности и достоверности. Избавиться от вещей, которые хорошо было бы иметь, решив, что без них можно достигнуть гораздо большего.

Кармак настаивал на демонах вместо людей в качестве врагов, чтобы в игре не было «серой зоны» морали.

Когда вы говорите о прошлом, не похоже, будто ваши воспоминания пропитаны ностальгией.

Я не раз говорил, что совершенно не склонен к сентиментальности. Я вообще редко трачу время на воспоминания, разве что в такие вот годовщины. Единственный раз, когда я окунулся в прошлое без всяких приуроченных событий, был во время создания Doom Classic для iOS, когда я сказал, ладно выделю на это дело неделек шесть или около того и со всем разберусь. Это было по-настоящему приятным временем, я о многом вспоминал, пробираясь через свой старый год, глядя на всё это, играя в игру, самостоятельно проводя бета-тест и убеждаясь, что игра до сих пор держится очень достойно.

Я добавил приличную фильтрацию, 32-битный цветовой режим, и всё, что позволяла iOS, взглянул на результат и подумал, что именно таким сейчас и вспоминают Doom. Не то, что взять и правда запустить игру в DOSBox в разрешении 320×240 с пикселями размером с кафельную плитку и ужасными цветами. А когда играешь в современные версии на OpenGL или на iOS, можно сказать, да, я помню этого импа, я шёл по этому коридору, я заряжал этот дробовик – такой и была игра, а была она очень крутой. Даже и не думаешь о том, что графика стала в разы лучше.

 Doom славится портированием на все известные платформы, ну почти. Вы хотели бы портировать Doom на Oculus?

Я очень горжусь тем фактом, что в Doom можно поиграть на любом устройстве с 32-битным процессором, и я считаю, что главной заслугой открытого кода игры стала возможность поддержания её актуальности другими людьми. Я убедился в этом на личном опыте, когда работал над iOS-версией. Вместо того, чтобы копаться в коде 15-летней давности, я раздобыл одну из современных версий, где всё было подчищено и уже исправлены мои баги, так что я смог сэкономить время, дополнить игру поддержкой iOS и, внеся все изменения, выпустить с открытым кодом. Это по-настоящему здорово.

Что касается конкретно Oculus: если у меня будет свободное время, а его, конечно же, никогда не будет, я добавлю его поддержку в Doom 3. Когда-нибудь, через долгие годы, станут известны кровавые подробности последних полутора лет или около того, но сейчас об этом не время говорить. Хотя я ужасно себя чувствую за своё псевдо-обещание выпустить Doom 3 для Rift, и теперь мне не по себе от того факта, что дело никак не продвинулось. Мне хотелось бы над этим поработать, но времени нет. Сейчас я работаю над несколькими потрясающими вещами, о которых не могу рассказать, хоть и очень хотелось бы.

Oculus-Rift-2

 И последний вопрос, на который вы вряд ли ответите подробно, но всё же любой, кто читает статью про Doom, хотел бы услышать ответ – что там с Doom 4?

Тут я действительно не могу углубляться в подробности. Издалека так не скажешь, но выяснить, в чём же заключается особенная атмосфера Doom, на удивление непросто. Многочисленные фанаты игры расходятся во мнении о её важнейшей сути, и для дизайнеров это стало серьёзным испытанием.

Худший аспект продолжительной разработки в том, что на каждую новую игру тратится всё больше времени. Если бы я мог вернуться в прошлое и кое-что изменить в траектории развития id Software, игры могли бы выходить чаще и их было бы больше. Мантрой id всегда было «Будет готово, когда будет готово», и я отрекаюсь от этого лозунга. Больше я не считаю такой подход к созданию игр приемлемым. То есть, время имеет значение: если под «когда будет готово» подразумевается лишний месяц или два, то всё в порядке. Но если речь идёт про несколько лет, то вам нужно делать другую игру.

Фёдор XiixTii Суслов xiixtii@progamer.ru

Поделиться

Обсудить