Você está na página 1de 18

Topicos Especiais

em Jogos
Material Teórico
Metodologia Ágil para Desenvolvimento de Jogos

Responsável pelo Conteúdo:


Prof. Me. Rafael Oliveira Martins

Revisão Textual:
Prof.ª Dr.ª Luciene Oliveira da Costa Granadeiro
Metodologia Ágil para
Desenvolvimento de Jogos

• Introdução;
• Metodologia Ágil (Agile);
• Scrum;
• Ferramentas.

OBJETIVO DE APRENDIZADO
• Apresentar pontos de vista introdutórios e práticos, com abordagem baseada em referên-
cias bibliográficas e também na experiência de seu autor;
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem
aproveitado e haja maior aplicabilidade na sua
formação acadêmica e atuação profissional, siga
algumas recomendações básicas:
Conserve seu
material e local de
estudos sempre
organizados.
Aproveite as
Procure manter indicações
contato com seus de Material
colegas e tutores Complementar.
para trocar ideias!
Determine um Isso amplia a
horário fixo aprendizagem.
para estudar.

Mantenha o foco!
Evite se distrair com
as redes sociais.

Seja original!
Nunca plagie
trabalhos.

Não se esqueça
de se alimentar
Assim: e de se manter
Organize seus estudos de maneira que passem a fazer parte hidratado.
da sua rotina. Por exemplo, você poderá determinar um dia e
horário fixos como seu “momento do estudo”;

Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma


alimentação saudável pode proporcionar melhor aproveitamento do estudo;

No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos
e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você tam-
bém encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão sua
interpretação e auxiliarão no pleno entendimento dos temas abordados;

Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus-
são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o
contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e de
aprendizagem.
UNIDADE Metodologia Ágil para Desenvolvimento de Jogos

Introdução
Quando os jogos começaram a ser desenvolvidos para plataformas como consoles
(Atari, MSX) e computadores pessoais, as produtoras eram compostas em sua maioria
por programadores, que, por sua vez, criavam além do código-fonte, a arte e o game
design dos jogos. Dessa forma, a criação de um jogo sofria um processo linear, não
necessitando de metodologias mais complexas para gerir um projeto ou produto.

Com o passar dos anos, o hardware ganhou mais performance e os jogos pu-
deram ser criados de forma mais sofisticada. Outras vertentes e disciplinas foram
criadas ou adaptadas para auxiliar o programador, de modo que a gestão do projeto
se tornasse mais fragmentada e organizada.

Uma das características da cena de produção de jogos, em seu período de


crescimento nos anos 1990, foi a utilização de metodologias de projeto de outras
indústrias, fazendo com que muitos desenvolvedores largassem seus empregos
ao longo dos anos seguintes, levando toda sua experiência para novas indústrias.
Isso se deve ao fato de que algumas metodologias não se aplicam a projetos de
jogos por fatores como (1) multidisciplinariedade, (2) uso de ferramentas diferentes
e (3) mudança no processo criativo para algo menos divertido.

Como já contextualizado anteriormente, metodologias não eram aplicadas em


projetos com durações curtas como dias ou poucos meses. Com o crescimento das
equipes operacionais e da indústria, os projetos de jogos se tornaram mais caros,
fazendo com que as equipes recorressem a metodologias de projeto. Além do au-
mento do custo operacional, novos hardwares e softwares possuíam custo elevado
e, para que qualquer risco fosse mitigado, surgiu o profissional de gerenciamento
de projeto e riscos.

Muitas empresas adotaram o modelo Cascata, que tem como base a ideia de
desenvolver um software de alta escala em uma série de fases. Cada fase leva para
uma etapa, que pode ser mais cara e complexa do que a anterior (KEITH, 2010).
A fase final desse modelo é a integração de todas as fases prévias de modo que o
software seja distribuído com o menor número de erros possíveis.

Concept

Design

Code

Assets

Test and Debug

Figura 1 – Exemplo de modelo de Metodologia Cascata (Waterfall)

8
Para descrever melhor as etapas da Metodologia Cascata, as fases podem ser
divididas em macros conceitos, que englobam todas as tarefas executadas no pro-
cesso atual:
• Conceito: Nesta fase, são levantados requerimentos, regras de negócio e in-
formações essenciais sobre o projeto (jogo);
• Design: Na etapa de design, ideias e requerimentos são mixados e documen-
tos, de forma que o protótipo inicial possa ser visto de forma visual. A etapa de
design também inclui Wireframes, diagramas de fluxo e mapas de interações
de usuários (decisões), para que se visualizem possíveis problemas;
• Código: Com o design pronto, a equipe de implementação desenvolve o pro-
jeto a partir da documentação e requerimentos funcionais. A maior parte dos
recursos visuais é aplicada na próxima fase, possibilitando que os desenvolve-
dores utilizem recursos temporários (placeholders). Nesta etapa, os desenvolve-
dores implementam mecânicas de game design, interface, gameplay, gráficos
2d e 3d, entre outras funcionalidades;
• Recursos (Assets): Após a implementação, os recursos visuais e sonoros cria-
dos pelos artistas são adicionados no projeto;
• Teste e Depuração: Nesta fase, a equipe de testes (QA) realiza a análise das
versões enviadas e encontra erros que são corrigidos pelos programadores.
Alguns erros gráficos e de design também são enviados para outras equipes de
modo que o jogo funcione de acordo com o conceito definido;
• Distribuição: Por fim, o jogo é distribuído na plataforma em que foi desenvolvido.
Dependendo do tamanho e objetivo do projeto, equipes de manutenção são alo-
cadas para garantir que o jogo continue funcional para os usuários.

Concluindo a contextualização do modelo Cascata, seu uso é recomendado em


projetos onde os requerimentos são descritos de forma concreta na fase de planeja-
mento, e poucas mudanças serão necessárias ao longo de sua execução.

Metodologia Ágil (Agile)


A Metodologia Ágil nasceu de um grupo de pessoas experientes na área de
projetos em 2001. Após testarem diversas metodologias incrementais e iterativas,
desenvolveu-se então o método ágil, que é uma combinação de frameworks volta-
dos a gestão de projetos. A partir da criação do método, definiu-se um manual de
valores chamado Agile Manifesto, que declara as seguintes sentenças:
• Indivíduos e Interações: mais que processos e ferramentas;
• Software funcional: mais que documentação abrangente;
• Colaboração com cliente: mais que negociar contratos;
• Responder à mudanças: mais que Seguir um plano.

9
9
UNIDADE Metodologia Ágil para Desenvolvimento de Jogos

Os valores descritos acima são compartilhados por frameworks como Scrum,


Lean e XP, que fazem parte do ecossistema da metodologia Ágil. O Agile Manifesto
não descarta a utilização dos modelos convencionais de uso de documentações e
contratos, no entanto, seus valores remetem a uma valorização maior dos objetivos
a serem concluídos no projeto.

Pesquisa por metodologias como Scrum, Lean e XP para compreender melhor sobre como as
Explor

metodologias são utilizadas no mercado e quais suas principais características.

Uma das principais características da Metodologia Ágil é a forma como se trabalha


com clientes. Nesta abordagem, o cliente recebe o que ele precisa, e não o que é
especificado. Esse é um benefício em projetos onde os requerimentos não foram bem
definidos na fase de planejamento ou até mesmo em projetos onde possam existir
futuras influências e riscos externos.

Na literatura e na indústria, são encontradas diversas referências e declarações sobre


a utilização da Metodologia Ágil, de modo que se possa definir uma cláusula com pon-
tos importantes a serem pensados antes da aplicação. Dentre eles, pode-se destacar:
• Pelo seu próprio nome, a Metodologia Ágil pode ser interpretada de maneira
diferentes por equipes de trabalho. Sua terminologia leva a desentendimentos
sobre o que realmente a metodologia propõe e quais resultados são esperados;
• A Metodologia Ágil não resolverá todos os problemas de gestão de projeto;
• A Metodologia Ágil não é fácil. A quantidade de trabalho associado a um time
Ágil é a mesma (as vezes maior). A diferença é que a metodologia ágil pode
reduzir o tempo gasto em tarefas não pertinentes ao projeto, de modo que o
trabalho seja mais produtivo;
• Agile não acelera o tempo a se realizar uma determinada tarefa;
• Agile não ajuda a melhorar o design ou a gestão de requerimentos. No entanto,
ajudará a expor as deficiências do projeto de forma mais rápida;
• Por fim, a Metodologia Ágil é um framework que possui guias baseadas em
transparência e propriedade. Estas guias ajudam as equipes na compreensão
dos valores base da metodologia.

Scrum
O Scrum é um modelo de desenvolvimento de software identificado na década de
1990 por DeGrace e Stahl. Sua primeira aplicação foi na mesma década e, conse-
quentemente, novas referências surgiram ao longo dos anos (SUTHERLAND, 2004;
BEEDLE, 2002). A idéia principal do framework é a junção de funcionalidades de

10
outras metodologias como (1) reuniões diárias, (2) ataque ao problema, (3) utilização
de mural e separação de tarefas em um backlog (tarefas em andamento e prontas).

Para que se compreendam os componentes principais do Scrum, pode-se utili-


zar um jogo em desenvolvimento como exemplo. Cada iteração de desenvolvimen-
to no Scrum é chamada de Sprint. As sprints duram em média de duas a quatro
semanas, utilizando times multidisciplinares (entre 4 e 10 pessoas). No começo de
uma sprint, uma reunião de planejamento é realizada para que se definam as metas
daquela iteração. As funcionalidades da iteração são priorizadas e colocadas numa
lista chamada Product Backlog (ou apenas Backlog). A figura abaixo exibe de forma
visual o processo de iteração do Scrum:

Reunião Produto ou
Diária 1 dia Funcionalidade
Concluída

Product 2a4
Backlog Sprint Semanas
Backlog

Sprint

Figura 2 – Ciclo de Sprint em Scrum


Fonte: Adapta de mindmaster.com.br

Um item no Backlog é, por definição, uma funcionalidade a ser implementada.


Uma ação a ser realizada pelo jogador, uma mecânica específica ou uma funcionali-
dade de controle, são exemplos de itens presentes no backlog. No Backlog, também
se descrevem tarefas como histórias. Essa abordagem é realizada com diferentes
terminologias (depende de como equipes e empresas trabalham) e pode ser descrita
de maneira informal.

Gerenciamento de riscos é uma área importante do ponto de vista de metodologia ágil.


Explor

Uma vez que se têm pequenas iterações e um mecanismo apto a captar rápidas mudan-
ças, gerenciar e mitigar riscos se torna uma tarefa mandatória. Pesquise sobre a expressão
Gerenciamento de Risco em Projetos de Jogos (Risk Management in Games).

Animador: Programador:
Implementa a
Cria a animação de tiro
funcionalidade de atirar
10 horas
8 horas
O jogador pode atirar
durante a partida
Designer: Programador:
Tempo e mecânica de tiro Implementa a física
Item no Backlog 6 horas 4 horas

Sprint Backlog
Figura 3 – Sprint Backlog

11
11
UNIDADE Metodologia Ágil para Desenvolvimento de Jogos

Dentro de uma equipe que pratica o Scrum, as iterações (Sprints) são realizadas
por pequenas equipes. Cada integrante é responsável por uma vertente do item de
backlog. No entanto, um membro da equipe é eleito como Scrum Master. O Scrum
Master é responsável pelas tarefas realizadas pela equipe (sem valor hierárquico) e
trabalha diretamente com o Product Owner. O Product Owner (Gerente do Projeto)
garante o sucesso do produto, fazendo a comunicação entre os diretores e chefes do
projeto (Stakeholders), cliente e equipe.

Internal
Director

Programmer Product
Publisher
Artist Desginer Owner Producer
Scrum
Master
Artist The team Desginer
Anyone
(not an authority role)
Tester Programmer
Animator

Figura 4 – Funções da equipe (Scrum) em um Jogo

Postmortem
Uma das etapas que conclui o processo de gestão do projeto do ponto de vista
operacional é a criação de um documento chamado Postmortem. O Postmortem
é um processo que analisa elementos do projeto que obtiveram ou não sucesso.
Também é chamado de processo de aprendizado. Na indústria, os Postmortems
contêm uma revisão da equipe de atuação no projeto, assim como a descrição das
situações que deram certo e as que poderiam ter sido executadas de maneira mais
eficiente. De forma geral, o Postmortem apresenta:
• Descrição da equipe e suas respectivas funcionalidades: Membros da equi-
pe, seus cargos e tarefas divididas nos quesitos operacionais e estratégicos;
• Descrição das tarefas que obtiveram sucesso no projeto: Tarefas e entregas
que foram realizadas de acordo com o planejado;
• Descrição das tarefas que poderiam ter sido melhor executadas: Tarefas
que poderiam ter sido realizadas de maneira mais eficiente, rápida ou utilizan-
do outras abordagens;
• Riscos e Problemas: Possíveis riscos e problemas, mitigações e planos de
contingência utilizados durante a produção;
• Mudanças adicionais (mudanças de meio de projeto): Pedidos externos,
alterações cruciais, mudança de funcionalidade;

12
• Conclusões: Conclusão sobre o processo e a gestão do projeto, da fase inicial
à distribuição digital;
• Melhorias Futuras: Correção de erros, melhorias de performance, arte e con-
teúdo adicionais.

Ferramentas
O processo de gerenciamento de projetos que englobam os conceitos vistos no
capítulo utiliza diversas técnicas e ferramentas em sua aplicação na indústria. O con-
ceito de Kanban aplicado em Metodologia Ágil e Scrum utiliza um quadro e blocos
escritos para descrição de tarefas. Não são necessários softwares ou ferramentas
para esse tipo de abordagem na visualização do andamento do projeto.

Kanban é um framework popular usado na implementação de Metodologia Ágil em


Explor

desenvolvimento de softwares. Ele requer comunicação em tempo real e transparência no


trabalho realizado. Os itens de tarefas são representados visualmente em um quadro, facili-
tando a visualização do estado atual do projeto pelas equipes alocadas.

Muitas empresas utilizam ferramentas presentes no mercado para facilitar a ges-


tão do projeto e a utilização das Metodologias Ágil, Scrum e também na visualização
do Kanban. O Jira (Atlassian) é uma das ferramentas mais utilizadas no mercado.
Possui versões desktop e on-line. É utilizada no gerenciamento do projeto, execução
de tarefas, correção de erros e geração de relatórios.

Figura 5 – Jira Software


Fonte: Reprodução

Outra ferramenta conhecida no mercado de jogos é o Hansoft. O Hansoft é uma


ferramenta ampla e contém diversos frameworks embarcados como Agile, Scrum,
Lean, Extreme Programming e Rapid Development. Sua versão é desktop, tornando

13
13
UNIDADE Metodologia Ágil para Desenvolvimento de Jogos

a ferramenta mais robusta e otimizada. É possível gerenciar e analisar as tarefas


realizadas por equipes multidisciplinares em tempo real e gerar relatórios de
performance por usuário, time e empresa. Empresas como Electronic Arts, Capcom,
Ubisoft e GE utilizam o Hansoft como ferramenta prioritária na gestão de projetos
de larga escala.

Figura 6 – Hansoft

Como conclusão do material, pode-se dizer que a Metodologia Ágil (Agile) tem se
provado efetiva nos últimos anos na produção de jogos digitais, independentemente
do tamanho da equipe (individual ou 100+ pessoas), tornando o processo criativo
divertido e iterativo.

14
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:

Sites
Creating Video Games (EA Guest Lecture)
http://bit.ly/2EfttRH

Livros
Agile Game Development with Scrum
KEITH, C. Agile Game Development with Scrum. USA: Addison-Wesley Signature
Series, 2010.
Change in the Game
GALANAKIS, R. UHRÍNOVA, B. Change in the Game: Business Model Innovation
in the Video Game Industry Across Time. Norwegian School of Economics. Bergen,
Spring: 2017.

Vídeos
Guest Lecture (EA) on Development and Best Practices
https://youtu.be/J4pnlCBTJYc
Agile Game Development Methodologies | Ivan TKACHENKO
https://youtu.be/ng4_BEO_woQ

15
15
UNIDADE Metodologia Ágil para Desenvolvimento de Jogos

Referências
ATLASSIAN. How the Kanban methodology applies to sofware development.
Disponível em <https://www.atlassian.com/agile/kanban>. Acesso em 20/12/2018.

GAMASUTRA. Agile Game Development: Teams. Disponível em <https://


www.gamasutra.com/view/feature/6040/agile_game_development_with_scrum_.
php?print=1>. Acesso em 22/12/2018.

ITEMIS. Fundamentals of Project Management. Disponível em <https://www.ite-


mis.com/en/agile/scrum/compact/fundamentals-of-project-management>. Acesso
em 22/12/2018.

KEITH, C. Agile Game Development with Scrum. USA: Addison-Wesley Signature


Series, 2010.

RABIN, S. Introdução ao Desenvolvimento de Games – Volume 4. USA: Cengage


Learning, 2012.

16

Você também pode gostar