X-Ray

Материал из Zone Chronicles

Логотип
X-Ray — игровой движок, созданный для серии игр S.T.A.L.K.E.R. компанией GSC Game World.

Первые скриншоты живописных красот джунглей были представлены общественности ещё в 2001 году. Изначально он был ориентирован на DirectX 7 и уже тогда мог похвастать такими технологиями, как Detail mapping, Lightmap, AI роботов–хенов и текстурами высокого разрешения. На протяжении разработки первой части движок претерпел серьёзные изменения, и к выходу игры был основан уже на DirectX 8\9, имея в наличии целый ворох новых технологий.

Над движком работали программисты Олесь Шишковцов и Александр Максимчук (позже работали в 4A Games над проектом Metro 2033, где создали свой «новый» движок 4A Engine). X-Ray написан на C/C++ с использованием исходников Microsoft DirectX SDK, с подключенным к нему компилятором языка LUA “lua.JIT.1.1.4”. Использует при работе библиотеки Microsoft Visual C++ 7.1, Creative EAX, ODE, OpenAL, GameSpy Client, ColorPicker.

Характеристики и особенности движка

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

Direct3D 8.1 API (Shader Model 1.0—1.1)

  • Поддержка всех D3D акселераторов третьего поколения, от GeForce 2 и выше;
  • Визуализация, оптимизированная под технологию TnL (both FF and shading capable parts);
  • Технология отложенного освещения и затенения, которая позволяет достичь высокой достоверности в рендеринге освещения при высокой геометрической сложности сцены;
  • Продвинутая Level of Detail технология для всей геометрии;
  • 500.000 — 1.500.000 полигонов в кадре;[1]
  • Высокодетализированные персонажи и оружие;
  • Высокоскоростная смешанная система анимации, способная на неограниченное число интерполяции костей и модульных операций;
  • Поддержка SSE/3Dnow! технологии;
  • Определение видимости (геометрии);
  • Основанная на портальной системе, нелинейная система определения видимости;
  • Оптимизирована для T&L оборудования для упрощения моделей;
  • Технологии Dynamic occlusion culling, contribution culling;
  • Адаптирующаяся под «железо» технология кешированния;
  • Освещение, Lightmapping;
  • Колорированное динамическое освещение и динамические «мягкие» тени;
  • Разрушаемые источники света;
  • Анимированные источники света;
  • Отбрасывание теней персонажами;
  • Продвинутый выбор источника света, совмещение и его разделение;
  • Detail mapping;
  • Система партиклов с реальной физикой;
  • Экранный post-processing;
  • Продвинутая шейдерная система;
  • Детальные объекты;
  • Динамическая смена погоды, дня и ночи.

Direct3D 9.0\9.0c API (Shader Model 2.0—3.0)

Динамические мягкие тени
Подсчет файлов в исходниках, и их расширения
  • Поддерживается рендеринг в высоком динамическом диапазоне (HDR) с плавающей запятой;
  • Bump mapping;
  • Normal mapping и Parallax mapping;
  • Полностью динамическое освещение, мягкие тени;
  • Depth of field;
  • mBlur;
  • Bloom;
  • Динамические лучи света.

Direct3D 10 API (Shader Model 3.0—4.0)

  • Soft Water;
  • Soft Particles.

Direct3D 10.1 API (Shader Model 4.0—4.1)

  • Steep Parallax
  • Wetting Surfaces

Direct3D 11 API (Shader Model 4.1—5.0)

  • Тесселяция;

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

В «X-Ray» используется свободный физический движок Open Dynamics Engine (ODE). Его особенности:

  • Высокая скорость обработки коллизий (быстрее, чем коммерческие движки MathEngine, Havok, и т.д.);
  • IK в реальном времени, реалистичная физика машин, и т.д.;
  • База данных коллизий с низким использованием памяти;
  • Обнаружение столкновений оптимизировано для большого числа запросов в высокополигональной среде;
  • Реалистичная симуляция баллистики, движения и т.д.

Игровой ИИ

Система A-Life.

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

Папки, количество файлов находящихся в них, и общий размер

Звуковой движок использует технологию (HRTF) для качественной генерации звука. Поддерживаются различные эффекты (эхо, зависимость громкости от расстояния источника, эффект закрытого помещения). Возможен вывод шестиканального (5.1) звука, поддерживается технология EAX 2.0. Звуковые данные сохраняются в медиаконтейнерах WAV, WMA, OGG, ADPCM.

Сетевая игра

Движок использует сетевую модель «клиент-сервер» и технологию распределённых вычислений. Движком поддерживается до 32 игроков в одном матче. Также, есть несколько особенностей:

  • Инструменты для управления сетевой игрой;
  • SDK для создания сетевых и одиночных уровней;
  • Поддержка подключения дополнительного контента.

Статус движка

Исходные коды X-Ray закрыты, сторонним компаниям по лицензии не поставляются. Хотя, судя по некоторым интервью с разработчиками, изначально движок планировали продавать. Это также косвенно подтверждает презентация, проведённая GSC в 2004 году на одной игровой выставке, где Олег Яворский рассказывал исключительно о функциях и преимуществах движка.

Также, одно время циркулировали слухи, что исходники можно было приобрести за астрономическую сумму в $100.000.

После релиза Lost Alpha были выложены исходники движка для некоммерческого пользования.

Список игр с использованием X-Ray Engine

Дальнейшая судьба

GSC не планирует использовать в дальнейшем X-Ray в разработках собственных игр. Исходя из интервью и некоторой инсайдерской информации, в данный момент собрана новая команда разработчиков, которая делает игровой движок с нуля[2] для следующей части игры S.T.A.L.K.E.R.

При исследовании слитого в сеть исходного кода движка версии 2.0 обнаружилось, что Vostok Engine является дальнейшим развитием X-Ray 2.0[3].

Интересные факты

  • Когда 4A Games выложила первые скриншоты своей разрабатываемой игры Metro 2033: The Last Refuge, многие игроки заметили сильное сходство графики с предыдущим их детищем — S.T.A.L.K.E.R. И заметили не только они. Компания GSC подала в суд на Александра Максимчука за нарушение авторских прав и выиграла дело. Конфликт был улажен. Однако, в ходе «раскопок» Metro были также вскрыты факты использования текстур и других материалов из игры Сталкер.
  • В разработке утилит hxGrid, позволяющих устраивать сетевую компиляцию ресурсов игры (S.T.A.L.K.E.R.: Зов Припяти), принимали участие бывшие разработчики Venom, ныне сотрудники Deep Shadows, Сергей Забарянский и Роман Лут.
  • В исходном коде движка числится около 2000-5000 файлов (на состоянии 1 сентября 2006)
  • В исходниках движка версии 1.0 (на состоянии 2008 года), содержится 7382 файла, общий объем составляет 46,5 МБ и 86 различных расширений.
  • Полная компиляция и линковка С++ кода сталкера на одном Athlon 2000 занимала более  3х часов. С использованием IncrediBuild – 40 минут.

Примечания

  1. ^ Актуально только для X-Ray 1.0xx
  2. ^ Небольшое уточнение — за основу всё-таки был принят движок Зова Припяти (X-Ray Engine 1.6), однако он был серьёзно переработан и практически полностью переписан.
  3. ^ XRAY2 source code - Страница 20 - ..::GAMEINATOR::..

Ссылки