Как Sycoforge способствует быстрому созданию идей и итераций

Принятие системы контроля версий Unity ускоряет разработку Return to Nangrim, объединяя программистов и художников для увеличения количества коммитов более чем на 300%.
Sycoforge: Исследование на примере Unity Version Control
Как инди-студия, ориентированная на искусство, обеспечивает последовательный контроль версий в разрозненном и сильно распределенном сообществе творческих авторов? Компания Sycoforge была глубоко погружена в амбициозный трансмедийный проект, который включал в себя Return to Nangrimприключенческую ролевую игру, дополненную мультимедийными и сложными лингвистическими компонентами. Однако существующая система контроля версий (VCS) была инструментом программиста. Он не был предназначен для творческой стороны разработки игр, и Sycoforge нужны были перемены.

Объединение всей среды разработки игр с помощью VCS
Уникальная модель разработки Sycoforgeвключает в себя регулярную обратную связь с глобальным сообществом разработчиков, художников и игроков. Большинство VCS сложны, созданы для инженеров и не предназначены для работы с большими файлами и двоичными файлами из коробки. Для реализации их концепции развития, основанной на участии сообществ, крайне важна была быстрая итерация. Компании Sycoforge требовалось надежное решение, которое могло бы удовлетворить потребности художников и нетехнических сотрудников. Быстрое и широкое внедрение было необходимо для реализации их концепции, и они нашли свое элегантное решение в Unity Version Control от Unity DevOps (ранее известной как Plastic SCM).
Результаты
- Увеличение количества коммитов на 300% и незначительные конфликты слияния
- Переход с Bitbucket на Unity Version Control в середине проекта менее чем за неделю
- Художники получили возможность контролировать процесс создания версий, не перегружая разработчиков.

Создание фантастической вселенной
Студенты-инженеры Микела Рименсбергер и Исмаэль Виттвер проводили много времени в университете, играя в симуляторы - особенно в фэнтезийные миры " Битвы за Среднеземье". Вдохновленные идеей создания собственной альтернативной реальности, двое отправляются в амбициозное путешествие.
Они хотели создать игру с уникальными языками, культурами, картами, кланами и другими деталями для совершенно новой, постоянно развивающейся, самодостаточной фантазии - вселенной Арафинн. Чтобы воплотить ее в жизнь, в 2017 году пара, теперь уже генеральный директор и технический директор соответственно, основала компанию Sycoforge в Цюрихе.
Возвращение в Нангрим - это первая глава саги об истории Арафинна. Мрачная приключенческая игра в жанре фэнтези от первого лица, действие которой разворачивается в гномьем горном городе. Однако это гораздо больше, чем просто игра. Лингвисты Sycoforge создали несколько языков Арафинн, и первоначальная идея превратилась в богатую трансмедийную коллекцию интерактивных сборников рассказов, мультимедийную карту мира с видом на спутник, роман и даже комиксы.

Преодоление потери данных, конфликтов слияния и медленной загрузки блоков
Гильдия игроков - важнейший компонент гибкого процесса разработки Sycoforge, обеспечивающий практически мгновенный отклик на экспериментальный контент и геймплей. Для управления контролем версий в этой сети Sycoforge использовала хранилище исходного кода на базе Git, предназначенное в основном для программистов.
Однако искусство Арафинна, одним словом, огромно. Это означало, что их VCS должна была постоянно обрабатывать обновления графических файлов объемом до нескольких гигабайт в дополнение к изменениям текстового кода. Процесс был медленным и сложным, а простота использования (или ее отсутствие) стала решающим фактором.
"Если кто-то будет работать над тем же файлом, что и другие, то у вас наверняка возникнут проблемы", - говорит Рименсбергер. "Когда речь идет о коде, на разработку и поддержку которого уходит много времени, мы не можем позволить себе потерять данные".


Восстановление баланса между временем устранения неполадок и временем создания
При использовании Git техническая команда тратила время на устранение неполадок в инструменте и разрешение конфликтов слияния, а не на разработку игры, и это вызывало беспокойство в коллективе. Люди боялись делать коммиты, опасаясь, что они что-то сломают, и расстраивались, ожидая загрузки огромных изменений в репозитории.
"Природа видеоигр, объем данных - все это просто невозможно реализовать с помощью Git", - говорит Рименсбергер. "Большие файлы затрудняют работу, а ожидание локальных изменений занимает так много времени".
Примерно через год работы над проектом Sycoforge решила, что все должно измениться. Чтобы полностью реализовать задумку своей игры, им нужно было экспериментировать с новыми идеями и идти на творческий риск. Поскольку страх потери данных при фиксации был очень велик, их VCS не позволяла проводить быстрые итерации, необходимые для полноценной поддержки разработки под руководством сообщества. Переход на новую VCS в середине проекта может оказаться сложной задачей, но преимущества использования системы, отвечающей уникальным потребностям студии, того стоили.


Регистрация в Unity Version Control
"Мы рассмотрели несколько VCS, но Unity Version Control явно отличался от них, - говорит Энди Аркаро, программист из Sycoforge. Version Control был создан для совместной работы в рамках всей среды разработки игр. Sycoforge оценил два различных рабочих процесса Version Control: полнофункциональный рабочий процесс Developer для программистов, знакомых с традиционными VCS, и Gluon, упрощенный, высокографичный режим для менее технически подкованных участников.
Sycoforge перешла в середине проекта с Git на Version Control менее чем за неделю, практически без проблем, и это сразу же сказалось на результатах работы команды. Программисты обнаружили, что он улучшает совместную работу, а художники почувствовали себя сильнее благодаря его работе с колоссальными файлами изображений. В результате коэффициент выполнения Sycoforge подскочил более чем на 300 %.
"Version Control помогает нам пробовать более рискованные вещи, которые в противном случае мы бы не стали делать, потому что мы можем легко вернуться к уже сохраненным данным", - говорит Рименсбергер. "При работе с Git вы боитесь делать коммит, потому что вдруг что-то сломается? В Version Control этого нет. Люди готовы брать на себя обязательства чаще, что также позволяет нам сократить время на разрешение конфликтов слияния (которые сейчас практически незначительны). Даже художники могут самостоятельно решить большинство конфликтов слияния с помощью Gluon UI, потому что он очень прост в использовании. Он пуленепробиваемый, безотказный".

Шлихтовое решение проблемы стресса, связанного с контролем исходных текстов
У каждой студии есть свои уникальные потребности и рабочие процессы, а хлеб и масло Version Control - это гибкость, которую он предлагает командам, чтобы приспособить инструмент к своим потребностям. Для тех, кто только начинает работать, Sycoforge предлагает начать использовать пользовательский интерфейс Gluon - даже программистам - и предоставить доступ к профессиональным инструментам Plastic только старшим и ведущим разработчикам.
Рименсбергер описывает Gluon как schlicht, немецкое слово, которое буквально означает "простой", но подразумевает чистую элегантность. "Функциональность есть, но вы знакомитесь только с тем, что вам действительно нужно на базовом уровне", - говорит она. "Это облегчит вам жизнь, если вы познакомите всех с Gluon, а затем те, кому нужен полный спектр возможностей, смогут их получить".
Для небольшой команды, работающей с большим количеством фрилансеров, такой подход имеет наибольший смысл. Предлагая большинству членов команды только интерфейс Gluon, вы сокращаете объем поддержки, которую им пришлось бы оказывать, если бы они перегрузили большинство нетехнических членов команды полным набором функций и возможностей, а не только теми, которые им больше всего нужны. Это освобождает горстку более опытных разработчиков для управления проектом с помощью таких функций, как Version Control's Branch Explorer, и некоторых более надежных инструментов.

Сближение команды
С помощью Version Control компания Sycoforge укрепила процесс гибкой разработки, стандартизировала рабочие процессы и стала быстрее реагировать на отзывы сообщества. Рименсбергер говорит: "Благодаря Version Control уведомления о фиксации регулярно появляются в наших почтовых ящиках - это первое, что я проверяю утром". Однако для Sycoforge оптимизация разработки - это лишь средство для достижения очень выгодной цели.
"То, что наше сообщество начало говорить и приветствовать друг друга на нашем гномьем языке, придумывает новые слова, ищет подсказки и пасхалки, - вот что вознаграждает нашу команду", - говорит Рименсбергер. "Незнакомцы со всего мира собираются в нашей таверне Discord, чтобы выпить виртуального гномьего пива и хорошо провести время. Разве не в создании такого сообщества и заключается суть игры?"


Творите без компромиссов с помощью Unity DevOps
Unity DevOps от Unity Gaming Services предоставляет облачные функции VCS и CI/CD, которые специально адаптированы к задачам разработки игр. Он создан для простой обработки больших и двоичных файлов, поддерживая рабочие процессы как для художников, так и для разработчиков.
Готовы сделать следующий шаг? Попробуйте бесплатно.