Найти в Дзене
Григорий Дядиченко

Версии и контент

Версии и контент

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

У нас условия правда ещё сложнее. Контент делает несколько других команд и поставляет бандлами — и это ад. Когда система усложняются начинаешь постепенно сталкиваться с такой вещью как "баги Unity" и многие из них юнити часто правят. Но когда контент делался год, третьими лицами, а баг в новом контенте является критическом — ты в ловушке. Обновить юнити нельзя (упадёт весь старый контент), поправить баг нельзя (бывают баги без workaround). И поэтому всегда нужно помнить, что если проекту будет несколько лет, рано или поздно наступит такой момент, когда либо нужно будет всё обновить, либо вайпнуть :)

Помимо этого если мы идём по пути обновления надо всегда закладывать в архитектуру проекта проверку версий. И тут есть два подхода. Для богатых "поддерживать Х версий проекта и контента" или говорить пользователю "иди обновляйся". Вторым путём скажем идёт близзард в своём Hearthstone. Поэтому до релиза в сторы, если у вас контент хранится на бекенде, всегда закладывать в архитектуру небольшой скриптик. Который спрашивает у сервера "а совместимая ли у меня версия с текущим контентом?" И если нет, то вызывает попап "иди обновись в стор". Это сэкономит вам кучу нервов и времени)

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