На каком движке сделан сталкер
X-Ray — игровой движок, созданный украинскими разработчиками компьютерных игр GSC Game World для своей будущей серии игр S.T.A.L.K.E.R. Движок был продемонстрирован ещё в 2001 году.
Графический движок поддерживает высокую детализацию — до 4 000 000 полигонов в кадре и способен качественно отрисовывать как закрытые, так и открытые пространства, площадь открытых пространств может достигать 2 кв. км. В движке реализована система динамической смены дня и ночи, поддерживается различные погодные эффекты, вроде дождя, ветра или тумана. Достоинством можно отметить динамическую систему освещения которая и по сей день работает весьма эффектно. Присутствуют и технология мягких теней и Screen Space Ambient Occlusion, известная в народе как SSAO ( са-са-о :) ). Из технологий рельефного текстурирования используются Normal mapping и Parallax mapping. Забавной технической особенностью является то что, движок не может одновременно использовать технологию отложенного освещения совместно с полноэкранным сглаживанием в режиме DX9. К слову изначально X-Ray был ориентирован на DirectX 8, но впоследствии многократно дорабатывался, чтобы идти в ногу со временем, так например вскоре он получил поддержку DirectX 9, а с выходом Чистого неба добавился и DirectX 10. А в Зове Припяти в движке появилась поддержка DirectX 11.
В X-Ray Engine используется свободный физический движок Open Dynamics Engine. Он был создан в далеком 2001 году. Представляет из себя открытый физический движок, распространяемый бесплатно в виде динамически подключаемой библиотеки. Его основными компонентами являются система динамики абсолютно твёрдого тела и система обнаружения столкновений. Например, ODE хорошо подходит для симуляции транспортных средств, существ с ногами и движущихся объектов в изменяемом окружении виртуального пространства. ODE имеет очень высокую стабильность интегрирования, поэтому ошибки симуляции не должны выходить из под контроля. С физической точки зрения это значит, что система не должна «взрываться» без причины. Однако в играх серии сталкер любопытные физические ошибки встречаются довольно часто и не поддаются никаким объяснениям.
Основная проблема движка, помимо нашего любимого зеленого жука, это микро-фризы которые наблюдаются во всех играх серии и модах, особенно в Тенях Чернобыля и в моде Misery. Порой даже доходит до того что слайд-шоу начинается, хотя ФПС нормальный. Это происходит из-за того что движок использует ресурсы только одного ядра процессора, но относительно не так давно движок был доработан фантами и обзавелся поддержкой многоядерности. И хотя официально последней версией движка является X-Ray Engine 1.6.02, в то же время фанатами игры разрабатывается более продвинутые версии движка, в которых по сравнению с оригинальным движком устранены множество критических ошибок, добавлены новые функции, а также поддержка многоядерных процессоров и, самое главное, многопоточности.
Одной из таких доработок является «X-Ray Oxygen» - это OpenSource проект по рефакторингу движка X-Ray, представляющий собой платформу для разработки игр или же модификаций. Проект не имеет мультиплеера и не поддерживает 32 битные системы. Кроме рефакторинга оригинального движка расширен и скриптовый функционал для создания более гибкой скриптовой логики, так же реализованы различные улучшения в оружейной части, включая поддержку новых звуков и анимаций, если таковые имеются. Также улучшена графическая составляющая в целом. Но самое важное что данная модификация позволяет задействовать как можно больше возможностей вашего процессора, используя все ядра, тем самым лишая игру микро-фризов. А вы в свою очередь будьте добры не лишать данную статью своего лайка!) и подписывайтесь на канал!) Спасибо)
X-Ray — трёхмерный игровой движок, разработанный программистами Олесем Шишковцовым и Александром Максимчуком в компании White Lynx. Впоследствии был представлен компании GSC Game World, где началась разработка проекта Oblivion Lost на этом движке.
Содержание
История разработки
GSC Game World
2000 год
В 1999-м году у руководителя компании White Lynx Юрия Сторчака начались финансовые проблемы, в связи с чем ведущие программисты Олесь и Александр начали искать новую работу, не увольняясь из White Lynx. За несколько месяцев они написали техническую демо-версию сетевого шутера на своём движке X-Ray. Весной 2000-го попытались устроится на работу в компанию GSC Game World, продемонстрировали наработки на собеседовании руководителю компании Сергею Григоровичу, ему понравился результат и он принял на работу программистов. Так началось развитие движка в компании GSC.
В июне 2000 началась переработка игрового редактора уровней игры Alien Logic, над которым в стенах компании White Lynx работал Александр "AlexRR" Рудковский. Редактор перерабатывался под новую концепцию движка. В августе 2000, Олесь Шишковцов переписал OGF Exporter - плагин для Discreet 3ds max 4, который был предназначен для конвертации смоделированной геометрии в формат .OGF, который на тот момент был основным трехмерным форматом для игрового редактора и движка в целом.
11 сентября последняя правка и сборка редактора уровней XRay Map Editor (Gold edition), написанный в среде Microsoft Visual Developer Studio 6.0. В конце сентября, Александр Максимчук начал переносить исходный код редактора в среду Borland C++ 5.0, который был закончен к концу ноября 2000.
В процессе перевода функционала редактора на Borland C++, было решено отказаться от компиляции локаций внутри редактора и вывести компиляцию в отдельно-исполняемое приложение. 10 октября Олесь Шишковцов начал реализовывать компилятор геометрии — xrLBuilder.
2001 год
Tavex
Характеристики и особенности движка
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 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)
Direct3D 10.1 API (Shader Model 4.0—4.1)
Direct3D 11 API (Shader Model 4.1—5.0)
Физический движок
В «X-Ray» используется свободный физический движок Open Dynamics Engine (ODE). Его особенности:
- Высокая скорость обработки коллизий (быстрее, чем коммерческие движки MathEngine, Havok, и т.д.);
- IK в реальном времени, реалистичная физика машин, и т.д.;
- База данных коллизий с низким использованием памяти;
- Обнаружение столкновений оптимизировано для большого числа запросов в высокополигональной среде;
- Реалистичная симуляция баллистики, движения и т.д.
Игровой ИИ
Звуковой движок
Папки, количество файлов находящихся в них, и общий размер
Звуковой движок использует технологию (HRTF) для качественной генерации звука. Поддерживаются различные эффекты (эхо, зависимость громкости от расстояния источника, эффект закрытого помещения). Возможен вывод шестиканального (5.1) звука, поддерживается технология EAX 2.0. Звуковые данные сохраняются в медиаконтейнерах WAV, WMA, OGG, ADPCM.
Сетевая игра
Движок использует сетевую модель «клиент-сервер» и технологию распределённых вычислений. Движком поддерживается до 32 игроков в одном матче. Также, есть несколько особенностей:
- Инструменты для управления сетевой игрой;
- SDK для создания сетевых и одиночных уровней;
- Поддержка подключения дополнительного контента.
Статус движка
Исходные коды X-Ray закрыты, сторонним компаниям по лицензии не поставляются. Хотя, судя по некоторым интервью с разработчиками, изначально движок планировали продавать. Это также косвенно подтверждает презентация, проведённая GSC в 2004 году на одной игровой выставке, где Олег Яворский рассказывал исключительно о функциях и преимуществах движка.
Также, одно время циркулировали слухи, что исходники можно было приобрести за астрономическую сумму в $100.000.
После релиза модификации Lost Alpha были выложены исходники движка для некоммерческого пользования.
Список игр на X-Ray
После создания X-Ray на нём планировалось много проектов — разработчики пытались использовать движок во многих игровых жанрах. Одни из них, наиболее близкие к Oblivion Lost и S.T.A.L.K.E.R., — 2 отменённые игры, Pilgrims (рус. «Пилигримы») и Commandos (оба названия рабочие).
Piligrims
Для отработки концепции этой игры проводили тесты производительности на X-Ray, массовости мобов, загруженности ландшафта, детализацией объектов. Но её разработку было решено остановить (в последствии отменить), хотя даже после отмены Алексей Мосейчук получил задачу подготовить общее видение игры в скетчах (без живописных и атмосферных зарисовок).
Commandos
Вселенная была ближе к жанру киберпанк, между Fallout и StarWars, с такой высокой динамикой боя — короткие сессии сценарного прохождения в пост-апокалиптическом мире с целью поиска артефактов, природных элементов, ресурсов или их частей. События в атмосфере гаснущего мира Земли, всё уничтожено ядерными взрывами. Основная масса населения отправилась на колонизацию других планет, на орбитальных станциях Земли остались Commandos и небольшая группа учёных-наблюдателей. Планета частично обледенела, частично радиоактивна, то есть среда стала агрессивна. События истории разворачиваются вокруг поиска первоэлементов, формирующих агрегат («дух возрождения») жизни на планете — нужно было собрать сосредоточения силы Земли, 8 духов. Дальше игрок отправлялся к центру Земли, чтобы вызвать ядерную резонансную реакцию — пробудить дух Земли. Сюжет имел 3 ветки развития, во-первых с выбором одной из сторон, фракций: боевик-полицейский, выживший-повстанец или инженер; во-вторых, выбор способа выживания, методов возвращения планеты к жизни.
Игра в осуществлении требовала много ресурсов и разработка была отменена.
Дальнейшая судьба
Сборка представляет собой утилиту для тестирования производительности рендера X-Ray Engine 2.0.
Содержание
Особенности
- Единственная известная сборка X-Ray Engine 2.0
- В качестве иконки исполнительного файла используется значок от «S.T.A.L.K.E.R.: Чистое небо»
История появления
09 ноября 2013 пользователем форума gameru.net [1] был опубликован скриншот проекта "xray2" в среде Microsoft Visual Studio, предположительно, относящийся к данной сборке.
17 ноября был произведён запуск утилиты участником saas, 19 ноября тем же участником был запущен SDK. 20 ноября в SDK была загружена модель. 21 ноября была найдена связь между движками и выдвинута теория о том, что Vostok Engine — это дальнейшее развитие X-Ray 2.0, что неоднократно высказывалось сообществом до изучения сборки.
4 марта 2016 года был выложен ролик модмейкером askoldmodera, демонстрирующий редактор уровней.
Движок X-ray достаточно мало известен за пределами стран СНГ, да и у нас его знают немногие мододелы, и это не удивительно — на нем вышло всего 3 игры. А вот эти игры знает практически любой геймер — это трилогия S.T.A.L.K.E.R., одна из немногих качественных игровых серий, выпущенных на постсоветском пространстве. Она оказалась настолько захватывающей, что новые моды появляются даже сейчас, спустя 8 лет после выхода последней игры серии (Зов Припяти, 2009 год). А некоторые моды стали культовыми, радикально меняющими игру — они добавляли более умный ИИ, машины, больше оружия, новые сюжетные задания и даже локации. Увы — продолжение серии, игра S.T.A.L.K.E.R. 2, официально заморожена, но многие ждут ее так же, как и Half-Life 3.
История появления движка
Движок полностью разработала украинская игровая студия GSC Game World, над графической частью движка в основном работали программисты Алесь Шишковцов и Александр Максимчук (они же работали в 4A Games над проектом Metro 2033). Первая демонстрация движка была проведена в 2001 году:
Как видно, изначально тематики S.T.A.L.K.E.R. не было и близко — демонстрация была больше похожа на джунгли Far Cry 1. Однако уже тогда движок был достаточно продвинутым — работал на DirectX 7 (в дальнейшем к выходу Теней Чернобыля в 2007 году добавили поддержку DirectX 8 и 9), поддерживал Detail mapping, Lightmap, продвинутый AI и текстуры высокого разрешения — в одном кадре могло находиться до 4 000 000 полигонов. Однако, чтобы всю эту красоту могли тянуть компьютеры того времени, пришлось сильно ограничить размер игровой локации — она могла быть не больше 2 кв. км и грузилась сразу и целиком, но между локациями были переходы с загрузочными экранами. X-Ray был написан на C/C++ с использованием исходников Microsoft DirectX SDK, с подключенным к нему компилятором языка LUA “lua.JIT.1.1.4”. При работе использовались библиотеки Microsoft Visual C++ 7.1, Creative EAX (технология для создания звуковых эффектов окружающей среды), ODE (открытый физический движок), OpenAL(интерфейс программирования приложений (API) для работы с аудиоданными, GameSpy Client (мультиплеерная составляющая) и Color Picker.
- Поддержка всех D3D акселераторов третьего поколения, от GeForce 2 и выше;
- Визуализация, оптимизированная под технологию TnL (Transform and Lighting — механизм, преобразующий 3D объект из одного опорного кадра в другой);
- Технология отложенного освещения и затенения, которая позволяет достичь высокой достоверности в рендеринге освещения при высокой геометрической сложности сцены;
- Продвинутая Level of Detail технология для всей геометрии;
- Высокодетализированные персонажи и оружие;
- Высокоскоростная смешанная система анимации, способная на неограниченное число интерполяции костей и модульных операций;
- Поддержка SSE/3Dnow! технологий для процессоров Intel и AMD соответственно, позволяющие оптимизировать нагрузку на них;
- Основанная на портальной системе, нелинейная система определения видимости;
- Технологии Dynamic occlusion/contribution culling (отключение рендеринга объектов, находящихся за пределами камеры или на большом расстоянии);
- Адаптирующаяся под «железо» технология кешированния;
- Колорированное динамическое освещение и динамические «мягкие» тени;
- Разрушаемые анимированные источники света;
- Продвинутый выбор источника света, совмещение и его разделение, отбрасывание теней персонажами;
- Система частиц с реальной физикой;
- Продвинутая шейдерная система;
- Динамическая смена погоды, дня и ночи.
- Рендеринг в высоком динамическом диапазоне (HDR) с плавающей запятой;
- Bump mapping, Normal mapping и Parallax mapping (различные виды рельефного текстурирования);
- Полностью динамическое освещение, мягкие тени;
- Depth of field (глубина резкости), Motion Blur (размытие в движении), Bloom (размытие света на краях объекта) и динамические лучи света.
A-Life
Еще одна особенность движка, которой могут гордиться разработчики — это система искусственного интеллекта A-Life (artificial life — искусственная жизнь). Сами разработчики описывают ее так:
Суть [A-Life] заключается в том, что персонажи в игре живут своей жизнью и существуют всё время, а не только когда их видит игрок. [. ] Мы ввели два термина, характеризующие 2 модели поведения персонажа, отличающихся степенью детализации: офлайн и онлайн. Офлайновое поведение персонажа является очень простым с точки зрения детализации: персонаж не отыгрывает анимации, звуки, не управляет активно инвентарём, не строит детализированные сглаженные пути (хотя строит пути по глобальному навигационному графу, но об этом позже) и т.д. Онлайновое поведение напротив имеет полную степень детализации. Т.е. можно считать, что офлайновое поведение является плодом онлайнового.
В нашей системе пока игрок играет на своём уровне, другие персонажи живут на других уровнях, т.е. находятся в офлайне, т.е. используют офлайновое поведение. Более того, ввиду большой населённости, не все персонажи в пределах одного уровня имеют онлайновое поведение, а лишь те, кто находится в заданном радиусе от игрока (это может зависеть от уровней, обычно в районе 150 метров) или же по желанию геймдизайнеров.
Для реализации этого симулятор следит за передвижением игрока и объектов в офлайне и переводит их в онлайн/офлайн. При вычислении перехода объектов используется стандартный трюк с инерцией: радиус перехода в офлайн больше радиуса перехода в онлайн.
Далее стоит сказать о навигации объектов в онлайне и офлайне. У нас в игре есть уровни, для каждого из которых создаётся свой навигационный граф, который используют персонажи для передвижения в онлайне. Мы называем его детальным графом. Для каждого детального графа также создаётся его менее детализированный аналог, вершины которого можно связать с вершинами такого же графа другого уровня/ей. Т.е. после объединения всех таких графов воедино мы получаем граф, который объединяет все уровни. Он и используется персонажами для передвижения в офлайне. Также им пользуются персонажи в онлайне, когда они выполняют свои стратегические цели. Например, если персонаж в онлайне решил идти на другой уровень, то он строит путь по глобальному графу, затем строит путь по детальному графу своего уровня со своей позиции до точки глобального графа. Если эта точка уже на другом уровне, то он телепортируется туда и автоматически переходит в офлайн. Для того, чтобы это не происходило на глазах у игрока, мы точки перехода для игровых персонажей ставили дальше точки перехода игрока, где-то «за углом»
X-Ray Engine 1.5
Через год послы выхода Теней Чернобыля, в 2008 году, вышла новая часть игры, Чистое Небо. В игру добавили новое оружие и локации, а так же поддержку нового API — DirectX 10. Это позволило существенно улучшить качество воды и частиц, а так же добавить поддержку намокающих поверхностей (то есть поверхность до и после дождя выглядит по-разному) и Steep Parallax Mapping (реалистичное отображение выпуклых объектов на плоской текстуре — например, выпирающих камней в стене). Но в общем и целом графика была на уровне предыдущей части игры:
X-Ray Engine 1.6
В заключительной части трилогии, Зов Припяти, вышедшей в 2009 году, движок получил поддержку DirectX 11. Однако увы — все его особенности движок 8илетней давности не потянул, поэтому добавили только тесселяцию (процесс добавления новых выпуклых многоугольников в полигональную сетку с целью повышения детализации сетки, иными словами — выпуклые объекты стали реалистичнее). Общий уровень графики остался тем же:
Физический движок
В «X-Ray» используется свободный физический движок Open Dynamics Engine (ODE). Его особенности:
Читайте также: