DeusEx : Reborn это попытка перенести DeusEx на движок Unreal Tournament 2004 (Unreal Engine 2.5).
Изначально этот проект разрабатывал Akerfeldt (http://www.moddb.com.../deus-ex-reborn)
Мой вариант на MODDB: http://www.moddb.com...deus-ex-reborn1
Наблюдать за проектом вы можете здесь: https://www.youtube.com/user/DxDelta2
И здесь )))
Видео появляются когда достигнут какой-то видимый результат.
Что будет если проект будет завершен:
- Не знаю )))
Особенности и отличия от оригинальной игры:
- Большинство диалоговых окон и оконных интерфейсов в DeusEx были разработаны под разрешение 640x480. В Reborn всё это будет в разрешении 800x600.
- Предполагаемая емкость инвентаря: 42 ячейки. Примерное представление будущего окна:
Spoiler
Чем вы можете помочь проекту:
- При конвертации карт все объекты класса Mover (двери, лифты, люки, и т.п.) были утеряны. Это связано с тем что Mover теперь StaticMesh а не Brush. Необходимо создать их заново. Все необходимое для этого есть, присутствуют все Mover из DeusEx, также адаптирован CaroneElevator.
- На картах необходимо заново создать все водные зоны (теперь это WaterVolume).
- Необходимо заново создать все лестницы. Готовый класс уже есть, нужно лишь создать нужные DeusExLadderVolume.
- Если у вас есть опыт программирования на С++, то вы также можете помочь. Нужно найти способ создать C++ расширение для движка (native mod, C++ mod). Необходимые исходники у меня есть.
Что уже сделано:
- Все аугментации, включая аугментации с графическим интерфейсом (Дрон, нацеливание, ADS, Vision).
- Система навыков.
- Сконвертированы все карты (кроме тренировки и концовок).
- Преобразованы все модели в формат UT2004 (скелетная анимация)
- Сконвертированы тексты (книги, газеты, компьютеры) и диалоги.
- Готовы все декорации без интерфейса (с интерфейсом это компьютеры, клавиатуры и т.д.)
- Сделаны необходимые генераторы частиц для декораций.
- Частично написан контроллер игрока.
- Частично воссоздана система диалогов. 26/11/2017: Полностью работает AI barks. 01/12/2017: Полностью воссоздан и работает Инфолинк.
06/01/2018: Диалоговая система полностью функциональна, нужно лишь отловить ошибки Accessed none. - Полностью перенесены оригинальные шрифты + добавлены новые. Все шрифты с поддержкой кириллицы.
- Графический Дисплей Игрока (HUD) почти полностью переписан на UCanvas. Система окон для HUD в DeusEx этот тот-же UCanvas, но с небольшими изменениями, в основном в сторону упрощения. Система интерфейса для меню и окон в UT2004 есть.
- Реализована система переходов, как в Deus Ex. Теперь при возвращении на посещенную ранее карту, вы увидите ее в том-же виде, в каком она была когда вы её покинули. Это стало возможно благодаря C++ моду, который написал MVV.
- Экран загрузки, приближенный к оригиналу. Возможны вариации.
- Частично решена проблема с зеркальными поверхностями.
Уже реализованные новые возможности:
- Немного улучшены некоторые карты.
- Новые лестницы (DeusExLadderVolume)
Возможности, предлагаемые движком UT2004 / Unreal Engine 2.5
- Статические модели (StaticMesh)
- Поддержка моделей в старом формате Unreal3D (vertMesh)
- Улучшенный компилятор геометрии (BSP)
- Скелетная анимация (SkeletalMesh), возможность присоединять объекты к скелету
- Улучшенное освещение
- Динамические тени и проекторы.
- Физический движок Karma, позволяющий создавать объекты с реалистичной физикой.
- xWeather (снег, дождь)
- Различные типы текстур и материалов, переключаемые текстуры, вращающиеся текстуры, текстуры с колебаниями, CubeMap, Environment Map и т.д.
Полноценные ScriptedTexture. - Поддерживаются детальные текстуры на любых объектах.
- Возможность создавать полноценные реалистичные ландшафты.
- SunLight: источник бесконечного света (можно использовать для дневного освещения).
- Объемы (Volumes). Разные Volumes используются по разному. Например LadderVolume это лестницы, а WaterVolume это вода, причем любой формы.
- Продвинутая система частиц (Emitter / xEmitter). Позволяет создавать красивые эффекты: взрывы, молнии, лазерные лучи, и многое другое. Полностью написана на C++, и очень гибко настраивается (также и через скрипты).
- Встроенная поддержка транспорта, как воздушного, так и наземного (Karma vehicle).
- Полноценная поддержка статических и динамических массивов.
- ...
Предполагаемые сложности:
- Константа MAXSTEPHEIGHT / UCONST_MAXSTEPHEIGHT (в файле Engine.dll) слишком велика (35). Необходимо найти способ уменьшить это значение до 25. Такое большое значение приводит к тому что игрок и NPC перешагивают коробки и столы.
- В DeusEx вместе с игроком с уровня на уровень может перемещаться не только инвентарь, но и другие акторы (например система навыков или приращений). В UT2004 только игрок и его инвентарь. Однозначного решения этой проблемы нет. В Postal2 реализован другой подход:
в начале игры игроку дается предмет инвентаря (P2GameState), и в нем хранится необходимая информация.
Есть идея сохранять нужные данные в пакет (Unreal Package), и при необходимости восстанавливать их в нужный момент. - В Deus Ex Искуственный Интеллект использует несколько новых C++ функций, которых в UT2004 просто нет. Хотя кое-что все-же можно перенести, но поведение и логику придется написать заново.
- Все диалоговые окна и интерфейсы придется создать заново.
Как работает система сохранений в оригинальном Deus Ex и Deus Ex : Reborn (возможны поправки)
Случай 1: Начата новая игра. Ничего делать не нужно, пока переходов на другие карты нет, все сохраняется как в обычном Unreal. При сохранении создается файл SaveInfo.dxs.
Случай 2: Игрок в рамках одной миссии перешел на другой уровень. Перед переходом игра сохраняется, затем движок удаляет из файла сохранения PlayerPawn (DeusExPlayer) и PlayerReplicationInfo. В случае с Reborn удаляется также контроллер игрока DeusExPlayerController. Все эти манипуляции необходимы для того, чтобы на карте не было несколько экземпляров игрока и связанной с ним информации, только один. Файл с удаленной информацией перемещается в каталог SaveCurrent\ (DxSave\Current\ для Reborn). В дальнейшем движок будет проверять этот файл при необходимости.
Случай 3: Игрок возвращается на уровень, который был посещен ранее. Сначала движок проверит, нет ли сохраненной версии уровня в каталоге [Dx]Save\Current\, и если есть, то вместо карты из каталога Maps будет загружен этот сохраненный вариант.
Случай 4: Загрузка сохранения из слота (QuickSave или отдельный). В каталог [Dx]Save\Current\ копируются все файлы из выбранного каталога (слота) сохранения, затем происходит переход на карту, указанную в SaveInfo.dxs.
Reborn с технической точки зрения. Как и что устроено. Особенности движка.
Подавляющее количество скриптов перенесено из оригинальной игры. Они адаптированы и переписаны с учетом особенностей нового движка (например теперь нельзя задать DrawScale напрямую, необходимо использовать функцию SetDrawScale).
Инвентарь:
Если раньше предмет инвентаря и его вариант на карте были одним классом, то теперь все разделено на 3 класса. То что игрок несет с собой, это тот-же Inventory. Вариант на карте это Pickup. То что присоединяется к NPC -- InventoryAttachment.
UnrealScript:
Каких-то особенных нововведений немного. Но компилятор теперь прощает меньше ошибок.
Ошибкой теперь считается:
- Неправильные или несуществующие свойства в разделе defaultproperties.
- Несовпадение имени класса с именем файла, его содержащего.
Предупреждения выдаются если не была задействована локальная переменная внутри функции.
...........
Оригинальное сообщение:
Сообщение отредактировал Вероника: 26 Март 2018 - 06:08