Serious Engine

Serious Engine
Изображение логотипа
Тип игровой движок
Разработчик Хорватия Croteam
Аппаратные платформы IBM PC-совместимый компьютер
Xbox
PlayStation 2
GameCube
Поддерживаемые ОС Windows
Linux
Написан на языке C++
Лицензия свободная, GNU GPL v2
Последняя версия 1.50
Часть серии движков Serious Engine
Следующий движок серии Serious Engine 2
Первая игра на движке Serious Sam: The First Encounter (2001)
Последняя игра на движке Serious Sam Classics: Revolution (2014)
croteam.com/technology/

Serious Engine (рус. “Серьёзный движок”) — игровой движок, разработанный хорватской компанией Croteam и впервые использованный в игре Serious Sam 2001 года выпуска.

Впоследствии компанией Croteam были разработаны более совершенные игровые движки — Serious Engine 2, Serious Engine 3 и Serious Engine 4.

11 марта 2016 года исходный код движка Serious Engine версии 1.10 был официально открыт[1][2] и доступен под лицензией GNU General Public License v.2.[3]

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

[править | править код]
Один из уровней игры Serious Sam: The First Encounter (2001). На скриншоте видно, как реализовано отражение воды на каменных сводах пещеры.
Один из ночных уровней The First Encounter. Звёздное небо является бэкграундом — текстурой с большим разрешением. Также показан световой блик на «виртуальной камере» (под планетой).
Закрытая локация в Serious Sam: The Second Encounter (2002). Четкость текстур обеспечивается применением анизотропной фильтрации, а также фильтром резкости, который игра накладывает на текстуры. Интенсивность фильтра регулируется в опциях.

Отличительной возможностью движка является хорошая работа с большими открытыми пространствами, а также высокая скорость работы, что много раз отмечали критики в рецензиях на построенные с применением Serious Engine игры[4][5]. Движок был популярен также среди сообщества игроков в Serious Sam, они создавали на нём новые карты и «полновесные» сюжетные модификации.

Первоначально движок был разработан для ПК и поддерживал операционные системы Windows и Linux; с приходом популярности к серии игр Serious Sam, движок был портирован и на другие платформы — игровые приставки Xbox, GameCube и PlayStation 2. Технология находилась в разработке на протяжении трёх лет[6].

Игровой движок поддерживает как множество технологий, которые на те времена практически не использовались в других движках, так и стандартные возможности, активно эксплуатируемые в разработках конкурентных компаний. Некоторые из заявленных на сайте движка возможностей не были использованы ни в одной игре на движке Serious Engine. Список указан согласно официальной вики-энциклопедии[7].

Работа с локациями

[править | править код]

Поддерживается обработка сложной архитектуры, что позволяет разработчикам показывать в игре большие здания или объекты со множеством деталей. Быстрая обработка больших открытых и закрытых пространств позволяет создавать локации очень больших размеров, которые будут отображаться без подгрузок, загружаясь единожды перед запуском уровня.

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

Тени — от персонажей или объектов, — могут быть динамические или предрассчитанные. Движок может работать как с динамическими тенями, которые меняются и отбрасываются в режиме реального времени, так и с заранее просчитанными тенями (картами теней).

Многонаправленная гравитация с шестью степенями свободы (англ. Full 6 DOF Physics) — специфическая возможность, которая позволяет создавать несколько «гравитаций» на одном уровне. Может использоваться на многопользовательских уровнях. С помощью этой возможности можно реализовать, например, здание на локации, в котором игрок может передвигаться по стенам, а выходя из здания заработает «обычная» модель гравитации. Возможность используется в Serious Sam: The Second Encounter.

Технология порталов позволяет реализовать на уровнях порталы, которые могут отображать какую-то точку созданной разработчиками локации, а также использоваться для перемещения игрока (но не объектов).

Погода и визуальные эффекты

[править | править код]

Реализованы различные погодные эффекты, в числе которых объёмный туман; он может быть динамически перемещаемый, с регулируемым размером, цветом и интенсивностью. Как и в некоторых других движках имеет негативное свойство выделяться на фоне окружающего мира, и со стороны отображаться, как прозрачная белая коробка (однако, пока игрок в «зоне тумана», этого артефакта не видно).

Помимо этого, реализовано изменение цикла день-ночь, которое достигается сменой освещения и оттенков изображения, а также заменой фонового изображения (бэкграунда) неба.

В списке поддерживаемых визуальных эффектов и эффектов частиц есть отражения и вспышки линз (эффект, который показывает следы света и отражения солнечных лучей на экране монитора («виртуальной камеры»), подобно тому, как при съёмке солнца фотоаппаратом от линз отбиваются солнечные лучи. Эффект привыкания глаза к освещению симулирует сетчатку глаза человека и её реакцию на свет (в современных играх такой эффект стал использоваться значительно позднее, например, в играх на движке Source, вместе с HDR). Световые эффекты включают в себя прямой свет, попиксельное освещение полигонов, анимированное освещение, сглаженное освещение, эффект рамки, симуляции огня, плазмы и воды.

Отражающие поверхности (могут быть использованы для создания зеркал или отражений на предметах).

Морфинг объектов (англ. Object Morphing) помогает задать плавную трансформацию одного объекта в другой. Например, персонаж может превратиться из животного в человека или наоборот. В играх серии Serious Sam эффект морфинга используется при превращении одного из противников главного героя — лавового голема. Эта возможность практически не использовалась в компьютерных играх; морфинг реализован в игре Harry Potter and the Prisoner of Azkaban (2004 год) на движке Unreal Engine 2.

Поддерживается процедурное смешивание (англ. Procedural Mixing) и процедурная система частиц (англ. Procedural Particle System) — для каждого объекта можно создать несколько слоев, тем самым реализовав различные переходы и эффекты, такие как трансформация комнаты.

Работа с текстурами

[править | править код]

Поддерживаются 32-битные текстуры. Возможно использование анимированных, подвижных текстур.

Рельефное текстурирование — приём, который позволяет изображать рельеф на поверхности различных объектов. Так можно, например, показать выпуклости кирпичной стены, без необходимости прорабатывать каждый кирпичик в виде отдельного объекта. Возможность, редко встречаемая в движках того времени была добавлена в Serious Engine в версии 1.5. Имеется несколько методов фильтрации текстур: анизотропная фильтрация и трилинейная фильтрация. Движком используется также графический фильтр, повышающий качество изображения за счет придания текстуре дополнительной резкости.

Детальное текстурирование — техника позволяет накладывать несколько текстур на одну модель. При помощи детальных текстур можно сделать так, что когда игрок подходит близко к объекту, на его нормальную текстуру плавно накладывается текстура с деталями (шероховатостями, ржавчиной и т. п.), тем самым объект становится более чётким. Такая возможность была реализована в первой версии Unreal Engine (с игрой Unreal 1998 год), а также в движке GoldSrc (с игрой Counter-Strike: Condition Zero, 2004 год).

Пользовательские фоны (бэкграунды). Возможность, которая использовалась в игровых движках достаточно давно и присутствовала в движках Quake engine и GoldSrc. С помощью этой возможности можно создавать фотореалистичное небо, используя текстуры высокого разрешения.

Возможности оптимизации: поддерживается LOD для объектов (уровень детализации (англ. Level Of Detail) — алгоритм, который позволяет генерировать до 32 вариантов модели с возрастающей детализацией; таким образом, объекты, которые находятся далеко от игрока становятся менее детализированными, а значит меньше загружают ресурсы компьютера, при приближении к модели её детализация плавно возрастает), «сглаженная анимация» (особенность, которая экономит ресурсы компьютера путём «размытия» объектов и отсечения «лишних» кадров анимации).

Реализация многопользовательской игры посредством локальной сети или интернет-соединения; поддержка разделения экрана.

Звуковой движок может работать с файлами в формате MP3 (используется библиотека Amp11lib), OGG и WAV для звука и музыки, реализованы искажения звука согласно акустическим условиям, трёхмерный звук, динамическая музыка (плавная смена музыки в зависимости от действий игрока).

Многоязыковая поддержка для создания различных локализованных версий.

Средства разработки

[править | править код]

Силами разработчиков компании Croteam для работы с движком было создано три программы-редактора. Поклонниками игры также было создано несколько неофициальных утилит, которые можно найти на фан-сайте «Seriously!»[8][9].

  • Serious Editor — предназначен для редактирования и создания локаций в реальном времени, интерфейс редактора похож на UnrealEd. Можно опробовать созданную карту непосредственно в окне программы. Редактор поддерживает редактирование в четырёх режимах — Entities, Polygons, Sectors и Vertex. Каждому из режимов соответствует цвет индикатора, который расположен в нижней части экрана. Область вида может быть разделена на одно, два или четыре окна, в которых уровень может быть показан в нескольких ракурсах: сверху, снизу, слева, справа, спереди, сзади и в перспективе.
  • Serious Modeller — для создания и редактирования моделей. Поддерживается импорт объектов из 3ds Max и других программ для работы с 3D-графикой.
  • Serious SKA Studio — позволяет импортировать из LightWave или 3ds Max модели со скелетной анимацией и сохранять их в формате .SKA.

Последующие разработки

[править | править код]

Для компьютерной игры Serious Sam 2 разработчиками из Croteam была создана новая версия движка — Serious Engine 2. В отличие от первой версии, этот движок не использовался в играх сторонних компаний, однако технически содержал в себе множество изменений: разработчики акцентировали внимание на новом физическим движке с тряпичной физикой, новых графических эффектах, как HDR рендеринг, bloom и поддержке пиксельных шейдеров 2.0 (что позволило сделать, например, реалистичную воду, которая отражает мир). Кроме того, количество доступных полигонов на модель было увеличено, а разрешение текстур поднято[10].

Также разработана третья версия движка, Serious Engine 3, использованная в шутерах Serious Sam HD: The First Encounter и Serious Sam HD: The Second Encounter — эти игры являются переработанными версиями первой части Serious Sam и её дополнения The Second Encounter; на её же основе разработана и последующая игра серии — Serious Sam 3: BFE[11][11][12][13].

Игры, использующие Serious Engine

[править | править код]
  • Serious Engine 2 — вторая версия игрового движка от Croteam
  • Unreal Engine 1 — игровой движок, конкурировавший с Serious Engine 1

Примечания

[править | править код]
  1. Christian Nutt. Serious Sam dev Croteam releases classic engine source code (англ.). Gamasutra (11 марта 2016). Дата обращения: 13 марта 2016. Архивировано 13 марта 2016 года.
  2. t. Serious Sam Developer Croteam Releases Source Code for Serious Engine 1 (англ.). [MXDWN's (11 марта 2016). Дата обращения: 13 марта 2016. Архивировано 14 марта 2016 года.
  3. Croteam-official/Serious-Engine. GitHub. Дата обращения: 11 марта 2016. Архивировано 11 марта 2016 года.
  4. Александр Юмашев. Serious Sam: The Second Encounter. Absolute Games (2 февраля 2002). — рецензия. Дата обращения: 26 июля 2011. Архивировано 28 ноября 2011 года.
  5. Александр Юмашев. Serious Sam: The Second Encounter. Absolute Games (5 января 2002). — предварительный обзор. Дата обращения: 26 июля 2011. Архивировано из оригинала 29 мая 2009 года.
  6. Engine Overview (1.x) (англ.). официальный сайт Serious Engine (2008). — копия страницы в Архиве Интернета. Дата обращения: 26 июля 2011. Архивировано из оригинала 11 января 2008 года.
  7. Engine Features (1.x). официальный сайт Serious Engine (25 июня 2009). Дата обращения: 26 июня 2009. Архивировано 27 апреля 2007 года.
  8. Serious Sam: The First Encounter — Tools (англ.). Seriously!. — программы для работы с движком. Дата обращения: 4 октября 2010. Архивировано из оригинала 19 марта 2012 года.
  9. Serious Sam: The Second Encounter — Tools (англ.). Seriously!. — программы для работы с движком. Дата обращения: 4 октября 2010. Архивировано из оригинала 19 марта 2012 года.
  10. Serious Engine 2 (англ.). Архив Интернета. — описание функций движка на официальном сайте. Дата обращения: 4 октября 2010.
  11. 1 2 John Callaham. Serious Sam: The First Encounter remake coming to the PC. bigdownload.com (25 июня 2009). Дата обращения: 26 июня 2009. Архивировано из оригинала 19 марта 2012 года.
  12. Louva-Deus. Serious Sam HD Announced for PC and XBLA for Xbox 360 Platforms. Seriously! (25 июля 2009). Дата обращения: 26 июня 2009. Архивировано из оригинала 19 марта 2012 года.
  13. Константин 'Бобик' Фомин. Новости AG. (Не)серьезный ремейк. Absolute Games (25 июня 2009). Дата обращения: 26 июня 2009. Архивировано из оригинала 26 июня 2009 года.
  • Croteam (англ.). — официальный сайт компании. Дата обращения: 5 ноября 2010. Архивировано из оригинала 19 марта 2012 года.
  • Serious Engine (англ.). Croteam. — официальный сайт серии движков. Дата обращения: 5 ноября 2010. Архивировано 23 июля 2002 года.
  • Serious Engine (англ.). MobyGames. Дата обращения: 4 октября 2010. Архивировано из оригинала 19 марта 2012 года.
  • Original Xbox Game Engines (англ.). RetroReversing (28 апреля 2019). Дата обращения: 4 июля 2023.

Загрузка исходных кодов: