8

Структурированный ад

Привет.
Спешу поделиться новостью. Мы закончили структурировать визуально-физические параметры техники. УРА.
Сначала был вопрос. Как облегчить передачу данных на сервер( модели, блюпринты и прочее)
Решение было использовать ссылки на файлы (SOFT reference).

Структурированный ад Разработка, Unreal Engine, Инди игра, Gamedev, Дальнобойщики, Длиннопост


Ну ладно.
Мы с этим работали и ранее и уже знаем про камни ассинхронных подгрузок и прочие проблемы репликации. Решили всё.
А дальше пошло веселье.
Самый ад было понять как интегрировать создание техники. Как распределить по структурам логику.
Где-то должен быть список рам для конкретной кабины( кол-во осей меняется ).
Где-то должна быть инфа про несколько поворотных осей ( каждая ось должна иметь свои угол поворота ). Куда же запихнуть инфо о колесах, если у нас есть режим смены колёс ( зима-лето-прокол и тп ).
До всего этого у нас была адовая хрень. Откровенно. Понятно что это было сделано чисто для тестирования на скорую руку и все было создано костылями, но вы просто посмотрите на эту жесть :))))На скрине половина только. По сути это один и тот же код, просто с разными настройками для разной техники.

Структурированный ад Разработка, Unreal Engine, Инди игра, Gamedev, Дальнобойщики, Длиннопост


Теперь это выглядит так.

Структурированный ад Разработка, Unreal Engine, Инди игра, Gamedev, Дальнобойщики, Длиннопост

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

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

Структурированный ад Разработка, Unreal Engine, Инди игра, Gamedev, Дальнобойщики, Длиннопост

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

Структурированный ад Разработка, Unreal Engine, Инди игра, Gamedev, Дальнобойщики, Длиннопост

Таким образом мы убрали лишние переменные ( аля костыли ) и сумели увеличить скорость загрузки данных и скорость загрузки самой модели. Теперь не нужно выжидать каждый цикл загрузки и модели точно буду теми, которые должны быть.
Ранее у нас был баг, что иногда кабина не грузилась или того хуже физ. параметры техники :))
И ты видел себя полноценно, а другие в сети видели тебя ...ужасно :)

Ну и для финалка. Вся структура грузится вот такой вот системой тоннелей ))

Структурированный ад Разработка, Unreal Engine, Инди игра, Gamedev, Дальнобойщики, Длиннопост

Все это передается в геим мод, откуда создается модель на сервере и получает posses.
В общем. Мы наконец сделали хорошую структуру. Теперь самое простое. Забить все параметры от всех движков, коробок, осей, колес, кабин в структуры и в БД на сайте :)))

ПС.
К сожалению новых фото техники, которая у нас есть, я предоставить не могу. Так как параметры вбиты только у 2 единиц. Так что с этим чуть позже :)

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"