Какие технологии, процессы и решения мы используем при разработке на Unreal Engine 4 — опыт Allods Team

Погружаемся в дебри рабочего процесса.

Какие технологии, процессы и решения мы используем при разработке на Unreal Engine 4 — опыт Allods Team
165165

Как вы работаете с бранчами в гите? Как "мержите" ассеты(блюпринты и датаассеты), которые изменены в разных бранчах? Или все фичи, в которых используются бинарные ассеты делаются в одном бранче?

1
Ответить

Сразу же процитирую сам себя:
"У нас внутри работают независимые друг от друга команды, у каждой из которых есть своя история, свой опыт и набитые шишки, а соответственно, и свои стандарты."

И тут все дело обстоит точно также, поэтому расскажу именно за опыт своей команды:
- При работе с ветками у нас принята Trunk-Based development модель, но со своими допущениями, например некоторые фиче-ветки могут жить больше 2–3 дней, над этим мы пока что работаем.
- По причине того, что мы используем File Locking (часть Git LFS) у нас, очень редко возникает необходимость "мерджа" ассетов, потому что это как никак бинарные файлы, которые конфликтят и резолв таких конфликт как правило ой как больно обходится.
- Что касаемо Data Assets, то тут мы идем по пути парсеров, все DA которые используются нами, могут парсится в тот же самый json (json — это как пример, тип данных может отличаться в зависимости от задачи и места использования), и сами исходные json'ы мы уже и храним в репе и их собственно в случае чего и мерджим.
- В случае работы с картами то мы придерживаемся разделению на множество необходимых sublevel's, что помогает нам избежать конфликтов
- В случае если уже конфликт возник, то пробуем решить его встроенным в UE solver'ом, но честно говоря за счет локов, Trunk-Based development модели и правильного планирования у нас очень редко возникают конфликты ассетов.

6
Ответить