Источники “критического глюкализма”: игры
(начало см. PC Week/RE, №21/95, с. 55)
Часть 2
РЕЦЕПТЫ ПРИГОТОВЛЕНИЯ ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ
Наша жизнь - замечательная штука, когда есть время на развлечения. Большинство глупостей совершается от переутомления, а посему недостаток развлечений в определенной степени отравляет существование. Несомненно, по объемам привлеченного капитала и трудозатрат индустрия развлечений занимает лидирующие позиции в мировой экономике, следуя сразу за ВПК (кому и война - развлечение). Что касается индустрии компьютерных игр, то здесь сосредоточены все последние достижения компьютерных технологий и активно используются новинки из области математики и других наук. Надеюсь, никто не подумает, что вышесказанная фраза звучит здесь впервые?
Взрыв, породивший огромное количество игр (и еще большее количество разговоров), связанных с технологиями виртуальной реальности, вне всякого сомнения, явился следствием массового выхода на рынок мощных систем на базе 486 процессора и появления Pentium. Наконец-то скорость вычислений, необходимых для быстрого вывода сносной картинки, стала сопоставима со скоростью человеческого восприятия, а разработчикам были даны косвенные гарантии, что их труды будут восприняты самыми широкими массами. Но это вовсе не значит, что до появления 486-х народ не сталкивался с интересными (играбельными) 3D-игрушками. Наверняка многие могут привести примеры подобных игр. Автору вспоминается французская программа почти десятилетней давности под названием
3 Demons. Блуждания по синему лабиринту, обозначенному контурами углов, неизменно заканчивались печальной встречей с демоном. Игрушка довольно шустро шла на 286/10 процессоре с EGA-адаптером и, думается, прилично работала бы на чем-нибудь и похуже. Помню, что тогда этот лабиринт воспринимался вполне серьезно. Потом последовали Flight Simulator, F-19, Stellar7. И все же настоящий бум начался с появлением в 1992 году игр Wolfstein 3D, Comanche и осенью следующего года (как начало отсчета новой эпохи) - бета-версии DOOM.
DOOM практически был написан двумя программистами. Это ныне всем известные Джон Ромеро и Джон Кармак. Конечно, к тому времени идеи уже вовсю носились в воздухе и аналогичные технологии были на подходе не только у этих ребят. Поэтому нельзя недооценивать ту роль, которую сыграл их менеджер Джей Вилбе, принявший решение распространять все новые игры новоиспеченной фирмы по каналам shareware. И все-таки заслуга обоих Джонов в том, что они сделали все вовремя. Ошеломляющий успех новой трехмерной игры, признанной победителем 1994 года во всех издающихся в США журналах, посвященных играм для IBM PC, завербовал огромное количество рекрутов, желающих продвинуть вперед технологии виртуальной реальности. Еще бы: постоянное внимание прессы, узнавание на улицах, автомобили марки “Феррари” (а у Кармака второй “Феррари” мощностью свыше 1000 л. с. выполнен по спецзаказу) - все это кого угодно заставит собраться в поход. Однако чудес не бывает, и за этим успехом стоит каждодневная работа двух трудоголиков. О чем, кстати, они постоянно напоминают в своих интервью. Ромеро до выхода программы DOOM в свет уже имел 13-летний стаж работы в индустрии. Он и Джей начали работать в компании Soft Disk с конца 1980 года. Эта фирма выпускала компьютерный журнал и дискету с программами в придачу. Ромеро был одним из тех, кто ежемесячно писал игровые программы для этого диска. Двадцатилетний Джон Кармак пришел в Soft Disk в 1990 году, имея трехлетний опыт программирования. Первым их широко известным проектом стал, пожалуй, Commander Keen, к работе над которым они приступили при поддержке Скотта Миллера из компании Apogee. Задним числом пресса отмечала техническое совершенство программы, указывая, в частности, на плавнейшую аппаратную прокрутку экрана. Но, на мой взгляд, ничего нового в этом не было, если вспомнить про шедевр Xenon II (вертикальная прокрутка) или Blood Money (горизонтальная прокрутка). Собственно Id Software образовалась по времени между двумя проектами: Commander Keen и Wolfstein 3D. Первоначально компания называлась IFD - Ideas From the Deep. Потом F куда-то запропала, да и часть народа сменилась: ушли Лейн Рот и Том Хол, а пришли Адриан Кармак (говорят - не родственник) и другие. Короче, получилось просто Id.
Id Software - небольшая компания, в которой сотрудничают около десятка человек и в работе находится не более одного проекта одновременно. DOOM явился вторым проектом компании и был создан с применением иной технологии, нежели та, которая использовалась в Wolf 3D. Вообще в Id Software не делают большого и тщательно охраняемого секрета из используемых технологий. Проще идти быстрыми темпами вперед, чем стоять на месте и беречь свои достижения. Традицией компании становится менять технологию с каждым новым проектом. Так было с DOOM, затем с DOOM II, теперь с Quake. Однако не следует думать, что за год с небольшим два человека заново создали все основы трехмерной графики. Задолго до появления DOOM существовали материалы конференций SIGGRAPH, сборники серии IEEE Computer Graphics, журналы по САПР, телеконференции USENET и, наконец, рабочие библиотеки 3D-графики для станций Silicon Graphics и других специализированных графических систем. Была издана масса замечательных книг, таких, как “Компьютерная графика - принципы и практика”, написанных Джеймсом Фоли со товарищи. Заслуга Ромеро и Кармака в том, что за короткое время, основываясь на собственном опыте, они из всего многообразия накопленных 3D алгоритмов выбрали наиболее подходящие решения. Они точно представляли себе, кто и на каком компьютере будет играть в их игру. Как профессионалы индустрии, они сделали оптимальную реализацию и учли множество мелочей. Дилетанты прокалываются на мелочах, ведь за их учетом стоит опыт, накопленный живой работой. Нет смысла описывать здесь технические приемы (возможно, удастся поговорить об этом позднее), стоит лишь отметить, что эти два программиста сумели показать, что все известные методы и решения, применяемые ранее на графических рабочих станциях, при определенном подходе возможно реализовать на обыкновенном домашнем IBM PC, причем без сколько-нибудь значительного ущерба для восприятия. Компьютерный народ осознал, что виртуальная реальность приблизилась на расстояние вытянутой руки. Говорят, что в первый день выхода DOOM II было продано 500 тысяч (!) копий. (Охота выразиться в духе Станиславского.)
Потом Id Software лицензировала свои рабочие библиотеки, и на рынке появилось множество клонов DOOM. На страницах журналов, посвященных компьютерным играм, появилась реклама конструкторов трехмерных игр под общим названием типа: “Сделай свой собственный DOOM”. За последний год на рынок вышло много игр, выполненных на основе оригинальных технологий, превосходящих DOOM. Впрочем, фаны знают все это лучше меня.
Но на фоне повальной “думизации” существуют компании, разрабатывающие свои собственные ниши в области виртуальной реальности. Сам Ромеро упоминает британскую команду под названием Bullfrog и их игрушку Magic Carpet. Bullfrog - еще одна маленькая, но чрезвычайно активная компания, вносящая немало нового в развитие индустрии. Все их игры предусматривают совместное участие нескольких игроков, связанных посредством локальной сети или модема. Они первыми стали поддерживать шлем VFX-1. В их последних разработках можно обнаружить немало продвинутых спецэффектов типа смены освещенности в реальном времени, движение воды и пламени. Уже более двух лет компания работает над интересной технологией, которую они называют Skeletal Mapping. Я уже слышал, как по-русски данную технологию называли скелетной анимацией, поэтому в дальнейшем будет использоваться этот термин.
В последнее время скелетная анимация активно обсуждается в телеконференции разработчиков игр USENET, и суть ее в следующем. Первоначально задается векторное описание скелета некоторого персонажа. Затем на скелет надевается “плоть”, являющаяся композицией различных сфер, цилиндров и тому подобных фигур. И напоследок сверху все это обтягивается подходящей текстурой. Выгода от применения такого подхода очевидна: отпадает необходимость заранее рисовать десятки, а то и сотни всевозможных фаз движения персонажей. Более того, игрок может слегка подправить существующий персонаж согласно своему желанию или создать новый. Пока что довольно быстро передвигаются объекты типа червей, но, несомненно, с появлением более мощной техники заскачут и более сложные фигурки. Конечно, все эти методы не являются “честным” моделированием вроде того, которым заняты станции типа Indy или Onyx, но если вспомнить различные откровения персон вроде Джорджа Лукаса или Стивена Спилберга о том, как двадцатисекундный клип обсчитывался несколько месяцев, то становится ясно, что без обмана в технологиях виртуальной реальности (ВР) не обойтись. Чтобы изобразить огонь или воду, не обязательно становиться крупным спецом в динамике жидких и газообразных сред. Порой все держится на сплошной эвристике. Кто из разработчиков элегантнее и неожиданнее обманет, тот и добьется наибольшего успеха.
Не следует, однако, думать, что все ВР-технологии создаются и развиваются только на Западе. Мне известно несколько довольно популярных в Европе и Штатах игр, которые программировались в Москве. (Возможно, и в других российских городах, но пишу про то, что знаю точно.) Московские программисты принимают активное участие в создании самых разнообразных технологий, но предпочитают держать свои персональные достижения в тени. Почему? Да жизнь у них такая.
(Продолжение следует)
Константин Миронович