Como a Sycoforge estimula a ideação e a iteração rápidas

A adoção do Unity Version Control acelera o desenvolvimento do Return to Nangrim, reunindo programadores e artistas para aumentar as confirmações em mais de 300%.
Sycoforge: Um estudo de caso do Unity Version Control
Como um estúdio independente voltado para a arte garante um controle de versão consistente de uma comunidade díspar e altamente distribuída de colaboradores criativos? A Sycoforge estava envolvida em um ambicioso projeto transmídia que incluía Return to Nangrimum RPG de aventura com suporte de multimídia e componentes linguísticos sofisticados. No entanto, o sistema de controle de versão (VCS) existente era uma ferramenta para programadores. Ele não foi projetado para atender ao lado criativo do desenvolvimento de jogos, e a Sycoforge precisava de uma mudança.

Unificação de todo o ambiente de desenvolvimento de jogos com o VCS
O modelo de desenvolvimento exclusivo da Sycoforgeincorpora feedback regular de uma comunidade global de desenvolvedores, artistas e jogadores. A maioria dos VCS é complexa, desenvolvida para engenheiros e não foi projetada para arquivos grandes e binários prontos para uso. Para alcançar sua visão de desenvolvimento orientado pela comunidade, a iteração rápida era vital. A Sycoforge precisava de uma solução robusta que também atendesse aos artistas e aos membros não técnicos da equipe. A adoção rápida e ampla era essencial para alcançar sua visão, e eles encontraram sua solução elegante no Unity Version Control da Unity DevOps (anteriormente conhecido como Plastic SCM).
Os resultados
- Aumentou os commits em 300% e tornou os conflitos de mesclagem insignificantes
- Migrou do Bitbucket para o Unity Version Control no meio do projeto em menos de uma semana
- Permitiu que os artistas assumissem o controle de seu próprio controle de versão sem sobrecarregar os desenvolvedores

Imaginando um universo de fantasia
Os estudantes de engenharia Michela Rimensberger e Ismael Wittwer passaram boa parte do tempo na universidade jogando jogos de simulação, especialmente nos mundos de fantasia da Batalha pela Terra Média. Inspirados a construir sua própria realidade alternativa, os dois partem em uma busca ambiciosa.
Eles queriam criar um jogo com idiomas, culturas, mapas, clãs e outros detalhes exclusivos para uma fantasia totalmente nova, em crescimento contínuo e autônoma - o Universo Arafinn. Para tornar isso uma realidade, em 2017, a dupla, agora CEO e CTO, respectivamente, fundou a Sycoforge em Zurique.
Return to Nangrim é o primeiro capítulo do que será uma saga da história de Arafinn. Um jogo de aventura sombrio e de fantasia em primeira pessoa, ambientado principalmente em uma cidade montanhosa de anões, o jogo abrange o rico mistério da Terra Média de Tolkien. No entanto, ele é muito mais do que um jogo. Os linguistas da Sycoforge criaram vários idiomas Arafinn, e a ideia original se transformou em uma rica coleção transmídia de livros de histórias interativos e narrados, um mapa-múndi multimídia em visão de satélite, um romance e até mesmo histórias em quadrinhos.

Superar a perda de dados, conflitos de mesclagem e bloqueios de tempo de carregamento lento
A Guilda dos Jogadores é um componente essencial do fluxo de trabalho de desenvolvimento ágil da Sycoforge, fornecendo feedback quase imediato sobre o conteúdo experimental e a jogabilidade. Para gerenciar o controle de versão nessa rede, a Sycoforge usava um repositório de código-fonte baseado em Git, projetado principalmente para programadores.
No entanto, a arte de Arafinn é, em uma palavra, enorme. Isso significava que o VCS tinha que lidar constantemente com atualizações de arquivos gráficos de até vários gigabytes, além de alterações de código baseadas em texto. O processo era lento e desafiador, e a facilidade de uso (ou a falta dela) era o fator decisivo.
"Com tudo o que você salva na nuvem, se alguém estiver trabalhando no mesmo arquivo que outra pessoa, você provavelmente terá problemas", diz Rimensberger. "Quando se trata de código, que consome muito tempo para ser desenvolvido e mantido, não podemos nos dar ao luxo de perder dados."


Reequilíbrio entre solução de problemas e tempo de criação
Com o Git, a equipe técnica perdia tempo solucionando problemas com a ferramenta e resolvendo conflitos de mesclagem em vez de desenvolver o jogo, e isso gerava ansiedade na equipe. As pessoas tinham medo de fazer o commit, caso quebrassem algo, e ficavam frustradas enquanto esperavam o carregamento de grandes alterações no repositório.
"A natureza de um videogame, o tamanho dos dados, simplesmente não é viável com o Git", diz Rimensberger. "Os arquivos grandes dificultam o trabalho e leva muito tempo para aguardar as alterações locais."
Cerca de um ano após o início do projeto, a Sycoforge decidiu que as coisas precisavam mudar. Para concretizar totalmente a visão do jogo, eles precisavam experimentar novas ideias e assumir riscos mais criativos. Como o medo de perda de dados era muito grande ao fazer o commit, o VCS não permitia a iteração rápida necessária para dar suporte total ao desenvolvimento orientado pela comunidade. A migração para um novo VCS no meio do projeto pode ser desafiadora, mas os benefícios de usar um sistema que atendesse às necessidades exclusivas do estúdio valeram a pena.


Compromisso com o Version Control da Unity
"Analisamos vários VCS, mas o Unity Version Control era claramente diferente", diz Andi Arcaro, programador da Sycoforge. O Version Control foi criado para permitir a colaboração em todo o ambiente de desenvolvimento de jogos. O Sycoforge valorizou os dois fluxos de trabalho distintos do Version Control: o fluxo de trabalho completo do Developer, para programadores familiarizados com o VCS tradicional, e o Gluon, um modo simplificado e altamente gráfico para colaboradores menos técnicos.
A Sycoforge migrou o meio do projeto do Git para o Version Control em menos de uma semana, praticamente sem problemas, e isso teve um efeito imediato na produção da equipe. Os programadores descobriram que o sistema aumentou a colaboração, e os artistas se sentiram capacitados pelo manuseio de arquivos de imagem colossais. Como resultado, a taxa de comprometimento da Sycoforge aumentou mais de 300%.
"O Version Control nos ajuda a experimentar coisas mais arriscadas que não faríamos de outra forma, porque podemos facilmente recorrer aos dados que já armazenamos", diz Rimensberger. "Ao trabalhar com o Git, você tem medo de fazer um commit porque, e se algo quebrar? Isso não é possível com o Version Control. As pessoas estão dispostas a se comprometer com mais frequência, o que também nos permite reduzir o tempo gasto na resolução de conflitos de mesclagem (que agora são praticamente insignificantes). Até mesmo os artistas podem resolver sozinhos a maioria dos conflitos de mesclagem com a interface do usuário do Gluon, pois ela é muito fácil de usar. É à prova de balas, à prova de falhas".

Encontrando uma solução schlicht para o estresse do controle de origem
Cada estúdio terá suas próprias necessidades e fluxos de trabalho exclusivos, e o ponto forte do Version Control é a flexibilidade que ele oferece às equipes para moldar a ferramenta de acordo com suas necessidades. Para aqueles que estão começando, a abordagem da Sycoforge foi iniciar todos usando a interface do usuário Gluon, até mesmo os programadores, e conceder acesso às ferramentas profissionais do Plastic apenas aos desenvolvedores sênior e líderes.
Rimensberger descreve Gluon como schlicht, uma palavra alemã que significa literalmente "simples", mas que denota uma elegância limpa. "A funcionalidade está toda lá, mas você só é exposto ao que realmente precisa em um nível básico", diz ela. "Facilita sua vida apresentar o Gluon a todos e, assim, aqueles que precisam de todos os recursos podem tê-los."
Para uma equipe pequena que trabalha com muitos freelancers, essa abordagem faz mais sentido para eles. Ao oferecer apenas a interface do Gluon para a maior parte da equipe, isso reduz muito o suporte que eles teriam que prestar se sobrecarregassem a maioria dos membros não técnicos com uma gama completa de recursos e possibilidades, apenas com os que eles mais precisam. Isso libera um punhado de desenvolvedores mais experientes para orquestrar o projeto usando recursos como o Branch Explorer do Version Control e algumas das ferramentas mais robustas.

Aproximação da equipe
Com o Version Control, a Sycoforge fortaleceu seu processo de desenvolvimento ágil, padronizou os fluxos de trabalho e respondeu mais rapidamente ao feedback da comunidade. Rimensberger diz: "Com o Version Control, as notificações de confirmação agora aparecem regularmente em nossas caixas de entrada - elas são a primeira coisa que verifico pela manhã." No entanto, para a Sycoforge, o desenvolvimento simplificado é apenas um meio para um fim muito gratificante.
"O fato de nossa comunidade ter começado a falar e cumprimentar uns aos outros em nossa língua anã, de estarem criando novas palavras, de estarem procurando pistas e easter eggs - é isso que recompensa nossa equipe", diz Rimensberger. "Estranhos de todo o mundo se reúnem em nossa taverna Discord para beber cerveja anã virtual e se divertir. A construção desse tipo de comunidade não é o objetivo dos jogos?"


Crie sem compromisso com o DevOps do Unity
O Unity DevOps da Unity Gaming Services oferece funcionalidade de VCS e CI/CD baseada em nuvem, especificamente adaptada aos desafios do desenvolvimento de jogos. Foi desenvolvido para lidar com arquivos grandes e binários com facilidade, ao mesmo tempo em que proporciona para artistas e desenvolvedores-fluxos de trabalho específicos.
Tudo pronto para dar o próximo passo? Experimente gratuitamente.