10 December 2018

25 лет DOOM

Games and game consoles
image
Сложно поверить, но прошло уже 25 лет с момента выхода этой, без преувеличения, эпохальной игры. Четверть века назад мир изменился.

До были платформеры и простенькие каркасные 3D игры с мультяшной графикой. После появились все более и более реалистичные FPS.

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

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

До были тихие игры с приятной музыкой. После появились игры, полные рева монстров и тяжелой, агрессивной музыки.

До не было DOOM, а после…

10 декабря 1993 года Джей Уилбур, бывший на тот момент CEO компании id Software (читается, «ид Софтвэр»), только после звонка сетевому администратору Университета Висконсина смог подключться к ftp серверу университета для того, чтобы закачать туда дистрибутив только что созданной в компании игры DOOM. Слишком много пользователей ожидали этой игры, и администратору пришлось выкидывать юзеров, чтобы id смогли загрузить дистрибутив. Даже увеличение лимита подключений не помогло. После того, как загрузка дистрибутива была завершена, сеть университета легла, не выдержав наплыва пользователей.

Приступая к разработке DOOM, id Software уже была известной студией среди игроков. Их хиты Wolfeinstein 3D и Commander Keen пользовались впечатляющим успехом, и приносили очень приличные деньги, несмотря на то, что их невозможно было увидеть на прилавках магазинов. Как, собственно, невозможно было найти и рекламы фирмы. Зато вы могли совершенно бесплатно скачать игры id Software с BBS или скопировать у друга (установщик игры писал, PLEASE, DISTRIBUTE) и поиграть в несколько первых уровней. А для получения остальных, надо было отправить дистрибьютору (в то время — компании Apogee) чек с определенной суммой и получить взамен дискеты с полной версией игры. Благодаря такой схеме (и конечно, качеству самих игр), id Software стала очень популярной фирмой у игроков, и к моменту выхода, DOOM ожидали толпы преданных фанатов.

image

Удивительно, но вместо кровавой и мрачной DOOM свет могла увидеть совершенно другая игра: после серии Wolfeinstein 3D, Том Холл, на тот момент главный дизайнер id Software, предложил возобновить серию Commander Keen, но сделать продолжение в 3D. По началу Джон Кармак, главный программист в компании и разработчик всех ее движков, поддержал идею Тома, однако со временем у него появилась идея получше: игра с монстрами из ада. Будучи огромным фанатом (и мастером игры) Dungeons and Dragons, Кармак очень быстро переключился на новую идею, которая понравилась всем остальным членам команды гораздо больше, чем Commander Keen Тома. Название же, согласно официальной версии, пришло из фильма Мартина Скорсезе «The Color of Money» с Томом Крузом в главной роли, где герой ответил этим словом на вопрос, что было у него в чемоданчике. Там был кий, с помощью которого герой Круза зарабатывал огромные деньги, играя в пул. К разработке DOOM имеет отношение и другое «крылатое» выражение Кармака, что «сюжет в игре сродни сюжету в порнофильме: конечно, он там предполагается, но не доминирует». Это было ответом Джона на желание Тома Холла иметь какой-то интересный и сложный сюжет в DOOM.



Начав разработку DOOM, компания перехала в мрачное здание, Town East Tower в пригороде Мескита, обозвав свой новый офис «аппартаменты 666». Демоническая символика была в DOOM повсюду: так, основная версия программы носила номер 1.666. Такая стилистика пришлась очень по-душе Адриану Кармаку (просто однофамилец Джона, не родственник), дизайнеру id Software. Будучи подростком, Адриан подрабатывал в приемной больницы. Там через его руки проходили снимки пациентов, страдавших различными заболеваниями. А. Кармак и без этого тяготел к мрачному искусству, но именно этот опыт помог ему в создании арта для DOOM. Монстров же для DOOM сначала создавали из глины, затем снимали на видеокамеру с разных ракурсов, оцифровывали полученные кадры и адаптировали под игровую палитру. Для игры даже использовали собственные части тела: так, рука, которая держит оружие в игре — это рука Кевина Клауда из id Software (пистолет и дробовик из игры — это игрушки из магазина Toys'R'Us), а одной из текстур стало изображение разбитого колена Кевина.

image

Графически, DOOM работал в режиме VGA с линейным фреймбуфером (в режиме 13h) (на самом деле, не совсем. Это был режим Y, спасибо mistergrim). Для этого режима было нужно всего 64 КБайт видеопамяти и, хотя DOOM работал в 32х разрядном защищенном режиме процессора и ему не приходилось работать с сегментированной памятью 16-битного реального режима, такой компактный размер фреймбуфера позволял работать с двойной буферезацией, что делало экранную анимацию более плавной. Пока видеоадаптер отображал один буфер, отрисовка шла в другой. Затем, буферы переключались, и только что отрисованный кадр начинал выводиться на монитор, а движок начинал отрисовку следующего кадра в первый буфер. Кроме того, в этом режиме разработчику была доступна палитра в 8 бит (256 цветов), выбираемая из полного цветового пространства в 18 бит (262 тыс цветов, или по 6 бит на каждый из основных цветовых каналов). DOOM использовал лишь часть этой палитры, зато в нескольких вариантах яркости. Так имитировалось освещение в игре: чем дальше текстура находилась от пользователя, тем более темная палитра для нее выбиралась, так что все длинные коридоры всегда тонули в демонической тьме. Благодаря фиксированному размеру, изменение палитры для текстуры требовало тривиальных вычислений, и происходило очень быстро. Также работало и «динамическое» освещение, когда в игре выключался или мерцал свет.

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

Сама система рендеринга, как и инструменты для создания игрового контента, были написаны Джоном Кармаком на компьютере Next Station, который он приобрел после оглушительного успеха Wolfeinstein 3D. Для разработки использовался язык Objective-C.

Можно спорить, была ли DOOM самой лучшей игрой своего времени, но она абсолютно точно была самой крутой. Фанатское сообщество было огромно, создателей игры повсюду встречали как рок-звезд, их узнавали на улице, фанаты совершали «набеги» на офис id Software. Тому была причина: DOOM была игрой с невиданной до этого времени динамикой и глубиной погружения, монстры в игре были разнообразными, а уровни — действительно интересными и необычными. Одной из главных «фишек» движка DOOM была поддержка стен, пересекающихся под произвольным углом. Такого было невозможно достичь на движке прошлого поколения, это было прорывом, и дизайн игры выставлял эту фишку напоказ: в игре было полно петляющих, змеящихся корридоров, полукруглых стен и овальных комнат, что редко встречается в реальной жизни. Это лишь усиливало «потусторонний» эффект игры. Игрок действительно попадал в иной мир, живший по иным законам в каждой детали.

И в игре было полно секретов. На каждом уровне было разбросано множество секретных комнат, но существовали даже секретные уровни, на которых можно было поиграть даже в Pac Man на движке DOOM (Нет, Pac Man был в Wolfeinstein 3D, а в DOOM были секретные уровни из Wolfeinstein 3D и повешенный Commander Keen — спасибо mao_zvezdun Cerberuser juray). Кстати, последний секрет игры был раскрыт всего менее года назад!

Все игровые ресурсы DOOM были запакованы в один файл с расширением WAD (where's all the data), однако DOOM изначально создавался с прицелом на то, что пользователи захотят модифицировать игру. Джон Кармак изначально был приверженцем открытия исходного кода своих игр, однако в публичный доступ код выкладывался не сразу, а лишь по прошествии некоторого времени. Тем не менее, id Software выложила достаточно информации о внутренней структуре движка и инструментах разработки контента, чтобы пользователи быстро начали делать свои модификации игры. Движок DOOM (в последствии получивший имя id Tech 1) стал первым движком id Software, который компания лицензировала сторонним фирмам, и, хотя игр, использовавших этот движок было не слишком много, он заложил базу для нового для компании бизнеса: лицензирования технологий.

DOOM была очень динамичной игрой, протагонист мог достигать скорости, эквивалентной 56 км/ч. При этом игра, хотя и была раскрашена преимущественно в темные тона, имела немало и ярких кроваво-красных, кислотно-зеленых или электрически-синих пятен. Кроме того, игра обеспечивала невиданную ранее степень погружения в виртуальный мир. Неудивительно, что некоторых игроков прилично укачивало от долгой игры. Одной из первых жертв динамики игры был Дейв Тейлор — сотрудник id Software, над которым немало шутили в офисе по этому поводу.

Сетевая игра планировалась для дума с самого начала. Еще только начиная разработку будущего движка, Джон Кармак поведал Джону Ромеро о своей идее сетевой игры. Немного спустя, появилось слово «Deathmatch». По рассказам, его придумал Ромеро. Это слово на долгие годы вперед станет визитной карточкой игр фирмы, но появилось оно именно при разработке DOOM. Стали появляться клубы, где игроки могли сразиться в сети. Так начал зарождаться киберспорт.

Также, именно DOOM, точнее сеть DWANGO, созданная в 1994 году Бобом Хантли и Ки Кимбреллом, открыла совершенно новую эпоху сетевых игр. Интернет в ту эпоху был еще в довольно зачаточном состоянии, и серверы DWANGO использовали модемный пул, на который пользователи дозванивались, чтобы поиграть онлайн. Со временем маленькая компания выросла в довольно большую денежную машину: создатели сети начали продавать франшизу, а клиент DWANGO был включен в дистрибутив поздних версий DOOM и некоторых игр на движке DOOM, таких, как Heretic или Hexen. С развитием интернета все больше игр стало предлагать онлайн-геймплей, и сейчас этим никого не удивить. Но началось это тоже с DOOM.

DOOM 2 было решено продавать на полках магазинов, а не по модели Shareware, так что бесплатной (ок, условно-бесплатной) версии DOOM 2 не существует. Что интересно, в последствии, при продаже Quake, id Software вернулась к модели shareware, немного видоизменив ее (вся игра размещалась на shareware-диске, но часть была зашифрована. Шифрование было быстро взломано пиратами). Именно при работе над DOOM 2 начались трения между Джоном Кармаком и Джоном Ромеро, приведшие к тому, что последний покинул компанию вскоре поле выхода Quake. В результате никто не выиграл: игры id Software стали постепенно сдавать свои позиции, сначала превращаясь больше в выставку технологий Кармака без действительно интересной игровой динамики (DOOM 3), затем и в движкостроении конкуренты стали значительно больше, чем id Software. В результате, сейчас мы видим на рынке игры на базе Unreal Engine, долгое время «выставкой» современных технологий являлся Cry Engine, а движки id Software растеряли большую часть рынка. Ромеро тоже не особо приуспел на поприще игростроения, его фирма Ion Storm разорилась, а его личный амбициозный проект Daikatana стал одним из самых громких провалов в игровой индустрии.

DOOM 3 ознаменовал собой начало конца id Software. Да, еще во времена первого Quake игра Unreal показала, что конкурировать с Кармаком можно, и довольно успешно. Но дело было даже не в технологиях. Во времена 1й DOOM 3Д-шутеры были свежим жанром, разнообразия игр было немного, но со временем все изменилось. Half Life привнесла в жанр сюжет, появились новые игровые механики, однако id Software все продожала делать одно и то же: игры с сюжетом, как в порнофильме. Игроков более не интересовали такие игры, и DOOM 3 затмили такие шедевры жанра, как Half Life 2, Chronicles of Riddick, Painkiller, Far Cry, вышедшие в том же году. С точки зрения технологии, DOOM 3 все еще выглядел великолепно, но игровая механика была посредственной для того времени, особенно на фоне таких мощных конкурентов. А последний DOOM вышел уже без участия Кармака, да и id Software превратилась из независимой маленькой андерграундной фирмы в часть огромной корпорации.

Создатели DOOM, безусловно, заработали много денег, но никто из них не стал баснословно богат. Так, например, состояние Джона Кармака оценивается в скромные для человека, настолько сильно повлиявшего на индустрию, 40 млн. долларов. Для сравнения, состояние создателя Epic Games Тима Свизи, которому в начальное время именно Кармак помогал с программированием 3Д, оценивается в 1.8 млрд. долларов, а состояние Гейба Ньюэлла, создавшего Valve, которая известна серией игр Half Life, графический движок которых основан на Кармаковском Квейке, оценивается в 5.5 млрд. долларов.


Простите за качество видео

Оригинальный DOOM — это целая эпоха. Хотя сейчас все чаще можно услышать фразу про Crysis, именно DOOM не просто был портирован на бесчисленное множество устройтсв, среди которых осциллографы, принтеры, калькуляторы, банкоматы, системы развлечения современных авиалайнеров, много их… Именно DOOM также использовался для демонстрации тьюринг-полноты инструкции mov. А в 1995 году, почти через 2 года после выпуска оригинальной игры, Майкрософт презентавала операционную систему Windows 95, призванную окончательно вытеснить чистый ДОС с компьютеров пользователей. Но для того, чтобы захватить рынок домашних компьютеров, новой операционной системе нужны были игры. Дело в том, что, в отличие от ДОС, операционная система Windows не позволяла приложениям работать с железом компьютера напрямую, минуя HAL. А это пагубно сказывалось на скорости игр, и разработчики долгое время предпочитали ДОС. Для Windows 95 в Майкрософт разработали Windows Games SDK, который затем перерос в DirectX, и, чтобы продемонстрировать разработчикам игр, на что была способна новая система, Майкрософт самостоятельно портировала DOOM на Windows 95, ведь что может показать возможности системы более наглядно, чем великий и ужасный, самый лучший шутер всех времен? Разве что только Half Life 3?

Статья написана по материалам книги Masters of Doom, сайта Фабиена Сангларда, статьи ua-hosting.company и различных источников в Интернете, включая Wikipedia
Все иллюстрации взяты из Википедии и Гугл Карт.
Tags:DOOMid software
Hubs: Games and game consoles
+85
36.6k 52
Comments 249