Pesquisar em Unity

Práticas recomendadas de AAA para estúdios independentes para manter uma compilação sólida

Last updated: November 2018

What you will get from this page: tried-and-tested practices on how to maintain a stable and flexible build pipeline to save yourself time and money. Topics covered include using version control, utilizing your changelists, clean cheat functionality and bug tracking.

Depois de anos entregando grandes títulos com equipes ainda maiores, os estúdios típicos da AAA sabem como manter suas produções em andamento e manter uma compilação limpa e estável. Sascha Gundlach,, da MetalPop Games, destaca como os desenvolvedores de jogos independentes podem adaptar a abordagem AAA à sua própria produção.

With a clean build, it’s easy to change or add things, as well as maintain and debug features. Overall, you’ll be able to develop your game faster and more efficiently.

As vantagens de uma compilação limpa
  • Você lançará jogos mais estáveis com menos bugs.
  • Você economizará tempo de produção, devido a menos bugs e uma base de código mais limpa.
  • A chance de "quebrar a compilação" é muito menor.
  • Você pode criar versões demo e compilações especiais muito mais fácil.

Nem todas as práticas de compilação AAA são adequadas para equipes independentes. Mas há muitas coisas que você pode fazer para garantir que sua compilação permaneça limpa e estável, gratuita (ou acessível) e que possa ser implementada por equipes de qualquer tamanho.

Mesmo que você seja uma operação de uma pessoa, as dicas a seguir ajudarão você a manter uma compilação melhor e mais saudável do seu jogo.

Vamos começar e ver as práticas recomendadas e dicas que ajudarão você a manter uma compilação limpa e estável.

Use o controle de versão

Mesmo hoje, com a disponibilidade de sistemas de controle de versão gratuitos (VCS), ainda existem equipes trabalhando com pastas compartilhadas ou dropboxes. Desenvolver sem controle de versão é como dirigir sem cinto de segurança. Usar um cinto de segurança nem sempre é confortável e pode restringir um pouco, mas uma vez que você choque contra essa árvore a toda velocidade, vai salvar sua vida.

Especialmente quando você está numa equipe pequena, você não pode perder o trabalho. Uma conta Dropbox hackeada ou um disco rígido quebrado não deve causar a perda de dias ou semanas de trabalho.

Há muitas soluções gratuitas por aí. O Perforce oferece licenças gratuitas para pequenas equipes independentes, e o Git ou o SVN são totalmente gratuitos também. E, com as Unity Teams incorporadas diretamente ao Unity, as coisas ficam ainda mais fáceis.

Não há absolutamente nenhuma razão para não ter seu projeto de jogo gerenciado em um sistema de controle de versão.

Utilize suas listas de alterações

Além da segurança oferecida por um VCS, outro benefício é que você obterá listas de alterações, que ajudarão você a manter uma visão geral das alterações feitas.

changelists

Um histórico da pasta do Perforce mostrando todas as alterações

Embora a maioria dos sistemas não obrigue a enviar uma descrição para uma alteração que você fez, é altamente recomendável descrever claramente as alterações.

Além disso, a criação de "notas de atualização" e documentos semelhantes se torna incrivelmente fácil quando você começa a usar prefixos para suas alterações. Aqui está um conjunto de prefixos recomendados que você pode usar para classificar facilmente suas alterações:

  • !B Uma correção de bug.
  • !V Uma alteração ou melhoria visual.
  • !G Uma mudança na jogabilidade.
  • !X Uma alteração que deve ser ignorada nas notas de correção.

Quando você envia alterações para o seu VCS e as descreve com os prefixos principais, mais tarde você pode executar um script sobre cada entrada e classificar tudo em um documento de notas de correção limpo e agradável.

Uma apresentação limpa para o seu VCS ficaria assim:

"!V O efeito das partículas de explosão aumentou."

"!B Corrigido uma falha ao pegar uma arma"

"!G quantidade de saúde aumentou em kits médicos"

Se você tiver a disciplina para manter todos os seus registros limpos e bem descritos, será muito fácil compilar os documentos das notas de correção quando você precisar deles.

Passar manualmente pelas suas alterações recentes para identificar coisas que devem ser listadas em suas notas de correção, por outro lado, é demorado e não é nada divertido.

Higiene na compilação: mantenha sua compilação limpa

É extremamente importante que todos em sua equipe estejam familiarizados com os princípios básicos de higiene da compilação.

Aqui estão as cinco melhores práticas para manter uma compilação perfeitamente limpa.

1. Sem código de ruptura de compilação

Não verifique nada que você sabe que está quebrado. Se o recurso em que você está trabalhando ainda não estiver pronto, mas você precisar fazer check-in, desative-o ou arquive as alterações para que não quebrem nada para o resto da equipe. O resto de sua equipe não deve ser bloqueado por uma compilação quebrada porque você registrou um código não funcional.

2. Sem atalhos de teclado codificados

Pode ser muito conveniente adicionar atalhos personalizados para determinadas funcionalidades de cheat (trapaça) ou depuração. "Basta tornar a tecla F12 a tecla de trapaça de dinheiro, ninguém vai apertar isso de qualquer maneira, certo?"

Funcionalidade de codificação como essa para uma tecla é perigosa porque é fácil de esquecer. Você pode acabar enviá-lo acidentalmente, ou seus testadores podem ativá-lo inadvertidamente e assim poluir seus relatórios de erros.

3. Marque o código incorreto e em falta

Às vezes você tem que hackear. Não importa o quanto você queira evitá-lo, eventualmente você terá hacks temporários em seu código.

Quando você estiver adicionando um hack ou uma solução alternativa, marque-os no código com palavras-chave fáceis de encontrar. Marque um hack com //HACK ou código em falta com ///TODO. Isso simplificará, mais tarde, pesquisar todo o código dessas tags e localizá-las e substituí-las facilmente.

code

(Código de jogo da IU que marca cuidadosamente hacks e código de tarefas)

4. Registro de spam

Registrar as coisas no seu código é útil e pode ajudá-lo a rastrear problemas. No entanto, é importante limpar o registro de spam de vez em quando

Se o console estiver tão cheio de registros que os avisos e erros importantes passam despercebidos, você terá dificuldade em descobrir o que está acontecendo. A menos que você esteja trabalhando ativamente em uma função, seu console deve estar o mais limpo e vazio possível, para que, se algo aparecer, você o veja imediatamente.

5. Nomes de arquivos e convenções de nomenclatura

O tamanho da sua compilação aumentará para centenas ou possivelmente milhares de arquivos. Manter uma convenção de nomenclatura limpa é extremamente importante.

Quando você inicia um novo projeto, reserve um tempo para criar convenções de nomenclatura que façam sentido para você e se obrigue a segui-las.

Uma vez que você tenha coisas como 'texturetestFinal01.png' ou 'backup22.fbx' em sua compilação, as coisas ficarão muito confusas.

Faça verificações rotineiramente e limpe qualquer nome de arquivo sujo que tenha entrado no projeto.

Aqui estão algumas dicas rápidas:

  • Use nomes descritivos

    'AttackButtonBehavior.cs' em vez de 'atkBtn.cs'

  • Use camelCase ou PascalCase

    'notsocleanfilename.cs' não é tão legível quanto 'MyCleanFilename.cs'

  • Use sublinhados para tornar as coisas mais claras nos nomes dos arquivos.

    'WoodenHouse_Blue', 'WoodenHouse_Green', etc.

Funcionalidade cheat (trapaça) limpa

Ao desenvolver seu jogo, você precisará constantemente depurar e trapacear. Você pode querer pular para um nível diferente, ganhar dinheiro extra, tornar-se invulnerável, gerar inimigos extra, etc.

Você pode adicionar cheats (trapaças) sempre que precisar e desativá-las depois de terminar, mas é preferível ter uma maneira limpa de ativar e desativar esse tipo de funcionalidade de cheat (trapaça).

Mesmo para projetos menores, vale a pena investir o tempo extra para criar um menu de debug/cheat (depuração/trapaça) fácil de usar. Algo que pode ser facilmente ligado e desligado por seus desenvolvedores e fornece acesso a todas as opções de trapaças e depuração usuais.

cheat functionality

O menu de cheat (trapaça) do nosso jogo em desenvolvimento Galactic Colonies

Procedendo desta maneira minimiza o risco de enviar cheats (trapaças) acidentalmente com o seu jogo. Além disso, ter seu "cheat code" em um local central também garante que tudo funcione corretamente e seja facilmente extensível.

Outra vantagem dessa abordagem é que o processo de criação de cheats (trapaças) torna-se muito mais rápido e você economizará muito tempo na produção diária. Um simples toque de um botão em sua janela de depuração agradável e confortável é muito mais rápido do que os valores codificados em seus scripts.

Bugs

Seu jogo terá bugs. Todo jogo tem bugs e seu jogo não será uma exceção. A questão é como você lida com bugs.

O fluxo de trabalho para lidar eficientemente com bugs é bastante simples: seu departamento de QA encontra e registra bugs em seu sistema de rastreamento de bugs. Em seguida, eles atribuem os problemas aos desenvolvedores, que, por sua vez, corrigem os problemas e os marcam como corrigidos. Por fim, sua equipe de QA verifica os problemas e os marca como concluídos. Um processo simples de três etapas, certo?

Espere, o quê? Você não tem um departamento dedicado a QA? Seus testadores também são seus desenvolvedores?

Não se preocupe, porque você realmente não precisa de muito para ficar por dentro de seus bugs.

Rastreie seus bugs

Primeiramente, rastreie seus erros. Isso é muito fácil. Mesmo que você seja um time de uma só pessoa, configurar um sistema de rastreamento de bugs correto é extremamente fácil.

Escolha o software de rastreamento de bugs (existem inúmeras ofertas gratuitas e de baixo custo) e configure-o. Se isso soa muito tedioso ou muito complicado, você também pode usar o Excel ou um bloco de notas. O importante é que você tenha um local central onde possa capturar e rastrear problemas.

tracking

Uma placa Trello também pode ser usada para facilitar o rastreamento de bugs

Não deixe que as coisas saiam do controle.

Depois de colocar em prática um sistema para rastrear seus problemas, é uma questão de disciplina. Uma versão com bugs reduz a velocidade de produção e pode até criar novos problemas.

Aqui estão algumas dicas para manter os bugs sob controle:

Bug-Fix-Fridays

Bug-Fix-Fridays são uma ótima maneira de manter sua compilação livre de bugs. A ideia é simples: no final da semana, todas as sexta-feiras, em vez de trabalhar em novos recursos, todos estão trabalhando na lista de bugs. Essa abordagem fará com que você comece a nova semana com uma compilação estável e sem erros.

Não adie por muito tempo

Se você achar que seus bugs estão fora de controle, pode ser uma boa ideia concentrar-se em estabilizar a compilação primeiro e não começar a trabalhar em novos recursos até que os bugs sejam corrigidos.

Não combata incêndios o tempo todo

Se os mesmos erros ocorrerem uma e outra vez, você deve descobrir a causa. É uma parte específica do seu pipeline de compilação de nível que faz com que o nível falhe? A análise dos dados de jogo dos arquivos .xml é recolhida em dias alternados?

Se você identificar um sistema que está constantemente causando problemas, talvez seja melhor restaurar esse sistema em vez de corrigir constantemente os bugs resultantes.

Mantenha-o limpo

Com todas as melhores práticas e dicas em mente, tudo se resume a disciplina e à atenção prestada ao estado de sua compilação.

Você pode aplicar todos os pontos da lista acima à sua produção independente em qualquer ordem e combinação.

O tempo extra necessário para manter sua compilação em boa forma realmente compensa e você terá uma compilação mais limpa e melhor.

Mais recursos

Queremos saber! Você gostou deste conteúdo?

Sim, continue. Bem. Poderia ser melhor
Eu entendi

Usamos cookies para garantir a melhor experiência no nosso site. Visite nossa página da política de cookies para obter mais informações.