Processo de qualidade aplicado ao desenvolvimento de games

O mercado de games vem passando por uma grande transformação e um rápido processo evolutivo. Novas tecnologias, plataformas de desenvolvimento e o mercado mobile são alguns exemplos que mostram que, além do crescimento, grandes oportunidades de negócios foram criadas.

Neste artigo falaremos sobre as técnicas utilizadas em um processo de qualidade aplicado ao desenvolvimento de games, mas não de forma tão profunda, pois testar jogos envolve um complexo conjunto de cenários e técnicas de testes de software que não caberiam em uma única publicação. Para isso, vamos utilizar como base o paper An Overview of Game Testing Techniques, escrito por Claudio Redavid.

Como ocorre o desenvolvimento de um jogo

Antes de falarmos sobre testes vamos percorrer o ciclo de desenvolvimento, e entender que a criação de um jogo segue um fluxo diferente dos quais os softwares tradicionais são desenvolvidos para o mercado.

A primeira diferença a ser notada em um processo de criação está ligada aos papéis e profissionais necessários para a construção de um jogo.

Duas características definem os especialistas que irão trabalhar em um projeto. A primeira tem relação com a quantidade de pessoas envolvidas: em um jogo de médio ou grande porte é produzido um número surpreendente de linhas de código e por isso a necessidade de grandes equipes para o desenvolvimento e manutenção.

A segunda característica também tem impacto no número de profissionais envolvidos: produzir um jogo requer diferentes habilidades para atender às múltiplas áreas que compreendem o desenvolvimento completo de um jogo.

Composição do time

O time de desenvolvimento engloba oito principais áreas:

  1. Design

  2. Código

  3. Arte

  4. Áudio

  5. Gestão de projeto

  6. Garantia de qualidade

  7. Negócios

  8. Distribuição

Podemos dividir em três grandes grupos:

  1. Design (design, arte e áudio), responsável pela ideia e concepção, personagens e texturas, diálogos, trilha sonora e efeitos de som
  2. Desenvolvimento (código, qualidade e gestão), englobando o time de desenvolvimento, testes e gestão de projetos
  3. Negócios (negócios e distribuição), abrange a estratégia de negócios, marketing e distribuição dos jogos ao mercado.

Ciclo de desenvolvimento

Como ocorre em um software tradicional, o ciclo de vida de um jogo é dividido em etapas, entretanto, as fases que compõem o percurso feito na produção de um jogo são diferentes daquelas dos produtos de software do mercado.

  • Conceito: Nesta fase ocorre o desenvolvimento da ideia de um jogo. É criado o conceito e tudo é documentado com detalhes para verificar-se a viabilidade do projeto.
  • Pré-produção:  Quatro principais artefatos são produzidos durante essa fase: a especificação de design do jogo (game design), especificação técnica (technical design), o plano de projeto e um protótipo do jogo. Essa fase é considerada crítica, pois todas as informações necessárias para a decisão de desenvolvimento do produto estão presentes nesses elementos, conceitos técnicos e de negócios, que são analisados para que ocorra a formalização e início do projeto.
  • Desenvolvimento: Com o uso de boas práticas e metodologias, é dado início à construção do jogo. Ocorre a definição dos times, tarefas e prazos, a criação de código e testes. Com a devida adequação à arquitetura do projeto, essa fase ocorre de forma semelhante ao que acontece em um software tradicional.
  • Alpha/Beta/Code Freeze: Essa fase de testes antecede a liberação do jogo para o mercado. O time de testes possui a rastreabilidade dos bugs já identificados na fase anterior e mudanças ainda podem ocorrer. Neste período, versões de avaliação podem ser liberadas para especialistas do mercado, voluntários e para o pessoal de marketing para publicar as primeiras impressões do jogo. Após as fases de alpha e beta, o código fonte do jogo é bloqueado (code freeze ou gold), e nenhuma alteração será permitida. O jogo é considerado pronto para o mercado.
  • Fabricação: O conceito de fabricação usado aqui resulta na liberação para produzir o produto em escala. É considerada uma fase crítica, pois nesse momento é avaliado se todo o investimento realmente valeu a pena.
  • Manutenção: Após o jogo disponibilizado ao mercado, essa fase é dedicada à manutenção. São liberadas versões de correção e ainda elementos adicionais ao jogo como fases ou customizações.

A fase de testes

Após o resumo do ciclo de desenvolvimento de um jogo, vamos falar um pouco mais sobre o processo de testes. As atividades relacionadas à validação e verificação abordam estratégias de trabalho complexas e cenários detalhados e repetitivos.

Apesar da diferença entre jogos e aplicações de mercado, basicamente o ciclo de vida dos testes é semelhante – ocorre o planejamento e design dos testes, o setup e execução, identificação de bugs e retestes.

Técnicas de testes aplicadas aos jogos

Em virtude da complexidade para se testar jogos, diversas técnicas podem ser utilizadas, conheça algumas:

  • Combinatorial testing

  • Test Flow diagrams

  • Cleanroom testing

  • Test trees

  • Play testing

  • Adhoc testing

Como dito anteriormente, testes aplicados a jogos é um assunto bastante extenso. A ideia aqui foi compartilhar um pouco da complexidade existente e todo o trabalho desenvolvido por uma equipe bem capacitada em testes de software. Associado a isso, há o uso de técnicas, ferramentas e melhores práticas a serem aplicadas em uma estratégia de testes, bem diferente de um certo “glamour” que o senso comum acredita que existe no universo dos games.

Continue nos acompanhando através do  blog da Base 2 para saber mais sobre testes em softwares.

About Contentools