Компания Artificial Studios была основана в 2001 году. Её первым и основным продуктом стал ориентированный на лицензирования сторонним компаниям движок Reality Engine, который постоянно дорабатывался и совершенствовался[2].
Сотрудничество с NovodeX AG
22 февраля 2005 года Artificial Studios в пресс-релизе официально сообщила о подписании соглашения со швейцарской компанией NovodeX AG, разработчиком физического движкаNovodeX Physics. Согласно сделке, физический движок NovodeX Physics был интегрирован в Reality Engine. «В поисках мощного физического движка для игр следующего поколения мы рассматривали много вариантов, но ни один не впечатлил нас своей производительностью и способностями так сильно, как NovodeX. Мы верим, что это сотрудничество позволит разработчикам на Reality поднять реализм в своих играх на новый уровень», — заявил Тим Джонсон (англ.Tim Johnson), основатель и технический директор 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].
На следующий день Джереми Штиглиц (англ.Jeremy Stieglitz), сооснователь и главный дизайнер Artificial Studios, прокомментировал эту сделку и сообщил, что для лицензиатов Reality Engine будет продолжена поддержка, разработка документации и исправление ошибок движка[3].
Графический движок в 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].
Важной особенностью движка является иерархичное попиксельное окклюзивное обрезание (англ.Hierarchical Per-pixel Occlusion Culling), которое устраняет необходимость в создании порталов, зон видимости или ручных окклюдеров. Окклюзивное обрезание невидимых поверхностей проводится полностью автоматически[8].
Поддерживается технология High Dynamic Range Rendering с использованием буферов с плавающей запятой, что позволяет реализовывать такие эффекты, как Tone Mapping, Exposure Adaption и Blue Shift[9].
Пост-процессинг включает такие пост-фильтры, как motion blur, bloom и нефотореалистичный рендеринг[8].
В качестве физического движка в Reality Engine использовался сначала NovodeX Physics, а с 13 декабря 2005 года — Ageia PhysX, который был на нём основан. После перехода на Ageia PhysX стало возможным ускорение физических расчётов на физическом процессореAgeia PhysX PPU. Поддержка Ageia PhysX PPU была добавлена для версии Reality Engine v.15 13 декабря — в день перехода на движок Ageia PhysX[3].
Работа с физическим движком поддерживается в утилите Reality Builder на уровне графического интерфейса. Так, в Reality Builder можно создавать ограничивающие объёмы для разных моделей и скелетных анимированных мешей, возможно редактирование соединений, а также просчёт, выполнение и тонкая настройка физики внутри редактора[8].
Система анимации
Система анимации, входящая в состав Reality Engine, имеет поддержку анимации по ключевым кадрам (англ.keyframe), скелетной анимации и смешивания анимации. Поддерживается скелетная анимация на уровне вершинных шейдеров, персонажи могут содержать любое количество произвольных пиксельных и вершинных шейдеров для множества материалов. Система анимации поддерживает бесшовные переходы между физической анимацией (например, физикой Ragdoll) и предпросчитанной анимацией по ключевым кадрам. Физические свойства костей скелетов персонажей позволяют создавать процедурную анимацию[9].
Reality Engine содержит инструменты для экспорта анимационных последовательностей, взвешенных сеток и скелетов из 3ds Max и Maya в движок[8].
Reality Engine способен работать с компьютерными сетями, позволяя создавать многопользовательские сетевые игры или режимы игры. Сетевые компоненты движка построены на основе технологии клиент-сервер.
При работе с сетевыми соединениями используется адаптивная деградация данных и предсказание поведения, позволяющие более эффективное взаимодействие пользователей через сетевые соединения с большой задержкой (латентностью). Сетевая подсистема поддерживает голосовую связь. Платформо-независимый сетевой компонент способен работать на выделенных серверах, которые запущены на Microsoft Windows, Linux или Mac OS[8][9].
Сетевая система движка широко используется при разработке игр на нём. Например, множество разработчиков какой-либо игры на Reality Engine могут одновременно вносить изменения в одну игровую сцену через множество компьютеров в сети, — эти изменения будут добавляться в сцену, которая будет запущена на сервере. Кроме этого, сервер работает как система управления версиями — он сохраняет и синхронизирует все сборки (билды) и игровые ассеты, которые находятся на уровне во время его создания[9].
Ещё одной функцией сетевой компоненты Reality Engine являются распределённые вычисления системы освещения. Разработчики игры могут просчитывать Precomputed Radiance Transfer на своих собственных (локальных) компьютерах и потом отправлять результаты вычислений на сервер[9].
В 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
Одна лицензия на использование Reality Engine была продана компании FutureFarm Studio, которая занимается трёхмерной графикой и дизайном[11].
Reality Engine лицензировала ирландская компания Phooka Entertainment, которая в 2006 году выпустила на движке игру Recall[11]. Данная игра является обучающей игрой в стиле action-adventure и с видом от третьего лица. Эта игра была предназначена для установления мира и примирения в Северной Ирландии путём содействия развитию сотрудничества, взаимопонимания и примирения. Кроме этого, планировалось использовать игру в школах на севере Ирландии[29].
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» (рус.Unreal Engine 3 против Reality Engine: Битва совместимости), в которой был проведён анализ и сравнение движков Unreal Engine 3 и Reality Engine, а также были приведены высказывания нескольких разработчиков игр по этим движкам. Основным и ключевым недостатком Reality Engine была названа его недостаточная поддержка консолей, которая делает его пригодным только для использования на персональных компьютерах. Именно этот фактор привёл к тому, что Reality Engine имеет очень слабую популярность и лицензиатов, тогда как мультиплатформенный Unreal Engine 3 является лидером по лицензированию[7].
В данной статье были приведены высказывания Майка Хамлетта (англ.Mike Hamlett), президента компании 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
На примере CellFactor хорошо прослеживается практическое доказательство нашего теоретического предположения о том, что PPU — это в первую очередь количественное улучшение уже виденных нами физических эффектов. В 2003-м году в Max Payne 2 с полок падало на пол по 5 коробок, а тут — летает по 500 ящиков одновременно.Оценка тестирования Ageia PhysX PPU на CellFactor: Combat Training, сайт iXBT.com[1]
Стандартно 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].
↑Cian Ginty.Screenshots from Derry studio(англ.). Games Toaster (18 января 2006). Дата обращения: 10 февраля 2024. Архивировано из оригинала 13 августа 2011 года.
↑ 12Cyguration.Strike Force Red Cell(англ.). VG Core (6 октября 2006). — интервью с Майком Хамлеттом касательно Strike Force Red Cell, в котором Хаммет рассказывает о Reality Engine и Unreal Engine 3. Дата обращения: 10 февраля 2024. Архивировано из оригинала 21 ноября 2010 года.
↑Поддержка Ageia PhysX PPU была добавлена 13 декабря 2005 года, тогда как сам PPU был анонсирован в марте 2005 года. Первая коммерческая игра, в которой была полная поддержка PhysX — Tom Clancy's Ghost Recon Advanced Warfighter, вышедшая 5 мая 2006 года для ПК
↑Geoff Richards.BFG Tech AGEIA PhysX PPU(англ.) 6. Bit-tech.net (8 мая 2006). Дата обращения: 15 мая 2010. Архивировано из оригинала 13 августа 2011 года.