Unreal Engine Ultimate Save System 2.0

Точная дата релиза 15 число.
Точная дата релиза 15 число.
Это ты, читатель 15 числа.
Это ты, читатель 15 числа.

Это реально большая работа.

Изначально задача была, расширить список покупателей переведя систему на совместимость с более ранними версиями (мне приходило несколько писем с вопросами, а будет ли система для 5.3, 5.5 и 4.27).

Unreal Engine Ultimate Save System 2.0

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

Когда я писал первую версию системы, это было реально увлекательно, одна функция, ещё одна, здесь система поддержки, тут новая структурка...

Однако нельзя просто так взять и переписать код, поскольку это довольно сложная и многогранная система. Примерно 40 часов я уже потратил на перенос кода вместе с нововведениями и это только 50% всей работы.

Причина нововведений.

Unreal Engine Ultimate Save System 2.0

Система в версии 1.0 уже умеет сохранять актеров, позиции, скорости, их наличие/отсутствие в момент сохранения, а так же кросс-уровневую поддержку, так же имеется возможность сохранять дополнительные данные актера, которые пользователь может выборочно сам сохранять.

Моя система используется в сторонних проектах, и появились вопросы к некоторым функциям, поскольку сохранение некоторых данных приводит к рутине, (и скажем откровенно, зачастую пользователь неимоверно глуп, ведь вместо документаций движка учится на трижды перевареном кале с Ютуба). Вот собственно я и решил покрыть основную часть внедрив это в базовый функционал.

Базовый чел который считает себя разработчиком игр на Unreal Engine
Базовый чел который считает себя разработчиком игр на Unreal Engine

Список нововведений

Теперь система сможет полностью сохранять данные статик меш компонентов, их положение, скорости, физику, и материалы, то же самое и для скелетал меш компонентов с учётом анимационного блюпринта.

Причем как и в случае с актерами, система так же полностью загружает наличие самого компонента из сохранения учитывая его наличие или отсутствие на момент сохранения.

Ведь в одном актёре может быть целая гора таких компонентов.

Звучит как небольшой список нововведений, но это реально ещё одна система внутри одной большой системы сохранений.

Зачем и почему это нужно?

Главная причина, это динамическое изменение мира, в процессе игры актеры могут не просто быть но и трансформироваться отдельными компонентами как сеткой так и материалами.

Например мы открыли дверь и сохранились.

Если в первой версии, нам нужно было это сохранять вручную, и при загрузке считывать состояние и открывать ее, то теперь это происходит автоматически. Все положения и скорости компонентов теперь сохраняются и загружаются.

Например, у нас есть бот. И мы ему поменяли меш в середине игры и сохранились, в обычном случае при загрузке это не сохранилось бы, или нам опять же пришлось пользоваться методом сохранения пользовательских данных и потом применять его при методе загрузки.

Но теперь этого делать не нужно - мы сделали это за вас.

То же касается и любой смены материала на любом компоненте статик или скелетал сетки.

Ultimate Save System 2.0
Ultimate Save System 2.0

Возможные фишки до релиза

Как вариант я хочу реализовать подсистему DeepSave, т.е. Глубокое Сохранение, с возможностью выбора пользователем использовать упрощённое сохранение или глубокое для конкретного актера.

DeepSave - позволит пользователю более гибко управлять системой сохранения, переходя на упрощённое или глубокое сохранение - это позволяет оптимизировать размер сохраняемой информации.

Ну и видос на последок.

Я не мастер пиара и ссать людям в уши, потому, что мое дело это решение нетривиальных задач, а с софтами у меня всегда не очень было.

Спасибо, что дочитали.

Приобрести этот и другие продукты можно на FAB и Boosty

2
1
25 комментариев