Русская Википедия:Reality Engine

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Карточка движка Reality Engineигровой движок, разработанный американской компанией Artificial Studios для лицензирования другим компаниям. Движок примечателен тем, что был одним из первых движков, активно использующих физический движок «Ageia PhysX» и поддерживал физический процессор Ageia PhysX PPU. Благодаря этому движок использовался в нескольких техно-демо-играх, призванных демонстрировать технологии компании Ageia[1]. 11 мая 2005 года движок был полностью продан компании Epic Games и с этого момента перестал развиваться и лицензироваться.

История

Компания Artificial Studios была основана в 2001 году. Её первым и основным продуктом стал ориентированный на лицензирования сторонним компаниям движок «Reality Engine», который постоянно дорабатывался и совершенствовался[2].

Сотрудничество с NovodeX AG

22 февраля 2005 года Artificial Studios в пресс-релизе официально сообщила о подписании соглашения со швейцарской компанией NovodeX AG, разработчиком физического движка NovodeX Physics. Согласно сделке, физический движок «NovodeX Physics» был интегрирован в «Reality Engine». «В поисках мощного физического движка для игр следующего поколения мы рассматривали много вариантов, но ни один не впечатлил нас своей производительностью и способностями так сильно, как NovodeX. Мы верим, что это сотрудничество позволит разработчикам на Reality поднять реализм в своих играх на новый уровень», — заявил Тим Джонсон (Шаблон:Lang-en), основатель и технический директор Artificial Studios[3][4].

Позже стало известно, что ещё в 2004 году компания NovodeX AG и её движок были приобретены компанией Ageia, «NovodeX Physics» превратился в «Ageia PhysX». После этой сделки с 13 декабря 2005 года в «Reality Engine» стал использоваться «Ageia PhysX»[3].

Покупка движка компанией Epic Games

11 мая 2005 года американская компания Epic Games, один из крупнейших американских разработчиков игр и разработчик серии движков Unreal Engine, официально анонсировала о завершении покупки игрового движка «Reality Engine». Одновременно с покупкой движка, Epic Games наняла Тима Джонсона, основателя Artificial Studios и главного программиста движка. Было объявлено, что Джонсон подключится к процессу разработки движка «Unreal Engine 3»[5][6].

Epic Games выкупила полный набор прав на «Reality Engine», включая права на интеллектуальную собственность, торговые марки и авторские права. Было объявлено, что Epic Games не намерена продолжать развивать, поддерживать и продавать «Reality Engine», — цель покупки состояла в интеграции «Reality Engine» в «Unreal Engine 3». Разработчикам, которые ранее купили лицензию на «Reality Engine», был предложен апгрейд с «Reality Engine» на «Unreal Engine 3» по сниженной цене (по сравнению с полной стоимостью «Unreal Engine 3»)[6].

Тим Суини, основатель Epic Games и главный программист всех движков серии Unreal Engine, так прокомментировал данную сделку: «Мы очень рады видеть Тима Джонсона в составе нашей команды. Он привнёс опыт шести лет разработки игровых движков в команду разработчиков Unreal Engine 3, и он прямо сейчас полон идеями, как улучшить нашу технологию. Тим отлично подходит для Epic — он прекрасно понимает все стороны бизнеса лицензирования, от проектирования до поддержки клиентов для развития бизнеса. Он будет иметь огромное положительное воздействие на нашу компанию и на лицензиатов нашего движка»[5].

На следующий день Джереми Штиглиц (Шаблон:Lang-en), сооснователь и главный дизайнер Artificial Studios, прокомментировал эту сделку и сообщил, что для лицензиатов «Reality Engine» будет продолжена поддержка, разработка документации и исправление ошибок движка[3].

Технические характеристики

Игровой движок «Reality Engine» написан на языках программирования Си и C++. Он полностью интегрирован с языками платформы .NET Framework, позволяя писать модули к нему на C#, C++/CLI, Visual Basic .NET и других. Для некоторых модулей, в качестве скриптового языка использовался Python. В движке, в качестве API рендера, используется Direct3D9. «Reality Engine» — кроссплатформенный движок, однако при его разработке основной акцент был сделан на IBM PC-совместимые компьютеры под управлением операционных систем семейства Microsoft Windows[7]. Вместе с тем архитектура движка спроектирована так, чтобы его можно было портировать на игровые консоли Xbox 360 и PlayStation 3[8][9].

Графический движок

Шаблон:External media Графический движок в «Reality Engine» создан на основе DirectX 9.0 и обратно совместим с DirectX 7 и DirectX 8. Движок поддерживает попиксельное освещение и затенение при помощи шейдерных моделей PS3.0, PS2.X, PS2.0 и PS1.1,также поддерживается FPP. Поддерживаются динамический проективный маппинг, normal mapping, зеркальность Фонга, попиксельный reflection mapping, преломления (рефракции), parallax mapping, анимированные текстуры, имитация ткани, анизотропное рассеивание, рендеринг воды и другие конфигурируемые пиксельные и вершинные шейдеры[8].

В движке используется технология «Precomputed Radiance Transfer» (сокращённо «PRT»), иначе называемая «Realtime Radiosity», благодаря которой возможна реализация технологий подповерхностного рассеивания и мягких теней. Система освещения и затенения является унифицированной и динамичной, способной обрабатывать циклы день/ночь[9].

Важной особенностью движка является иерархичное попиксельное окклюзивное обрезание (Шаблон:Lang-en), которое устраняет необходимость в создании порталов, зон видимости или ручных окклюдеров. Окклюзивное обрезание невидимых поверхностей проводится полностью автоматически[8].

Поддерживается технология «High Dynamic Range Rendering» с использованием буферов с плавающей запятой, что позволяет реализовывать такие эффекты, как Tone Mapping, Exposure Adaption и Blue Shift[9].

Пост-процессинг включает такие пост-фильтры, как Motion Blur, Bloom и нефотореалистичный рендеринг[8].

Физический движок

Шаблон:External media В качестве физического движка в «Reality Engine» использовался сначала «NovodeX Physics», а с 13 декабря 2005 года — «Ageia PhysX», который был на нём основан. После перехода на «Ageia PhysX» стало возможным ускорение физических расчётов на физическом процессоре Ageia PhysX PPU. Поддержка Ageia PhysX PPU была добавлена для версии «Reality Engine» v.15 13 декабря — в день перехода на движок Ageia PhysX[3].

Движком поддерживается обнаружение столкновений, физика твёрдых тел, физика транспортных средств, физика Ragdoll, мульти-примитивы, соединения (кинематические пары), разрушаемые объекты, физика безразмерных (точечных) частиц и многие другие функции. Ещё одной функцией движка является возможность создания так называемых «физических зон» — областей в трёхмерной сцене, в которых величины физических констант (инерция, трение, ускорение свободного падения) отличаются от величин этих констант вне данной «физической зоны»[9].

Работа с физическим движком поддерживается в утилите «Reality Builder» на уровне графического интерфейса. Так, в «Reality Builder» можно создавать ограничивающие объёмы для разных моделей и скелетных анимированных мешей, возможно редактирование соединений, а также просчёт, выполнение и тонкая настройка физики внутри редактора[8].

Система анимации

Система анимации, входящая в состав «Reality Engine», имеет поддержку анимации по ключевым кадрам (Шаблон:Lang-en), скелетной анимации и смешивания анимации. Поддерживается скелетная анимация на уровне вершинных шейдеров, персонажи могут содержать любое количество произвольных пиксельных и вершинных шейдеров для множества материалов. Система анимации поддерживает бесшовные переходы между физической анимацией (например, физикой Ragdoll) и предпросчитанной анимацией по ключевым кадрам. Физические свойства костей скелетов персонажей позволяют создавать процедурную анимацию[9].

«Reality Engine» содержит инструменты для экспорта анимационных последовательностей, взвешенных сеток и скелетов из 3ds Max и Maya в движок[8].

Звуковой движок

Звуковой движок в составе «Reality Engine» поддерживает технологии Environmental Audio Extensions и 5.1 Surround, способен обрабатывать звуковые источники на двухмерной и трёхмерной сцене, был написан с использованием DirectSound. Поддерживается потоковое аудио, имеется поддержка аудиокодека Vorbis[9].

Работа с сетью

«Reality Engine» способен работать с компьютерными сетями, позволяя создавать многопользовательские сетевые игры или режимы игры. Сетевые компоненты движка построены на основе технологии «клиент-сервер».

При работе с сетевыми соединениями используется адаптивная деградация данных и предсказание поведения, позволяющие более эффективное взаимодействие пользователей через сетевые соединения с большой задержкой (латентностью). Сетевая подсистема поддерживает голосовую связь. Платформо-независимый сетевой компонент способен работать на выделенных серверах, которые запущены на Microsoft Windows, Linux или Mac OS[8][9].

Сетевая система движка широко используется при разработке игр на нём. Например, множество разработчиков какой-либо игры на «Reality Engine» могут одновременно вносить изменения в одну игровую сцену через множество компьютеров в сети, — эти изменения будут добавляться в сцену, которая будет запущена на сервере. Кроме этого, сервер работает как система управления версиями — он сохраняет и синхронизирует все сборки (билды) и игровые ассеты, которые находятся на уровне во время его создания[9].

Ещё одной функцией сетевой компоненты «Reality Engine» являются распределённые вычисления системы освещения. Разработчики игры могут просчитывать «Precomputed Radiance Transfer» на своих собственных (локальных) компьютерах и потом отправлять результаты вычислений на сервер[9].

Игровой ИИ

Шаблон:External media В «Reality Engine» присутствуют компоненты игрового искусственного интеллекта, позволяющие создавать ИИ-персонажей, например, ботов или NPC. Модуль по работе с игровым ИИ был создан с использованием библиотеки Kynapse от AutoDesk. При сетевой игре ИИ может выполняться как на стороне клиента, так и на стороне сервера; во втором случае на клиент отсылаются лишь действия виртуальных персонажей, просчитанные на сервере[9].

Присутствуют алгоритмы поиска пути, причём есть и предпросчитанные заготовки, и динамические варианты поиска пути с уклонением от препятствий. Принятие решений основано на модели адаптивного конечного автомата. Боты могут реагировать на такие внешние раздражители, как изображения и звуки[8].

Редакторы уровней и другие утилиты

«Reality Engine» содержит редактор уровней, имеющий графический интерфейс и работающий по принципу «What You See Is What You Get». Для перехода из режима редактирования в режим сцены не нужно время на компиляцию или другую обработку уровня — переключение в режим игры производится сразу. Редактор уровней позволяет создавать и настраивать все ассеты на уровне: точки респавна, неигровых персонажей, игровых предметов, инвентаря и амуниции, узлы путей ИИ-персонажей, источники света и др. Все объекты появляются на сцене сразу и полноценно обрабатываются графическим движком[8].

Существует набор плагинов к 3ds Max и Maya, которые позволяют экспортировать из этих программ трёхмерные модели, анимационные и другие данные[8].

Лицензирование

Компания Artificial Studios предлагала движок «Reality Engine» для лицензирования сторонним компаниям. Цена публично не оговаривалась, она определялась индивидуально для лицензиата после собеседования с ним. При лицензировании лицензиат получал полный исходный код движка, полный исходный код фреймворка, технологические демонстрации, все компиляторы и утилиты, а также их исходный код. Лицензиат обеспечивался поддержкой и ежедневными обновлениями движка из онлайновой CVS[10].

Для потенциальных лицензиатов Artificial Studios предлагала оценочные версии движка с ограниченным исходным кодом. Существовали обучающие лицензии, распространяемые со скидками, по меньшей цене[10].

После покупки движка компанией Epic Games компания Artificial Studios утратила все права на движок и прекратила его лицензирование, однако продолжила поддержку для уже существующих лицензиатов. Было заявлено, что работы над движком продолжаться: будут выпускаться новые обновления, писаться инструкции, продолжаться поддержка лицензиатов[3].

В августе 2008 года Тим Джонсон на официальном сайте сообщил, что он и его компания больше не принимают сообщений от лицензиатов движка касательно самого движка[3].

Продукты, использующие Reality Engine

Список компьютерных игр, использующих «Reality Engine»
Название игры Разработчик Издатель Платформы Дата выхода Примечания
INC.orperated[11][12] Galahan Games неизвестен неизвестны статус игры неизвестен Официальный сайт разработчика недоступен
Strike Force: Red Cell[13] Vision Studios Graffiti Entertainment ПК, Xbox 360 В разработке — 31 декабря 2010 года Изначально в списке целевых платформ, кроме ПК и Xbox 360, присутствовала и PlayStation 3[7]
Armageddon[11] Boanerges Studios отсутствовал ПК, Xbox 360, PlayStation 3[14] Релиз отменён Игра отменена[15]
Under Pressure[11] Prophecy Games Не анонсирован неизвестны В разработке (TBA)
Monster Madness: Battle for Suburbia[16] Artificial Studios, Immersion Games SouthPeak Interactive ПК, Xbox 360 12 июня 2007 года Версия игры для PlayStation 3 была разработана компанией Psyonix и выпущена 5 августа 2008 года под названием Monster Madness: Grave Danger[17]
Hellion: Mystery of the Inquisition[11] Flying Fish Works Не анонсирован ПК, Xbox 360, PlayStation 3 В разработке — 8 сентября 2010 года
CellFactor: Combat Training Artificial Studios, Immersion Games Издатель отсутствует ПК 8 мая 2006 года[18] Техно-демо-игра, распространяемая бесплатно[19]
CellFactor: Revolution[20] Artificial Studios, Immersion Games, Timeline Interactive Издатель отсутствует ПК 8 мая 2007 года Техно-демо-игра, распространяемая бесплатно
Desert Diner[21] Tarsier Studios Издатель отсутствует ПК Предположительно в разработке, точный статус неизвестен Техно-демо-игра, модификация к CellFactor: Revolution, содержащий один уровень[22]
The City of Metronome (ранее — «Metronome»)[23] Tarsier Studios Не анонсирован ПК, Xbox 360, PlayStation 3[24] В разработке (TBA)
Dreamers DreamGazers Не анонсирован ПК, Xbox 360, PlayStation 3, Wii[25] В разработке (TBA)
Retribution[26] U-235 Studios Не анонсирован ПК, Xbox 360[27] В разработке (предположительно) Официальный сайт разработчика: домен принадлежит другому сайту
My Horse & Me[3] Mistic Software Atari ПК, Nintendo DS, Wii 5 февраля 2008 года[28]

Одна лицензия на использование «Reality Engine» была продана компании FutureFarm Studio, которая занимается трёхмерной графикой и дизайном.[11]

«Reality Engine» лицензировала ирландская компания Phooka Entertainment, которая в 2006 году выпустила на движке игру Recall.[11] Данная игра является обучающей игрой в стиле action-adventure и с видом от третьего лица. Эта игра была предназначена для «установления мира и примирения в Северной Ирландии путём содействия развитию сотрудничества, взаимопонимания и примирения». Кроме этого, планировалось использовать игру в школах на севере Ирландии.[29]

Компания Artificial Studios выпустила ряд технологических демонстраций «Reality Engine»[11]:

  • «Reality Engine Cave Tech Demo» — 2003 год
  • «Reality Engine Haunted Mansion Tech Demo» — 2003 год
  • «Reality Engine Backyard Tech Demo» — 2004 год
  • «Reality Engine Eval Kit Deathmatch Level» — 2004 год

Оценки и отзывы

9 мая 2007 года сайт Cinema Blend опубликовал статью «Unreal Engine 3 Vs Reality Engine: The Battle Of Compatibility» (Шаблон:Lang-ru), в которой был проведён анализ и сравнение движков «Unreal Engine 3» и «Reality Engine», а также были приведены высказывания нескольких разработчиков игр по этим движкам. Основным и ключевым недостатком «Reality Engine» была названа его недостаточная поддержка консолей, которая делает его пригодным только для использования на персональных компьютерах. Именно этот фактор привёл к тому, что «Reality Engine» имеет очень слабую популярность и лицензиатов, тогда как мультиплатформенный «Unreal Engine 3» является лидером по лицензированию[7].

В данной статье были приведены высказывания Майка Хамлетта (Шаблон:Lang-en), президента компании Vision Studios, которая разрабатывает игру Strike Force Red Cell для ПК и Xbox 360 на «Reality Engine». Выход этой игры запланирован на второе полугодие 2010 года. В интервью сайту VG Core 6 октября 2006 года Майк Хамлетт заявил[7][30]:

«

Мы действительно хотели работать с Unreal Engine 3, но его цена не вписывалась в наш бюджет. Мы решили купить Reality Engine ещё до того, как он был куплен Epic, и мы расширили возможности движка согласно нашим нуждам. Движок восхитительный и он будет конкурировать с другими будущими ААА-продуктами.

»
— Анонимус

Кроме этого, Хамлетт сообщил, что, по сравнению с «Unreal Engine 3», «Reality Engine» вполне конкурентоспособный и имеет такие особенности, которые отсутствуют в «Unreal Engine 3». Единственной причиной, по которой «Reality Engine» не получил такого распространения, как «Unreal Engine 3», Хамлетт считает покупку движка компанией Epic Games, вследствие которой уже никто не может лицензировать «Reality Engine».[30]

Отзывы на применение PhysX в играх серии CellFactor

«Reality Engine» стал одним из первых игровых движков, в который был интегрирован физический движок «Ageia PhysX» с поддержкой физического процессора Ageia PhysX PPU[31]. Благодаря этому на «Reality Engine» было выпущено несколько бесплатных техно-демо-игр, которые были призваны демонстрировать особенности и преимущества комплекса PhysX по сравнению с конкурентами. Так, игры CellFactor: Combat Training (май 2006), CellFactor: Revolution (май 2007), Desert Diner (январь 2009) являются технологическими демонстрациями[1].

«

На примере CellFactor хорошо прослеживается практическое доказательство нашего теоретического предположения о том, что PPU — это в первую очередь количественное улучшение уже виденных нами физических эффектов. В 2003-м году в Max Payne 2 с полок падало на пол по 5 коробок, а тут — летает по 500 ящиков одновременно.

»
— Анонимус

Стандартно «CellFactor: Combat Training» была предназначена для запуска только на тех ПК, на которых установлена плата Ageia PhysX PPU. В случае отсутствия такой платы игра не запускалась. Однако в июле 2006 года участники форумов сайта Tom's Hardware предложили работающий «рецепт», как обеспечить нормальную работу «CellFactor: Combat Training» без наличия Ageia PhysX PPU в системе. Благодаря этому журналисты смогли тестировать производительность и качество физического движка PhysX в игре «CellFactor: Combat Training» в двух режимах: без наличия физического ускорителя и при его наличии[1][32][33].

8 мая 2006 года авторитетный англоязычный сайт Bit-tech.net опубликовал обширный обзор BFG Tech AGEIA PhysX PPU — платы расширения, которая использовала физический процессор Ageia PhysX PPU. Для тестирования использовались коммерческая игра «Tom Clancy's Ghost Recon Advanced Warfighter» от шведского разработчика GRIN и «CellFactor: Combat Training» Журналисты очень хорошо отозвались о качестве и масштабах физики в «CellFactor: Combat Training», а также о количестве физически взаимодействующих объектов. «Вот где мощь процессора PhysX PPU действительно пробивается», — заявили обозреватели. Особо сильно журналисты подчеркнули работу с тканью в игре: «Рендеринг реальной ткани является одной из самых сложных задач в играх, <…> и мы никогда ранее не видели разрушаемую ткань такого высокого качества». Вместе с тем, журналисты заметили, что «CellFactor: Combat Training» — техно-демо-игра, специально разработанная для демонстрации PhysX, поэтому она не может приниматься во внимание так же, как «полноценные» коммерческие игры[34].

Русскоязычный сайт «Железо» в своём обзоре на Asus PhysX P1 оценивал его, как и Bit-tech.net, при помощи двух игр — «Tom Clancy's Ghost Recon Advanced Warfighter» и «CellFactor: Combat Training». О качестве физики в первой игре журналисты отозвались отрицательно, однако были восхищены уровнем и масштабами физики в «CellFactor: Combat Training». Обозреватели поражались «огромным» количеством одновременно обрабатываемых объектов и активное взаимодействие с ними при помощи телекинеза, присущего игровому персонажу. «В действии это, надо сказать, смотрится потрясающе — вот где наглядно видно преимущество аппаратного ускорения физики!» — заявили журналисты[33].

Примечания

Шаблон:Примечания

Ссылки

  1. 1,0 1,1 1,2 Ошибка цитирования Неверный тег <ref>; для сносок ixbt_ppu не указан текст
  2. Ошибка цитирования Неверный тег <ref>; для сносок company_as не указан текст
  3. 3,0 3,1 3,2 3,3 3,4 3,5 3,6 Ошибка цитирования Неверный тег <ref>; для сносок news_as не указан текст
  4. Шаблон:Cite web
  5. 5,0 5,1 Ошибка цитирования Неверный тег <ref>; для сносок buy_orig не указан текст
  6. 6,0 6,1 Ошибка цитирования Неверный тег <ref>; для сносок buy не указан текст
  7. 7,0 7,1 7,2 7,3 Ошибка цитирования Неверный тег <ref>; для сносок compare не указан текст
  8. 8,0 8,1 8,2 8,3 8,4 8,5 8,6 8,7 8,8 8,9 Ошибка цитирования Неверный тег <ref>; для сносок descr_as не указан текст
  9. 9,0 9,1 9,2 9,3 9,4 9,5 9,6 9,7 9,8 9,9 Ошибка цитирования Неверный тег <ref>; для сносок descr_devmaster не указан текст
  10. 10,0 10,1 Ошибка цитирования Неверный тег <ref>; для сносок faq_as не указан текст
  11. 11,0 11,1 11,2 11,3 11,4 11,5 11,6 Ошибка цитирования Неверный тег <ref>; для сносок media_as не указан текст
  12. Шаблон:Cite web
  13. Шаблон:Cite web
  14. Шаблон:Cite web
  15. Шаблон:Cite web
  16. Шаблон:Cite web
  17. Шаблон:Cite web
  18. Шаблон:Cite web
  19. Шаблон:Cite web
  20. Шаблон:Cite web
  21. Шаблон:Cite web
  22. Шаблон:Cite web
  23. Шаблон:Cite web
  24. Шаблон:Cite web
  25. Шаблон:Cite web
  26. Шаблон:Cite web
  27. Шаблон:Cite web
  28. Шаблон:Cite web
  29. Шаблон:Cite web
  30. 30,0 30,1 Ошибка цитирования Неверный тег <ref>; для сносок vgcore не указан текст
  31. Поддержка Ageia PhysX PPU была добавлена 13 декабря 2005 года, тогда как сам PPU был анонсирован в марте 2005 года. Первая коммерческая игра, в которой была полная поддержка PhysX — Tom Clancy's Ghost Recon Advanced Warfighter, вышедшая 5 мая 2006 года для ПК.
  32. Шаблон:Cite web
  33. 33,0 33,1 Ошибка цитирования Неверный тег <ref>; для сносок xard_ppu не указан текст
  34. Шаблон:Cite web