Dunia Engine, Dunia Engine 2 — игровой движок, разработанный компанией Ubisoft Montreal для своих внутренних проектов и впервые применённый в шутере от первого лица Far Cry 2.
В дальнейшем использовался в других играх, в том числе в Far Cry 3, Far Cry 3: Blood Dragon, Far Cry 4, Far Cry Primal, Far Cry 5, Far Cry New Dawn, Far Cry 6 (в них применяется вторая версия движка — Dunia Engine 2).
Описание[]
Dunia Engine является мультиплатформенным игровым движком, который используется Ubisoft лишь для своих, внутренних проектов и не доступен для лицензирования сторонними компаниями. Движок поддерживает DirectX 9, DirectX 10, DirectX 10.1 и DirectX 11.
Редакторы уровней, поставляемые с некоторыми играми серии Far Cry, также работают на этом движке.
Dunia Engine означает:
- «dunia» — «мир», «земля», «жизнь» на урду, арабском, курдском, фарси, хинди, малайском, индонезийском и тюркских языках.
- «engine» — «движок» на английском языке.
Dunia Engine был разработан в 2007 году на основе своего предшественника CryEngine, который использовался в более ранних играх серии Far Cry и был разработан немецкой компанией Crytek.
Dunia Engine стал первым игровым движком, использующим возможности DirectX 10.1. В 2012 году, вместе с Far Cry 3, вышло второе, на данный момент последнее, поколение Dunia Engine, поддерживающее DirectX 11, которое применялось во всех играх серии Far Cry.
Движок постоянно развивается от игры к игре, имеет всё большую реалистичность освещения и возрастающую детализацию в кадре, способен рисовать огромные открытые пространства, очень хорошо оптимизирован, рисует высококачественную картинку. Это один из самых красивых движков современности, хотя не требует сверхбольшой аппаратной производительности, и даже на бюджетных видеокартах работает вполне нормально. Однако движок до сих пор не может эффективно использовать более 4 потоков, но это не сказывается на его производительности на современном оборудовании.
Характеристики[]
Dunia Engine имеет следующие особенности:
- Поддержка игровых приставок Microsoft Xbox 360 и Sony PlayStation 3.
- Поддержка API DirectX 9, DirectX 10, DirectX 10.1 и DirectX 11.
- Разрушаемое окружение.
- Динамическая погода.
- Динамическое распространение огня, которое также подвержено влиянию погодных условий.
- Динамическая растительность (англ. RealTree), включая рост и регенерацию растительности.
- Полные циклы дня и ночи.
- Поддержка огромных открытых игровых пространств, не поделённых на отдельные уровни.
- Непрямое освещение и технология Radiosity.
- Поддержка технологии amBX от компании Philips, которая предназначается для создание дополнительных специальных эффектов и требует специального аппаратного и технического обеспечения.
- Незаскриптованный (англ. Non-scripted) игровой искусственный интеллект.
- Динамическая система музыки.
Игры, использующие Dunia Engine[]
Dunia Engine:
- 2008 — Far Cry 2
- 2009 — James Cameron’s Avatar: The Game (улучшенный)
Dunia Engine 2:
- 2012 — Far Cry 3
- 2013 — Far Cry 3: Blood Dragon
- 2014 — Far Cry 4 (улучшенный)
- 2016 — Far Cry Primal (улучшенный)
- 2018 — Far Cry 5 (улучшенный)
- 2019 — Far Cry New Dawn (улучшенный)
- 2021 — Far Cry 6 (улучшенный)
Файловая структура[]
Все игровые данные размещены в файлах с расширениями *.dat (сами данные) и *.fat (таблица размещения файлов в *.dat), но с попарно совпадающими именами.
Для доступа к внутренней структуре существуют только неофициальные программные средства, способные распаковывать и упаковывать файлы, позволяя создавать модификации для игр. Все эти программы, по всей видимости, разработаны выходцами из Ubisoft, и имеют похожие названия, например:
- DATUnpacker
- Dunia Tools
- FC2Unpacker
- Gibbed Dunia
- Gibbed Dunia2
- Gibbed Tools Dunia 2
- JGR.Dunia2
- FCBConverter
Каждая более поздняя игра отличается алгоритмом упаковки файлов, поэтому программа, подходящая для одной игры, может выдать ошибку при попытке её применения для другой игры. Встроенные в программы конвертеры распакованных файлов также отличаются по алгоритму.
Некоторые файлы *.dat могут содержать в себе встроенные последовательности пар файлов *.dat и *.fat, которые следует распаковывать и перепаковывать отдельно.
Типы файлов (могут меняться в зависимости от игры):
- ambx — текстовый файл на языке XML с кодом для звуков окружения.
- bdl — закодированный файл, содержащий в себе заголовок и не сжатый графический файл в формате DDS.
- bin — сжатый закодированный файл с разнообразным содержимым, тип которого можно определить только после конвертации.
- bnk — закодированный файл с разнообразным содержимым; например, может содержать в себе заголовок и не сжатый аудио файл в формате WAV.
- cseq — текстовый файл анимации, потоков аудио и т. п.
- feu — закодированный файл игрового шрифта.
- lua — текстовый файл игрового скрипта на языке LUA, содержащий, например, данные для искусственного интеллекта персонажей и животных, диалогов, поведения оружия и транспорта, условий появления игровых объектов на карте.
- rml — сжатый закодированный файл с данными о языковой локализации игры; с помощью отдельного конвертера может быть распакован в текстовый формат XML (имена файлов содержат словосочетание oasisstrings).
- rs — текстовый файл настроек игры «по умолчанию» (от англ. reset).
- sbao — закодированный файл, содержащий в себе аудио файл в формате OGG; файл требует отдельного конвертера.
- spk — закодированный файл, содержащий в себе заголовок и не сжатый аудио файл в формате OGG (файлы озвучивания персонажей, звуков окружения, музыки).
- wem — аудио файл в формате WAV.
- xbg — закодированный файл в формате MESH с моделью 3D MAX.
- xbt — закодированный файл, содержащий в себе заголовок и не сжатый графический файл в формате DDS, который с помощью отдельного конвертера можно преобразовать в форматы JPG, PNG и т. п.
См. также[]
- Dunia Engine в Википедии
- Dunia Engine на academic.ru
- 3D-графика в играх. Часть 2: Лучшие игровые движки современности