Игровой движок — это базовое программное обеспечение компьютерной игры, состоящее из ряда алгоритмов.
Абсолютно каждая игра основана в первую очередь на движке, без него игра не запустится и будет отличной только при наличии качественной базы.
История разработки движка X-Ray восходит к 1998 году, когда два неопытных программиста из GSC Game World, Олесь Шишковцов и Александр Максимчук, объединились для совместной работы над собственным 3D движком.
К 2000 году на движке была выпущена демо-версия игры Sea Battle. С этого момента долгосрочное развитие S.T.A.L.K.E.R.
Проанализировав интервью с одним из ведущих программистов, который участвовал в создании искусственного интеллекта / моделирования в игре, можно выделить две характеристики движка, которые были задуманы и находились в стадии реализации, но не достигли релиза Shadows of Chernobyl:
Первая характеристика — это динамические события. Допустим, в одной части города была спокойная жизнь, а в другой — стрельба.
Сталкер (он же NPC) покинул лагерь и направился в другую часть места, где в то время, например, происходила перестрелка между одиночками и бандитами.
Подойдя ближе к этому месту, сталкер увидел стрельбу и решил рассказать об этом другим, написав сообщение в чате на КПК.
Это сообщение было отображено на экране игрока, и игрок смог попасть в эту область. Когда он прибыл туда, он действительно мог видеть того же преследователя, который отправил сообщение, и других одиноких и бандитов, сражающихся.
Вторая характеристика — продуманный искусственный интеллект. По словам Дмитрия, это было запланировано: возьмем для примера двух сталкеров.
Один в лагере, другой на КПП. У первого была одна цель — убить другого, но у него не было оружия, поэтому в нескольких футах от него был нож.
Он должен был подойти, взять нож, а затем подойти к врагу и убить его там.
Идея блестящая, но эта функция так и не была реализована и никогда не появлялась в игре.
Итак, в интервью было сказано, что искусственный интеллект может ошибаться, как обычный человек, но если вы посмотрите, то этот самый искусственный интеллект делает много ошибок в сталкере, что является преимуществом.
«Но еще не все… До релиза осталось несколько месяцев, и разработчики должны научить искусственный интеллект многим вещам, например, действовать вместе».
Было слишком много идей и обещаний, а разработчики просто забыли о мелочах. Прежде всего, я говорю о неигровых персонажах, стоящих в коридоре и не позволяющих игроку пройти.
Сначала обещают, строят большие планы, и на выходе мы видим только глюки, а обещанных функций нет вовсе.
Итак, вот функции, которые у движка 1.0 были на выходе:
- Звуковой сигнал для конкретного местоположения зависит от окружающей среды.
- Поддерживает кодирование 5.1 и Dolby Digital, поддержку EAX, все, кроме EAX (объемный звук — работает в игре), поддерживает многопользовательские игры до 32 игроков по локальной сети или через Интернет.
- Поддержка создания дополнительных типов игр, простая и удобная архитектура клиент / сервер, дополнительный дневной / ночной велосипед для многопользовательского режима, использование существующих 3D-приложений (3D Max, Maya, LightWave)
Ни один дизайнер уровня BSP не может создать захватывающую и сложную геометрию, но на самом деле он может создавать мыльные текстуры и простую геометрию. Полигональные коллизии, практичные и интуитивно понятные инструменты редактирования.
Быстрая компиляция и скорость выполнения, ИИ можно контролировать с помощью скриптов, групповой ИИ, доступ к функциям низкого уровня, навыки персонажа: слух, зрение, навигация, доступ к объектам
Записанные события (зоны), поддержка рендерера DirectX 9:, до 3000000 полигонов на кадр в реальном времени, динамическое освещение в реальном времени, мягкие, физически правильные тени от каждого объекта, расчеты физики теней / полутени, постобработка кадра буферные и сложные фильтры.
Из этого выделим основные особенности движка:
- Отображение света, DirectX 9.0c, отложенное затенение, до 3000000 полигонов на кадр, динамическое мягкое освещение, динамические мягкие тени, несколько источников света
- Детальное отображение, нормальное отображение, зеркальное отражение, отображение параллакса, динамическое изменение дня и ночи, погодные эффекты
- Ветер, дождь, освещение, объемный туман, объемная тепловая дымка, размытие сетчатки и световое налет.
В Stalker Clear Sky используется обновленная версия движка X-Ray 1.0 — X-Ray 1.5.
Clear Sky отличается от Shadows of Chernobyl несколькими способами, в первую очередь наличием фракционной войны и сменой фракции игрока.
В Shadows of Chernobyl вы тоже могли измениться, но это было сделано криво и разрезано пополам.
- Добавлена система прокачки снаряжения, когда в финальной части нужно было покупать либо новый ствол, либо броню, либо носить до перерыва, чтобы потом найти другой.
- Изменения в движке тоже ощущаются в игре. С добавлением новых игровых возможностей игра приобретает новые цвета, особенно объемные лучи, которых не было в тени Чернобыля.
- Из интервью с Игорем Лобанчиковым, старшим программистом, отвечающим за рендеринг, мы можем узнать, что было добавлено Steep Parallax Mapping для придания поверхностям большей рельефности.
- Это было сделано для увеличения детализации графики, как я уже говорил ранее, были добавлены объемный свет и туман. Как говорит Игорь, такого тумана не было ни в одной игре.
- Добавлено динамическое смачивание поверхностей. Когда игрок проходит через объемный дым / пар в подземельях, он меняет форму в зависимости от того, какой игрок прошел, и эта функция действительно работает в игре.
- Доработаны тени динамических объектов, исправлено положение солнца: восходит на востоке, садится на западе. Добавлены отражения на воде.
А вот основные особенности движка X-Ray 1.5:
- Поддержка DirectX 10, подробный рельефный дисплей, SSAO, объемный свет, солнечные лучи или как они там назывались — лучи Бога, динамические тени солнца, динамическая мокрая поверхность:
- Карта дождя (карта теней для эффекта дождя), брызги воды, вода течет по поверхности
- Динамический объемный дым, объемный огонь, мягкая вода, отображение крутого параллакса, контактные тени, мягкие частицы.
С движком проделано более чем достаточно работы, и изменения в графике впечатляют.
Зов Припяти — финальная часть игры S.T.A.L.K.E.R. Трилогия, разработанная на базе движка X-Ray 1.5.
Версия движка Зов Припяти — X-Ray 1.6.
Особенности игрового процесса, по отношению к ним есть изменения: это добавление в игру сна, модифицированная система прокачки снаряжения главного героя.
Повесив структуру квестов, они стали разнообразнее.
Как сказал Дмитрий Ясенев в интервью, скрипты, на которых основаны практически или даже все квесты в игре, дополняют функциональность кода движка. Из этого можно сделать вывод, что код и скрипты были в достаточной степени переработаны.
Был доведен до почти нормальной формы — искусственный интеллект, острая проблема всех звеньев сталкера.
Персонажи научились укрываться от взрыва, но не научились покидать коридоры.
Многие моменты кода были улучшены. В игре эти изменения незаметны для обычного игрока, но они есть.
Что касается графики, я выделил такие изменения, как измененные тени из интервью с Михаилом Парфенюком, который также отвечал за рендеринг. Чем ближе к объекту, тем четче граница и чем дальше, тем более нечеткая граница.
Добавлен новый тип SSAO, который использует вычислительные шейдеры для ускорения тактовой частоты пикселей и последнюю функцию — тесселяцию.
увеличивает многоугольник объектов, как говорит Михаил, это значительно улучшило внешний вид NPC и мутантов. На словах это выглядит хорошо, но на практике …
В качестве наглядного примера возьмем скриншоты трупа наемника. Взгляните на датчики и экзоскелет в целом.
Вот как они выглядят без тесселяции, что неплохо, но вот как они выглядят с включенной тесселяцией.
Я не понимаю, о каких полигонах говорил Михаил, но как игрок я вижу здесь припухлость.
Тело в костюме распухло. Что насчет датчиков?
Их выкинули, как будто они вот-вот взорвутся, и из-за этого качество модели значительно ухудшается, тесселяция происходит в одном месте.
А вот основные особенности движка X-Ray 1.6: Поддержка DirectX 11 за счет добавления HBAO, HDAO, CHS.
Как известно, S.T.A.L.K.E.R. 2 старой модели разрабатывалась на доработанном двигателе X-Ray 1.6 — X-Ray 2.0.
Информации по этому поводу вообще нет. Разработчики заявили, что игра будет основана на совершенно новом игровом движке, который был «построен с нуля». Фактически, они использовали свой оригинальный движок X-Ray, обновленный до версии 2.0. и изменен с учетом всех требований кроссплатформенности. Теперь S.T.A.L.K.E.R. 2 нового примера разработана на Unreal Engine 4.
Что за игра выйдет на этом движке — узнаем на выходе, пока об этом пока рано говорить.
Вы также можете найти модифицированную версию движка X-Ray 1.6 сторонними программистами в сети. Эти: OpenXRay и X-Ray Oxyden, которые дополняют возможности движка Call of Pripyat и удаляют ненужный мусорный код, который там скопился, ну много, но это, конечно, отдельная история.