É muito comum os desenvolvedores, especialmente equipes pequenas que estão começando, terem muitas dúvidas relacionadas a duração de um projeto, quais etapas seguir e, especialmente, como saber quando um projeto está pronto.
Como é que sabemos quando um jogo está pronto para o lançamento? Quando ele não tem bug nenhum? Quando ele parece estar divertido? E como a gente sabe se ele está divertido o bastante? E se no final do projeto descobrirmos um problema de design e o jogo precisar ser refeito, o que fazer? São dúvidas que escuto bastante e, normalmente, minha resposta para elas é basicamente a mesma: iteração.
O que é Design Iterativo?
Iteração é um processo cíclico que se baseia em etapas de desenvolvimento, teste e aprimoramento de um produto, no caso, os jogos sendo desenvolvidos. Resumindo, ao invés de começar a testar o jogo na sua fase final de desenvolvimento, o processo de iteração consiste em testar continuamente, durante diversas fases.
Então funciona assim: sua equipe tem a ideia para o jogo e começa a desenvolver ele. É muito comum que vocês desenvolvam todo o projeto, ou pelo menos uma parte dele, para só então testar e eventualmente publicar o jogo. O problema desse modelo é que caso você encontre algum problema de design, ou tenha novas ideias ao testar o jogo, é muito provável que você tenha que refazer boa parte do jogo e perca muito tempo – e dinheiro – com isso.
Utilizando o processo de iteração você vai desenvolver parte do projeto, pode ser um pequeno protótipo sem todas as artes, só a ideia principal das mecânicas do jogo, ou até mesmo uma versão analógica com recortes de papel e papelão e já pode testar! Testou e encontrou algum problema no design, na programação, sentiu que o jogo não está legal ou teve novas ideias? Faça as alterações necessárias e teste de novo. Sentiu que o jogo está legal para continuar? Vamos para a próxima parte do desenvolvimento! Defina o que mais pretende implementar no jogo, desenvolva por um tempo e teste novamente.
Quanto tempo dura o processo?
Esse processo deve se repetir durante todo o desenvolvimento, até que o jogo esteja pronto para o lançamento.
Testando o jogo continuamente, em diversas fases do desenvolvimento, conseguimos implementar novas ideias e encontrar os problemas antes que eles virem questões grandes demais para serem resolvidas. Mas aí temos uma armadilha também: você nunca vai achar que seu jogo está 100% completo. Sempre vai ter uma ideia a mais, uma mecânica interessante, um bug, uma arte que precisa ser polida, e o processo de iteração apresenta o perigo de um projeto eterno que, ao invés de fluir garantindo a maior qualidade possível do jogo, vai apenas girar em círculos ao longo do mesmo problema.
Para escapar disso basta que o time esteja engajado em um objetivo comum: lançar o melhor jogo possível. É simples limitar o projeto de iteração de forma que ele ainda seja viável e eficiente: você pode definir um prazo para entregar a etapa do projeto em questão e, passando desse prazo, o projeto segue em frente independente do estado. Também é possível limitar o número de iterações para cada etapa e, ao alcançar esse número limite, o projeto segue em frente. Tenha sempre em mente que o jogo nunca vai ser 100% o que você espera dele, e é assim mesmo que as coisas funcionam.
Para que o processo funcione bem é importante também não testar o jogo apenas dentro da equipe. Testes internos são importantes para entender se o projeto está seguindo o rumo que a equipe quer, mas testar com jogadores externos ao projeto ajuda a entender se o jogo está se saindo bem com os jogadores.
Como desenvolvedores sabemos do que se trata nosso jogo e investimos muito tempo nele, então nosso julgamento pode estar nublado pelo nosso envolvimento. Quando pessoas que não conhecem ou não estão envolvidas com o jogo testam ele, você consegue entender se seu jogo está atingindo seus jogadores da forma que deveria. Mas playtest é assunto pra um outro post.
Mantendo esse padrão de desenvolvimento e testes de forma cíclica é possível aumentar a qualidade dos jogos produzidos e até mesmo reduzir o tempo de produção, afinal mesmo que desenvolver e testar pareça ser trabalhoso e mais demorado os ciclos de alterações evitam que grandes mudanças precisem ser feitas no final da produção.
Assim, com os cuidados necessários o processo de design iterativo pode ser muito positivo para os seus projeto, evitando problemas e otimizando o tempo de produção, além de melhorar a qualidade do design do seu jogo.
Image by Alexander Antropov from Pixabay