«Человек на острие ножа» — Джон Кармак, вехи достижений и вклад в игровую индустрию





Фигура Джона Кармака в индустрии компьютерных игр (далее по тексту КИ) неоднозначна. Существует большое количество слухов и скандалов, связанных с его именем. Многие считают его неприятным человеком, и многие также считают его гением. Эти два свойства, кстати, не взаимоисключающи. Можно быть не самым приятным в общении человеком, но при этом делать удивительные вещи. В этой публикации мы не рассматриваем все заслуги Джона перед КИ, не обсуждаем его прения с членами команды, и не стараемся раскопать наибольшее количество скандалов. Даже историю Id Software затрагиваем не полностью, лишь вскользь касаясь пройденных Джоном вех.

Любой разработчик со стажем и любой отдавший всю свою жизнь индустрии может быть предметом глубоких исследований, множества публикаций, и даже книг. Однако все понимают, надеюсь, как много нужно времени, чтобы собрать всю эту информацию воедино, проверить и сопоставить факты, связаться с фигурантами, выработать четкую стратегию изложения. Чем больше проходит времени, тем плотнее пелена истории покрывает удаляющиеся от нас годы, откуда можно было бы извлечь знание. Одно дело если ты был очевидцем его, если читатель (или писатель) представляет старый пласт игроков и пласт людей интересующихся. Совсем другое дело если с материалом знакомятся люди, которые вообще не знакомы с играми Wolf3D, Doom, Quake и кому наборы букв IDDQD и IDKFA ничего не говорят. Как рассказать все и не утомить читателя? Как сосредоточиться на главном? Как не потратить недели и месяцы на публикацию казалось бы ненужной статьи?

Ответ прост. Выбрать то главное, что нужно донести до читателя. Выбрать стержень. Первопричину. То, что побудило написать эти строки. И я точно знаю, чего хочу в данный момент. Рассказать о том, почему я считаю Джона — человеком на острие ножа. Человеком авангарда. Рисковым экспериментатором и первопроходцем.




Необязательный пролог


В мою юность, эпоху 286-ых, игроки были очень жадными до игр. Каждая из них была чем-то особенным, каждая из них была предметом изучения. Это была эра «до интернета», период черных рынков, время BBS, диалапа (dial-up) и пятидюймовых дискет. Время, когда игр не могло быть много, и когда времени на их доскональное изучение хватало. И дело было не в скудности ассортимента, а в том, как этот ассортимент проникал в Россию. Я бы мог сказать «на рынки России», но это было бы неправдой. Рынков – не было. Были черные рынки, были барахолки, были «друг дискетку принес». О том, чтобы купить игру «по-честному» не могло быть и речи.

Эти трудности делали PC-игры чем-то особенным для тех, кто имел у себя дома ПК. Их частенько сравнивали с играми Amiga или Sega, пытаясь выпятить «свою платформу», забывая (а чаще всего не зная), что «родитель» у обсуждаемых игр один и тот же. Что разработчик сразу закладывал для своей игры несколько платформ. Тот же незабвенный Flashback вышел на чудовищном количестве платформ: Amiga, Mega Drive/Genesis, MS-DOS (floppy disk & CD-ROM), SNES, Mega-CD, Atari Jaguar (список не полон). Но в силу незнания получалось так, что в диалогах звучали фразы «крутая игра с ПК». Думаю Амижники только посмеивались слушая подобное. И не зря. Невероятное количество игр шло на ПК с Амиги, которая была основной игровой площадкой.

Обычно у знакомых и друзей был либо ПК, либо приставка, чаще всего Spectrum. И я не помню людей, которые бы имели одновременно и то, и другое. Возможно, где-то рядом и произошло разделение на ПК-шников и консольщиков. Геймпада и клавиатуры. Тогда не использовалось слово «порт с чего-либо», и не было термина «кривое портирование». Игры Prince of Persia, Flashback одинаково радовали глаз, как на Амиге с Атари, так и на Sega c PC.

Однажды один подросток, во время очередной из множества своих бесцельных прогулок, набрел на Дом Книги, неподалеку от станции метро Политехническая, и увидел за прилавком девушку, которая с невероятно интеллектуальным лицом играла в невероятно реалистичную игру. Синие стены, коричневые солдаты и золотые кубки. Я хорошо помню, как она это делала. Одним пальцем. Невероятно долго разворачиваясь к двери, также долго собираясь с мыслями, перед тем как нажать «пробел» чтобы открыть ее. Медлительность приводила к смерти. И уровень начинался заново.

Мне хотелось воскликнуть «надо же тремя пальцами, кто ж одним то!», но я не мог себя пересилить. Лишь продолжал стоять, заворожено разглядывая картины на деревянных стенах. Все что я помню о том моменте можно описать двумя словами – жажда обладания. Игрой. Для меня тогдашнего было вполне очевидно предпочесть компьютерные игры девушкам. Оглядываясь на пройденный путь и положа руку на сердце, я вижу, что ничего не изменилось. Девушки по-прежнему прекрасны и притягательны, но и игры притягательны тоже. Как и в 1992 году чтобы затащить игру к себе, не нужны ни цветы, ни длительные ухаживания. Более того невероятно удобный онлайновый сервис Steam готов выставить самых лучших из них за умеренную цену.

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

Веха первая




Многие из нас прекрасно знают, что Wolfenstein-3D не был первой «трехмерной» игрой, и не был первым шутером в истории игр. До него были Hovertank-3D и Catacomb 3-D. Интервал между ними не был большим, но отличались они разительно. Однако среди наиболее заметных и определяющих истоки жанра, на мой взгляд, стоит указать именно его. Wolfenstein-3D. Те, другие – были разминкой. Те, другие — не были так известны. Этот стал подобен хорошему фильму. Хорошая графика. Стиль. Качественный звук. Четкий и выразительный гейм-плей.



Известный факт, что свой движок Джон Кармак написал под впечатлением демо-версии движка игры — Ultima Underworld: The Stygian Abyss. Правда, версия Джона была существенно проще. Она не имела пола и потолка, не имела высоты в пространстве (ступеньки, комнаты расположенные на разных уровнях и другие перепады высот). Таким образом Wolfenstein-3D engine не был инновацией с точки зрения движка, но стал ею с точки зрения быстро работающего движка, и создания первого в истории шутера, который начал популяризировать жанр, механика которого была сосредоточена на постоянной беготне, стрельбе, сборе сокровищ и поиске секретов.



Как хорошо можно видеть в Ultima уже есть все то, что появится спустя некоторое время в Wolfenstein-3D, и даже в Doom, а именно перепад высот, изменение направления взгляда, покрытый текстурой пол, затенение поверхностей по мере удаления от наблюдателя и т.д. Нельзя сказать, что разработанное Кармаком было революцией, но революционным было продвижение шутера, как жанра вперед. С игрой, которой не требовались сверх-мощности. Кратно увеличенное изображение можно видеть здесь (разрешение 1586х880, размер 1.003 килобайт)

С точки зрения технологии Wolfenstein-3D engine был довольно прост. Он использовал спрайты в качестве объектов и покрытые текстурами стены, которые были теми же спрайтами, но с фиксированной позицией. Стены были строго вертикальными в плане высоты, и могли быть либо параллельными друг другу, либо перпендикулярными (могли образовывать лишь прямые углы в 90 градусов). Не имели разницы в освещении. Но даже такого скудного набора хватило, чтобы создать впечатляющую картинку. Отрисовка видимого и невидимого пространства осуществлялась за счет рейкастинга.



Рейкастинг в действии. Материал взят с википедии, со странички посвященной Wolfenstein-3D engine.


Уже в этой игре была заложена возможность пользовательских модификаций. Выстроив в текстовом файле набор значений из специальных символов вроде «x» или «0», можно было получить свой собственный уровень, где символ «x», к примеру, превращался в стену, а символ «0» в бочку. Не могу сказать, что именно отсюда растут ноги будущего подхода Id Software по части удобства пользовательских модификаций. Но факт остается фактом, сделать уровень для Wolfenstein-3D было возможным, а для Prince of Persia или Dune 2 – нет. К слову, 1992-год был очень богатым на игры, которые заложили фундамент будущего индустрии компьютерных игр.

Настоящие «трехмерные» стены, анимированные персонажи, объекты и сотни секретных тайников повсюду. Постоянная пальба, глубокий эксплорейшен (exploration), где было невыносимо уйти с уровня не найдя тот самый «последний секрет». Запоминающиеся боссы. В этой игре было все, что нужно для того чтобы ее проходить и не забрасывать до последнего. В то время игроку было достаточно врагов охраняющих клады и самих кладов, чтобы продолжать двигаться вперед.

Во время игры, конечно, мелькали мысли о том, что было бы здорово иметь такой же пол как и стены, такой же потолок как и стены, имевшие свой рисунок. Но, увы. Это было одним из ограничений данного движка. Технология только зарождалась. В качестве объектов насыщения использовались спрайты всегда ориентированные к игроку (позднее подобный принцип ориентации спрайта стал тем, что теперь называют billboard's). Даже эти два средства, стены и спрайты насыщения позволили добиться весьма впечатляющей картинки. И они не смущали. Это не вызывало отторжения потому что иного 3D мы еще не знали. Нам не с чем было сравнивать.



Как сказал мой друг разработчик:
— Если бы мы тогда увидели то, что мы видим сейчас… наверное у нас бы взорвались головы.

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

Веха вторая

Для меня было вполне очевидным, что Первые – так и останутся первыми, став флагманом нового жанра, и что меня, как игрока ждут удивительные открытия и незабываемые впечатления. Тем не менее, на некоторое время id Software выпала из поля моего зрения. Игр до 1993 года было более чем достаточно, чтобы забыть об их существовании. Alone in the Dark, Flashback, The Legend of Kyrandia, Another World, Dune, Dune II, Star Control II, Wing Commander II. Все это делало эти и последующие годы тем, что по праву можно назвать «эрой золотого ренессанса» в мире КИ. Каждая игра была чем-то новым и незабываемым. И что важнее всего — это была эпоха экспериментов. Игры сегодняшних дней и рядом не лежат с той бездной безумного экспериментаторства со стороны разработчиков. Игры сегодняшних дней – осторожные и выверенные схемы с точки зрения игровой механики, эксплуатирующие давно забытые истины, но не сильно продвигающие индустрию вперед. Об этом я упомяну отдельно в конце публикации.



Тема надо сказать довольно зыбкая и рискующая обрушить все повествование. Поэтому поспешим вернуться в 1993, к Джону Кармаку и той игре, что войдет в историю как Doom. И если Wolfenstein-3D может считаться дедушкой всех шутеров, то Doom определенно папка. И хронологически, и с жаргонной точки зрения. Даже термин «папка» впервые был мной услышан именно в клубах где проходили соревнования по Doom.
«Идеи, заложенные в Wolfenstein-3D, получили в нем дальнейшее развитие, достигнув неприличных масштабов и породив зеркальный эффект. Когда брошенный в воду камень поднимает волну, и круги от него расходятся в разные стороны, затрагивая самые разные уголки КИ.



Отличия от дедушки были довольно существенные. Пол и потолок теперь могли быть разных высот, на «полигоны» потолка могло быть нанесено небо, которое имело эффект параллакса, оно не двигалось вместе с уровнем, создавая дополнительный эффект глубины (предшественник будущих скайбоксов с тем же эффектом), стены перестали быть перпендикулярны и параллельны друг другу. Теперь они могли быть ориентированы к игроку под любым углом, и комнаты – перестали быть комнатами. Хочешь речку под ногами – пожалуйста. Хочешь овальную комнату – не проблема. Элементы уровня стали подвижными. Т.е. потолки и полы могли опускаться, стало возможным дистанционно открывать двери. Было добавлено покачивание игрока во время движения, и игрок перестал «ездить в танке» как это было в играх до этого.

Это был настоящий рывок вперед, тем более в пределах года. Правда были и ограничения, в силу псевдо-трехмерности. Невозможность наличия двух объемов (комнат или проходов) друг над другом. Уровни по структуре все равно оставались двумерными. Идеологически они оставались системой комнат, а не зданием, состоящим из них. Стены обязаны были быть вертикальными, без возможности их наклона относительно горизонтали. Игрок и персонажи, идеологически, как и в Wolfenstein-3D передвигались в одной плоскости, что не давало возможности перепрыгнуть другого персонажа, или проскочить под ним (в случае летающих противников). Масштаб спрайтов и текстур во всей игре должен был быть идентичным. Т.е. было невозможным усилить детализацию на отдельно взятом квадранте, или использовать длинную текстуру, или использовать текстуру большего разрешения.

С этим, кстати, прекрасно справлялся движок Кена Сильвермана, под названием The Build или просто Build. Отдельная ветка движка, использующая похожую идеологию, но обладавшая существенными от него отличиями. Которая, кстати подарила нам такие хиты как Duke Nukem 3D, Blood, Shadow Warrior, Redneck Rampage. Это тема отдельной и крайне длительной беседы (имеется в виду еще одна публикация, т.к. этот человек заслуживает, куда большего, чем статья).

Build, на мой взгляд достиг таких высот, что на этапе становления трехмерной графики в играх (полностью трехмерных игр), бил трехмерные игры бейсбольной битой, составляя им уверенную конкуренцию. Однако как мы хорошо знаем, индустрия придерживается моды в разработке продуктов. Поэтому если в следующем году будет модно играть в клоунских колпаках и стегать друг друга кожаными плетками, и за это вдруг начнут хорошенько платить – вы все будете бегать в играх как клоуны с плетками. И стратеги, и ролевики, и любители пострелять – все без исключения.

Примечание: Мое знакомство с Doom состоялось куда позже. В предыдущей вехе я упомянул о 286-ой машине, которой я располагал. К 93-году ситуация не сильно изменилась. И в Doom я играл у друзей. А до этого был долгий рассказ одного из них о том, как великолепна игра. Я опущу описание всех эпитетов, широко раскрытых глаз и эпилептически взмахивающих рук, которыми сопровождался этот рассказ. Чтобы не утомлять вас давно ушедшим отмечу лишь пару фраз:
— «Ты падаешь на землю лицом, лежишь а вокруг ходят монстры тебя убившие»,
— «Ты лезешь по лестнице, поднимаешься наверх и видишь кромку пола, а там… стоит монстр и ты видишь его ноги».
Живая фантазия, хорошо подпитанная тем, что я уже видел в других играх, нарисовала мне следующую картинку. Лестницу перед носом, покрытую желтой облупившейся краской, чудесные спрайтовые руки, перебирающие вверх по перекладинам, и многие другие детали. Понарисовав себе в голове черт знает чего, и, увидев затем то, как это было реализовано в Doom, я был разочарован. Тех самых «рук на перекладинах» я ждал и дождался лишь спустя долгие годы. Ровно, как и других вещей, которые мне тогда намечтались.
Так я познакомился с термином «несбывшиеся ожидания». Впоследствии это явление будет сопровождать не одну игру, и не только для меня. Крупногабаритные проекты, которые будут растягиваться на несколько лет, всегда будут сопровождаться пиаром и рекламными акциями, которые в купе с горделивыми маркетинговыми лозунгами зачастую будут превращаться в крышку гробов для игр с хорошими и крупными гвоздями в этих крышках. Один из последних проектов Джона (и я говорю о Rage), будет для большинства людей тем самым несбывшимся ожиданием и фиаско Id Software. Я имею иное мнение, но не будем забегать вперед.


На Doom Engine, который впоследствии стал называться id Tech 1, было выпущено не так уж и много игр. На удивление. Без вторых частей их можно перечислить на пальцах одной руки. Doom, Hexen, Heretic и Strife. Изначально движки именовались как Doom Engine и Quake engine, но впоследствии, были «переназваны».

Надо сказать, что список игр сделанных на движке The Build был куда больше. И за счет модификаций в том числе. 3D Realms в отношении игроков и других разработчиков всегда была более открыта, и на создание собственных дата файлов (в случае Doom engine WAD-файлов) смотрела без нахмуренных бровей. Впоследствии id Software пересмотрела свою политику в отношении открытых ресурсов и открытых кодов, что добавило ей еще большей популярности, как среди игроков, так и среди разработчиков.

Джон никогда не останавливался на достигнутом результате. Жажда нового всегда толкала его вперед. Эксперименты с новыми технологиями и новые технические решения, вот что сопровождало его всю жизнь, и что идет рука об руку с ним и поныне. Следующей вехой в его жизненном пути стал полностью трехмерный движок, сменивший id Tech 1, и который открыл дверь в новую эру.
Она повлекла за собой глобальные изменения в производстве игр, которые во многих случаях были восприняты аудиторией в штыки. Помните, чуть ранее я говорил о камне, брошенном в воду и волнах от него? Авангардный жанр 3D-Action игр как горн возвестил другим весть о том, что индустрия двинулась в чертоги трехмерности.

Веха третья

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

Не хочется сверкать уже использованными и не менее заезженными штампами «значение трудно недооценить», но в данном случае прорыв в настоящую трехмерность действительно ознаменовал начало длительной миграции всех типов разработчиков на новые, еще не освоенные земли и начало новой эпохи. Дело в том, что жанр 3D-Action с незапамятных времен является острием меча или серпа, с которым разработчики продираются вперед во времени. Этот жанр — законодатель моды на технологические новшества, которые затем растекаются по руслам рек разработки в самые разные жанры. И, разумеется, это жанр, который канонически нагружает системы вашего ПК по максимуму.



Хорошо это или плохо, но Джон Кармак с шашкой наголо ворвался в строй двумерных конкурентов, начав разить их трехмерным лезвием. Последний из противников, уже упомянутый движок The Build сопротивлялся до последнего, но пал. Геройски. Сраженный угловатой низкополигональной железкой. Спрайты при всем своем очаровании не могли и далее составлять конкуренцию честному 3D. Именно оно теперь определяло спрос и моду.
Трехмерность периода своего становления и поражала и ужасала. По настоящему трехмерные уровни, возможность городить десятки комнат друг над другом, выступающие конструкции и неровные поверхности – все это было в новинку. Спрайтов больше не было. Их заменили полигоны с натянутыми на них текстурами. С приходом полигональных моделей пришли и другие методики освещения, хотя «фейки» (иллюзии того чем движок на самом деле не располагал) как повелось, и как происходит до сих пор, еще со времен игр на движке id Tech 1, всегда присутствовали в играх, и будут присутствовать еще очень долго. Потому, что понятие и принцип иллюзии куда старше. Люди всегда будут обманывать людей.



Чем отличался Quake engine от своего псевдо-трехмерного предшественника? Всем. Он идеологически был иным. Однако несколько черт все же перекочевали из id Tech 1 в Quake engine. А именно двоичное разбиение пространства, или BSP-дерево. Эта техника жива и поныне. В движке The Source, который подарил миру Half-life, а затем и Half-life 2. «Да столько воды утекло!», — скажете вы. И будете правы. Все что вы сейчас видите вокруг наследие того самого прорыва.
Все что изменяется в нынешней индустрии — это количество полигонов (или треугольников) в кадре, шейдеры, разрешение текстур и т.д. То есть меняется количество, но не меняется качество. Бытует мнение, что подобного скачка в индустрии больше не будет. И здесь я выкажу свое сомнение. Вряд ли строившие Рим могли предположить, что его затем снесут орды варваров и вряд ли фараоны могли предвидеть, что их цивилизация останется лишь в виде пирамид и льва с обломанным носом, мумий и легенд с книгами. Все течет. Все меняется. И неизменность только лишь в постоянной изменчивости мира.

Вернемся к Quake engine и к тому, что он привнес в индустрию. Полигональная геометрия уровней и полигональная геометрия персонажей. Технология лайтмапов (light maps, или lite maps — я встречал оба наименования и не знаю какое из них истина), которая накладывалась на геометрию с текстурами вторым проходом. Объемы теней и света рассчитывались автоматически на основе расставленных в редакторе источников освещения. Эта техника широко используется до сих пор для запекания статического освещения. С тем лишь исключением, что увеличиваются размеры этой статики, меняются алгоритмы наложения (в последствие популярны стали цветные лайтмапы по методу Radiocity сменившие черно-белые).
Для того чтобы рассчитывать свет на нестатических объектах (персонаж, подвижные объекты насыщения) были использованы динамические источники освещения и гуро-шейдинг (шейдинг по алгоритму Гуро). Динамические объекты до определенного момента не имели теней, обходясь самозатенением, и (или), заранее нарисованной светотенью на текстурах.

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





Для меня Redneck Rampage 1997 года выглядит куда богаче Quake 2, даже с оглядкой на то что он не трехмерен. Положа руку на сердце, без слез на такую трехмерность я смотреть не мог уже тогда. Вероятно с 1997 года я и заболел своим ретроградством. Мне казалось, что лучше двумерная графика, чем такая трехмерная. Сейчас, спустя почти 20 лет я вполне доволен окружающим меня трехмерным великолепием. Но это как вино. Незачем навязывать кому-либо свой любимый сорт, ввязываясь в пьяные драки — лучше распивать его с теми, кому он по душе, в особенности если любишь притом деревенский самогон.

(Оригинал первого скриншота, и оригинал второго (разрешение 1280х512 ~ 230 килобайт каждый)).


Еще одной традицией, которую привнесли id Software (видимо поняв, что закрытость не играет на руку популярности) стала открытая архитектура движка, которая позволяла пользователям и разработчикам модифицировать движок. А затем и выработанная политика id Software в отношении собственных движков, коды которых открывались по мере разработки новых технологий и новых версий движков. Думаю, что не последнюю роль в принятии подобного курса сыграл сам Джон Кармак. Он и сам любил что-либо переделывать, модифицировать и видоизменять.

Такая открытость позволила многим разработчикам сделать ряд модификаций на базе Quake engine, в том числе и совершенно самостоятельные продукты. Не для кого ни секрет, что широко известный в наше время движок Source создан именно на базе Quake engine. То есть в основах своих Source имеет код разработанный в id Software. По неподтвержденной информации Джон Кармак очень восторженно отзывался о Half-life и о том как был модифицирован движок. То есть находился под впечатлением.

Впоследствии некоторые из тех разработчиков, что начинали с модификаций превратились в серьезных разработчиков. Одним из таких примеров может быть компания Ritual Entertainment. Начав с дополнения к Quake она добралась до такой известной игры как SiN.

Веха четвертая и пятая

Четвертая и пятая вехи развивали уже существующий движок и именовались id Tech 2 и id Tech 3 соответственно. Я объединил эти вехи вместе потому, что и вторая версия движка (Quake II engine), и третья (Quake III engine) развивали уже заложенные в них идеи, наращивали лишь темп и детализацию, кости оставались теми же. Однако идеология компонент движка оставалась одной и той же. Принципиальных технологических скачков не намечалось. Более продвинутые шейдера, спецэффекты или импорт более тяжелых в плане полигонажа моделей в движок — никак не тянули на рывок или прорыв.

Это по-прежнему была геометрия на основе BSP-дерева. Появились продвинутые лайтмапы на основе метода Radiocity. Они не только запекали статический свет на геометрию уровня, но и заботились притом об освещенности моделей, сообщая динамической модели, как и где она должна освещаться. В id Tech 2 впервые появилось цветное освещение, которое затем стало золотым стандартом для большинства игр.

Для хранения персонажей и объектов id Tech 3 использует трехмерные модели формата MD3. Формат является преемником более раннего формата использовавшегося в движке id Tech 2. Формат использует вершинную (вертексную) анимацию. Возможности анимации в формате MD3 превосходили формат MD2, так как аниматор мог использовать любое ему угодное количество кадров в секунду для анимации своих моделей, тогда как более ранний формат MD2 имел существенное ограничение — 10 кадров в секунду. Это позволяло создать более плавную анимацию, в том числе и анимацию более глобального характера.
Еще одним улучшением формата MD3 являлось разбиение моделей на отдельные объекты. То есть голова, руки, и тело персонажа могли двигаться независимо друг от друга, а также иметь свои собственные, уникальные текстуры. Модели по прежнему освещались по методу Гуро, уровни по прежнему покрывались картами статического освещения.

Вполне очевидно, что движок лишь наращивал объемы, доходя до своей критической массы и пика своей популярности. В глобальном плане он не предлагал ничего нового, будучи, тем не менее, удобным и мощным инструментом. В тот период у id Tech 3 было всего два серьезных конкурента. Unreal Engine и Lithtech.

Веха шестая

В определенный момент игры добрались до точки переломного момента. Определил этот момент опять-таки Джон Кармак. Ему не сиделось на месте. И он решил предпринять новый шаг. Использовать переходную технологию для увеличения видимой детализации объектов при сохранении или даже минимизировании (в необходимых случаях) полигональных сеток. Пришло время новой модели унифицированного освещения и затенения на основе карт нормалей (unified lighting and shadowing model & normal maps). Можно сколько угодно рассуждать о невыносимо черных тенях, о пластиковом блеске тех лет, но отрицать того, что эта технология впервые и на полную катушку была использована именно в Doom 3, бессмысленно. Снова и уже в который раз Джон Кармак со своим детищем оказался впереди планеты всей.







Мне кажется, что одной из заслуг Джона Кармака является не только привнесение на рынок КИ новых технологий, но также их популяризация. Сначала шутера как жанра, а затем и технологий как инструмента. Сегодня сложно представить игру, не использующую ту технику на базе которой он выстроил Doom 3. О том, какое влияние имеет на общественность популяризация тех или иных изобретений или технических устройств вы легко можете вспомнить, вынув из кармана изделие Стива Джобса, буде таковой имеется.

Шутки шутками, ворчание ворчанием, но разве можно сейчас представить какой-либо шутер без карт нормалей? Технология, которая была длительное время несущей в ряде игр, по-прежнему остается переходной и вспомогательной. Детализация полигональных сеток по-прежнему нуждается в дополнительной детализации за счет карт нормалей. На дворе 2014 год. Doom 3 был выпущен в 2004. Технологии уже десять лет! А она живее всех живых. Меняются шейдера, появляются шейдера имитирующие физические материалы. Но мы до сих пор сидим на том, что было разработано давным-давно.

По меркам нашей индустрии срок в десять лет не мал. От безбожно старого четырехцветного Paratrooper 1982 года на ПК до первой псевдо-трехмерной игры на ПК прошло 10 лет (релиз Wolfenstein 3D состоялся в 1992 году), а до первой настоящей трехмерной игры 14 лет (релиз Quake состоялся в 1996). Смотрите сами, насколько отрезок в 10 лет существенен. И учтите что разработка Doom 3 шла в течение четырех (лет). Это означает, что уже в 2000 году Джон Кармак знал что делать, и знал, какие технологии будут использованы. Если не точно, то в общих чертах, по крайней мере.

В моем понимании, даже при несогласии с какими-то решениями или выбором технологии, Джон Кармак всегда был в авангарде. Всегда был в первых рядах разработчиков игр. Именно поэтому я и назвал эту публикацию «На острие ножа». Это не преувеличение для красного словца, но практически констатация факта облеченная в эффектное литературное выражение.

В 2004 году, в тоже время когда вышел Doom 3 выходит Half-life 2. В отличие от детища Кармака HL2 использует комбинированную технологию по части бамп-маппинга и вместо использования карт нормалей как несущей технологии он использует «фото-текстуры» с поддержкой бампа (отключение которого не сильно влияет на картинку), а также увеличивает полигоны на персонажах. В результате геометрия уровней остается все той же и работает, как и раньше на базе BSP-дерева, но мастерски сработанный свет делает картинку максимально достоверной. Все это «помножается» на реалистичную воду, на фото-реалистичные текстуры, шейдеры декалей и спецэффекты с разными режимами наложения.
В купе с персонажами в которых сосредоточено не менее 5.000 тысяч треугольников HL2 не нуждается в картах нормалей для имитации объема персонажей, т.к. объем и так уже есть. Вместе с упомянутыми фото-текстурами получается более чем достойное соперничество. Которое предложило игрокам альтернативное решение по части изображения в играх. Удивительное событие.

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

По уму — нужно бы взять и порадоваться. По уму — две разных игры это лучше, чем две одинаковых. Но, увы, игрок в массе своей (да и вообще потребитель) никогда не был настолько умен, чтобы позволить существовать в одной и той же вселенной двум сущностям без постоянных сравнений. Так любую «песочницу с машинками» сравнивают с Grand Theft Auto. А любой шутер измеряют «Кризисами».
Детище Кармака подвергается критике. Карты нормалей в качестве несущей технологии делают картинку в известной степени нереальной и пластмассовой. Черным теням Doom 3 противопоставляют практически фотографическую светотень Half-life 2. Многих не трогает тот факт, что свет Кармака — динамический. Что он двигается. В реальном времени.







Вышедший тремя месяцами позже Half-life 2 предоставил игрокам еще один вариант шутера. Другого, принципиально отличающегося от Doom 3, как с визуальной точки зрения, так и с точки зрения гейм-плея. А ведь в этот же год вышли такие игры как: FarCry, Chronicles of Riddiсk, UT2004. На рынке определенно становилось все труднее и труднее держать марку. Никто не сомневается, что FarCry тоже топал к финалу вооруженный картами-нормалей, и что каждый кто их использовал называл — свежайшей внедренной инновационной технологией. Так устроен рынок. Но ни один не рискнул создать на базе такой технологии целую игру. Каждый подстраховался. И не было людей прыгнувших в омут с головой. Хотя нет… один там точно был.

После битвы Doom 3 и Half-life 2 на поле боя «подтянулись» остальные разработчики. Титаны уже провели свои показательные сражения, каждый сверкнул своими достоинствами и недостатками. Пришедшим после оставалось только выбирать то, что им нравится и причесывать. Шейдеры со временем были облагорожены, технология получила свое развитие. В один год игровая индустрия получила два разных решения на будущие годы. Возможность комбинировать новые и старые технологии. Кавалькада идущих по горячим следам разработчиков вступила в сражение за умы и сердца игроков.

Его идеи, как и в других случаях нашли реализацию в других движках. В виде совмещенных технологий. Результаты, которых мы видим теперь повсеместно. Буквально повсюду. Голые фото-текстуры не такое уж и частое явление. Чаще всего это материалы. Комплексные шейдеры использующие диффузные текстуры, карты нормалей, карты спекуляра, карты свечения и т.д. Т.е. все то, что использовал Кармак, но в более продвинутом и причесанном виде.

Примечание: Сегодня я могу взять практически любой движок, к примеру Unity3D, и выставив на сцену источник света солнце, получить те самые «чудо-тени» для всей сцены. Могу покрыть мир тысячами треугольников, покрытыми сотнями текстур с картами нормалей. Это не некст-ген движок (next-generation of technology) это бюджетный движок, с бюджетной ценой рассчитанный и на ПК, и на мобильные приложения. Сегодня все это проза дня. И я имею это благодаря тому прорыву, тому технологическому скачку.

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

Веха 7 – заключительная

Работая в одной из российских контор над производством еще одного отечественного шутера, мы наблюдали шумиху, связанную с технологией мега-текстур. Как разработчики и игроки мы весьма пристально следили за тем, что происходило в индустрии, т.к. каждый проект должен был содержать какую-то современную фитюльку. В конце концов, надо же иметь что-нибудь, что может быть распиарено в пресс-релизе? Разрабатываемая технология Кармака вызывала зубовный скрежет. Видео-ролики где художники id Software покрывали геометрию с помощью кисточек и любого количества текстур, которое только могла пожелать душа, вызывали лютую зависть.

И было чему завидовать. Технология подразумевала работу с ЛЮБЫМ количеством текстур, с поддержкой карт нормалей этих текстур в удобном редакторе, где художник НИЧЕМ не был ограничен. Т.к. в конце концов, все это полотно, написанное ими, эта чудовищная мега-текстура разрезалась на кратные фрагменты, которые затем подгружались бы как обычные текстуры, которыми мы покрываем геометрию и объекты. Я не могу вспомнить точный год появления этих роликов при всем желании, а наврать – очень боюсь.







На мой взгляд, впервые в истории id Software, разрабатываемая в их чреве игра получила грамотную картинку. Действительно чарующую и стильную. Потому, что их игры до Rage я в большей степени расцениваю как шутеры (читаем – замечательные стрелялки), но не как законченные и уж тем более художественные произведения.

Добавлю только, что как художник я ни разу не работал в отечественных конторах, будучи обеспеченным удобным отечественным инструментарием. Он всегда был убог и всегда имел невероятные костыли, свору багов и ограничений с которыми приходилось бороться. Никогда наши разработчики не заботились об удобстве работы с движком, и никогда чужой опыт не был им указкой. Свои собственные колеса изобретали все. Чужие – никто и никогда не трогал. Посему данная технология казалась не просто перспективной. Она казалась чудом.

Игру безусловно распиарили. Возможно, даже чрезмерно. Красивейшая игра для консолей! Стабильный фреймрейт! Фреймрейт выше возможного! Каких только лозунгов не было. И когда пришло время — во всей своей красе сработал «синдром несбывшихся ожиданий», помноженных на «кислый старт». Где кислятиной или клюквой мы назовем множество багов связанных с визуализацией. То, что было хорошо для консолей — оказалось нестабильным на тысячах возможных конфигураций ПК. Особенно не повезло обладателям ATI видео-карт. Они получили багов куда больше, чем счастливые обладатели NVIDIA карт. То, что было не заметно на консолях, а именно «текстурный лод», или быстрая подгрузка более качественных текстур при развороте персонажа — на ПК выглядело ужасно. Не говоря уже о том, что уникальный мир «весил» примерно 25 гигабайт, что было крайне непривычно для игрока.
И даже при таких раскладах текстуры в ряде мест, и при приближении, выглядели мыльно. Если представить на секунду, что весь мир Rage покрыт текстурами 1024х1024 и представить, что практически весь дистрибутив игры это кеш-текстур (примерно 20 гигабайт), то возвращение HD-качества (текстур разрешения 2048х2048) в игру превратило бы ее в 80 гигабайт на жестком диске. Событие было бы беспрецедентное. Да и справились ли наши тачки с таким набором текстур?

Большой вопрос.





Подобных явлений в игровой индустрии еще не было. Но все это оказалось смятым вялым стартом и гневом игроков. Надо сказать, что игровая журналистика отнеслась игре гораздо мягче. На том же Metacritic 30 из 32 изданий выставили игре высокие оценки в районе 78 баллов из 100. Закономерно отличился русский Absolute Games. Он весьма показательно проиллюстрировал общую тенденцию измерять качество игр разрешением текстур, а не художественной их ценностью. О чем явно говорит «оригинально поданная» рецензия.

Человек по своей натуре жесток. Когда не удовлетворен. Геймер он, вроде как, тоже человек. И если он не получает того что ему нужно – он начинает громить все вокруг ничуть не хуже английских футбольных фанатов. Причины для погромов были. Игра, ориентированная на консоли располагает всеми характерными для них болезнями. Можно начать и закончить невидимыми «блокерами», которые перекрывают игроку путь в те зоны, куда он может залезть. Т.е. вполне реальна ситуация где ты можешь запрыгнуть на один камень, но на другой такой же рядом – нет. Песочница оказалась миниатюрной. Ее тут же сравнили с GTA. Сравнение не в пользу Rage. Правомерно ли оно? Не думаю. Слово «песочница на колесах» еще не означает, что игра ориентировалась на GTA. Но разве не «помог» пиар? Мир Rage безбожно красив, но также безбожно статичен. На фоне других игр где физика играет не последнюю роль в увеличении интерактивности на уровне — Rage здорово проигрывает. И т.д. Недостатков можно найти не мало. Но и достоинств не мало. Я думаю, что именно поэтому оценки мировой игровой журналистики были настолько высокие. Игрок с ними, в массе своей, оказался — не согласен.

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

Rage подарил игрокам нечто большее чем очередную игру от id Software, не классический шутер от id в понимании Джона Кармака. Он подарил игрокам полностью уникальный мир. И в этом случае фразы из пресс-релизов о мире, который полностью уникален – верны. В кои-то веки.

Эпилог

Джон Кармак оказался на линии фронта по продвижению жанра 3D-Action как минимум пять раз:

  • В первый раз с тем, что будет отмечено в истории как первый шутер, из тех, что без преувеличения считаются прародителями жанра.
  • Второй раз с известным на всю планету шутером Doom, который популяризировал шутеры, как жанр.
  • В третий раз, с первым по-настоящему трехмерным шутером Quake.
  • В четвертый раз с еще одним технологическим рывком и флагманом новых технологий повсеместно используемых и поныне (Doom 3).
  • И в пятый раз, последний на данный момент, с технологией, которая впервые в истории КИ дала художникам возможность создать первый, трехмерный, действительно уникальный и неповторяющийся мир.
История его последнего изобретения еще не дописана. Размеры игр с использованием мега-текстур возмутительно велики, по мнению игроков. Качество текстур возмутительно мыльно, по их же мнению. Песчинки разглядеть в оптический прицел нельзя, мыло мешает. Значит не за горами увеличение HDD пространств. Значит не за горами увеличение мощностей GPU.

И если оглядываться на историю КИ, то не стоит искать и этом изобретении Кармака провала. Умные люди и умные компании обязательно возьмут эту технологию на вооружение, модифицируют или как это уже неоднократно было сделают на базе открытия гибридную технологию. Вклад Джона Кармака в игровую индустрию по-прежнему весом.

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

P.S.
Казалось бы, после такого сокрушительного «фиаско» будущее технологии и игр на движке id Tech 5 под большим вопросом. Но тут на горизонте показалась фигура БиДжей Блажковича (BJ Blazkowicz) вооруженная, как не странно, винтовками id Tech 5. Уже пять лет ни словом, не духом, но вернулся-таки. И как вернулся? С помпой и фанфарами, эффектно возрождая покрытую паутиной серию. Разве не символично? Годы проходят, технологии меняются, окулусы рифтятся, а Блажкович всегда остается Блажковичем.



Заметки задним числом


открыть бункер герр Текста
Заметка первая, в оправдание
Я намеренно не упомянул о конкурентах линейки id Tech. Но не по злому умыслу, а чтобы максимально сократить длину публикации. Какого минимализма мне удалось достичь — вы видите. Даже мимолетное упоминание всех вех творчества id Software и Джона Кармака заняло довольно длительный отрезок вашего времени. Одни модифицированные движки, на базе которых создавались другие игры, могли бы занять объем текста превышающий данный в десятки, а то и в сотни раз. Трехмерным движкам на базе id Tech, Unreal Engine, и даже Littech можно посвятить целые книги, потому что разработка каждой игры вполне может стать популярной среди определенного круга читателей. Так как каждая история это где-то трагедия, а где-то и комедия, внедрение новых технологий и интересных решений.
Данные книги могли бы стать (будучи написанными), и возможно станут, учебниками для тех, кто будет изучать историю компьютерных игр. От самых ее истоков и до нынешнего времени. Какие-то зачатки этого обучения существуют уже сейчас, в институтах существуют кафедры посвященные индустрии компьютерных игр, готовящие специалистов. Но пока, на мой взгляд, это всего лишь зарождение направления в отрасли обучения, довольно таки поверхностное. И может быть, хотя это уже совсем утопия, старички профессоры будут спорить о достоинствах или недостатках и вовсе древних игр, выводя концепцию вклада субъекта в становление индустрии.

Заметка вторая, девелоперская
К сожалению, в виду относительной юности и географического положения мне не удалось официально поработать с движками Unreal Engine и id Tech, однако один из проектов, в котором я учавствовал был выполнен на движке Lithtech Talon, который в известном смысле может считаться дальним родственником id Tech. Его структура, BSP-деревья, техника освещения идентичны тем, которыми располагает id Tech. Зная его я уже не имел проблем с движком Source, и другими движками того времени за исключением Unreal Engine.

После работы в НВМ я также поработал некоторое время в кампании Adamant Multimedia. В процессе этой работы мне довелось поработать с движком Source. Главным образом для создания презентации о том, как одна и та же карта (с точки зрения объема) собираемая на движке Source занимает 1.5-2 часа сборки супротив 2-3 дней сборки, на ее собственном движке Ripost (или Riposit, за давностью лет решительно невозможно вспомнить).
Презентация была подготовлена для иллюстрации неверного подхода в отношении разработки движка и для того чтобы дизайнерский инструментарий был переработан с целью повышения эффективности разработки. Valve сделали настолько впечатляющий движок, с настолько удобным инструментарием, что все, что касалось создания уровней (за вычетом импорта моделей) превращалось в настоящее, стопроцентное творчество. Было невероятно тяжело возвращаться обратно. В разработке технической демо-версии нового продукта мы ориентировались в первую очередь на HL2 и уже потом на все остальное. О чем красноречиво говорят скриншоты.

Заметка третья, личная

Чисто по ощущениям, ну… вы понимаете, как человек относится к другому человеку на основе первого взгляда — Кармак мне не симпатичен. Психологически. Это не мой герой, не мой тип человека. Но я разделяю такие вещи как симпатия к человеку и его профессиональные деяния. Я уважаю в нем человека, который все это сотворил, и который проталкивал, и возможно еще будет проталкивать индустрию вперед. Данная публикация предназначена именно для иллюстрации его творчества, а не иллюстрации приязни или неприязни. Для кого-то все то, что я написал естественно как воздух, а кто-то даже и не слышал о Вольфе, Думе и Кваке. И возможно это чем-то поможет избегнуть «последнего пласта». Под последним пластом я подразумеваю эффект, когда ты гуглишь Джон Кармак и получаешь на выходе «Rage это *self-censored*», или «Джон Кармак ушел заниматься Окулус Рифтом». За событиями последних дней ни черта не видно. И не видно вклада. За компанию не видно революционной, на мой взгляд, технологии. Которая бы позволила художникам не только писать картины и арт, но и писать, если не игры, то хотя бы миры.

Заметка четвертая, осознающая
В одной из вех я обещал отметиться с мыслями об экспериментах в играх, которые были ДО и которых мало ТЕПЕРЬ. Можно начать и закончить одной из старых игр под названием Jurassic Park: Trespasser. В ней впервые была внедрена параметрическая анимация. Оружие игрока, как и сам игрок были физическим объектом, что позволяло, к примеру, открывать двери кончиком ствола. В игре были использованы оригинальные технологии лодов, где модель при удалении заменялась на спрайт. Но не так как это было сделано в большинстве игр, а именно в том ракурсе, который был в данный момент актуален. По функционалу и подходу к гейм-дизайну игра обогнала свое время настолько, что вероятно своей сложностью испугала игроков. А может быть сеттинг был не слишком популярен. Можно приличное время толковать об AI и о богатстве игровой механики. И это – не единственная такая история.

Заметка пятая, осознающая снова
Без сомнения Джон Кармак рулевой. Или можно сказать капитан одного из кораблей, которые бороздят океаны КИ. Но нет никаких сомнений, ни на секунду, что ничего подобного, тем более в масштабах Doom и Quake могло произойти без команды. Реального вклада, кто и что вложил в те или иные проекты – мы никогда не узнаем. Или узнаем но лишь частично. И это не значит, что подтекст статьи в том, что Кармак все сделал один. Стив Джобс тоже был не один. Но именно он отождествляется с определенным брендом. Такова жизнь. Работают многие, а светит один. Тем не менее я не в коем случае не умаляю роль команды. Без команды – никуда.

Заметка шестая, предполагающая
Есть предположение, что Джон Кармак по натуре технарь. То есть его в большей степени интересуют технологии, технологические загадки и последующее их решение. Что его творения больше напоминают технические демо-версии или демонстрации движков, а уж игры на этих движках создают другие. Также есть мнение, что до тех пор, пока Джона сдерживали Том Холл и Джон Ромеро у id Software в играх присутствовал стиль, но когда после разногласий эти два человека покинули фирму ситуация изменилась. Это комплексное ощущение, которое рождается после прочтения статей и публикаций в сети.
Мне кажется, что Doom и Quake такие потому, что Джон хотел их такими видеть. Они, в том числе и Wolfenstein-3D действительно могли бы быть иными. Более сложными. Более интересными и более глубокими. Но… мы имеем то, что имеем, а разногласия это лишь следствие невозможности договориться. Возможно несгибаемость и несговорчивость. Джон, на мой взгляд — одиночка и то, что творится вокруг для него больше похоже на декорации. Нечто сопутствующее, но необязательное для его творчества. Однако это всего лишь догадки. И чем больше проходит лет, тем меньше возможности узнать реальные факты.

Вы, наверное, знаете, что на западе в большинстве случаев сор из избы не выносят, и что то, что творится в конторах там и остается. А на поверхности, как и в случае потопления подводной лодки во время боевых действий, остаются лишь разводы солярки да кое-какая утварь. Реальную историю редко когда удается узнать. Все, что мы можем – сопоставлять догадки, факты и строить теории.
Polite version, NDA, корпоративная лояльность, профессиональная вежливость – все это печати, которые скрывают от нас подлинную историю КИ. Повесть о взлетах и падениях, о настоящих авторах тех или иных решений, о истории создания технологий без официального грима и официальных версий. Такова участь Истории. Быть затянутой в тугой корсет официальной ее версии. Правда со временем одежа имеет обыкновение рваться. И из нее выпадает правда.

Заметка седьмая, умильно по Блажковичу рыдающая
Не предполагал я, что id Tech 5 будет использован так скоро. Не надеялся и не чаял еще раз увидеть диво дивное на ходу. Это я о Wolfenstein: New Order Как до сих пор не игравший, смотревший только промо, видео и скриншоты – прошу спойлерами не крыть (действительно прошу, а не фигурально-витиевато клянчу), ибо в таком случае, комментарии к статье читать и отбиваться ни в коем случае не буду. Т.к. мне, в принципе, достаточно увиденного материала, чтобы понять, что игра – что надо. Хотя и с некоторыми шероховатостями. Будет приятно если Doom 4, движок не сменят. Хотя судя по ранним утечкам локаций там будь здоров, да и персонажей тоже.

Заметка восьмая, параноидальная
А может я не прав? Есть только один способ проверить — доверить ее вам.


Для сокращения видимого текста, с целью уменьшения количеств панических атак и текстобоязни, «Заметки задним числом» внесены в отдельный и скрытый от нелюбопытных глаз бункер. Текущее количество заметок 8, последняя правка осуществлена 20.06.2013 в 20:52 МСК.

Источник: habrahabr.ru/post/226883/