Lean Game Development Desenvolvimento enxuto de jogos
Julia Naomi BoeiraPrefácio
Você já percebeu a felicidade das crianças enquanto jogam? Amarelinha, esconde-esconde, adoleta, pique-bandeira, Minecraft, Halo etc.
Pois é. Crianças se divertem jogando, mas logo passam de fase: crianças, adolescentes, jovens adultos, adultos, adultos mais velhos, adultos adolescentes e, por fim, adultos crianças. Porém, existem muitas pessoas que não param de jogar (e se divertir) a vida toda! E ainda tem aquela turma que trabalha criando jogos. Não fique com inveja, essa é a indústria de desenvolvimento de jogos.
Mas você já sabe disso. Você está com este magnífico livro em suas mãos, porque admira software e jogos — e quer continuar jogando, se divertindo, colaborando, criando e fazendo os jogos evoluírem.
Pois bem, a Julia é como você. Ela também gosta e trabalha com desenvolvimento de jogos, mas queria mais. Ela queria melhorar a vida de quem faz esses jogos. Para isso, ela buscou aprimorar a eficácia e a eficiência na criação deles. Julia explorou e combinou práticas e técnicas (Lean, Agile, Design Thinking, Lean UX, Lean StartUp, entre outras) e alcançou excelentes resultados.
As pessoas mais próximas tiveram a oportunidade de aprender com ela e diziam: “Nossa, mas essa forma de trabalhar é muito show!”. Todavia, muitos outros — aqueles que ouviam os relatos de como a Julia estava arrebentando, mas não tinham a oportunidade de trabalhar diretamente com ela — pediam a ela referências sobre essa nova forma de criar jogos.
Julia atendeu ao pedido e escreveu de forma simples e efetiva como ela guia o desenvolvimento de jogos, por exemplo: comece com um workshop colaborativo para decidir o direcionamento do jogo; faça entregas frequentes do MVG (Minimum Viable Game); desenvolva com base em testes e integre o código continuamente.
Neste excelente livro, Julia compartilha todas as etapas da criação do jogo Super Jujuba Sisters, em plataforma 2D, desde a sua concepção às entregas incrementais do MVG.
Aproveite e divirta-se aprendendo.
Boa leitura!
Paulo Caroli
Sobre o livro
A indústria de jogos parece ter alguma resistência aos métodos ágeis. Entretanto, grande parte dessa resistência se dá por tentativas frustradas de implementar algumas ferramentas propostas pelos métodos ágeis, em especial, Scrum. Sempre acreditei que os métodos e ferramentas ágeis aplicados não podem nunca se sobrepor ao que é proposto no Manifesto Ágil (disponível em: http://agilemanifesto.org/iso/ptbr/manifesto.html):
* Indivíduos e interações mais que processos e ferramentas;
* Software em funcionamento mais que documentação abrangente;
* Colaboração com o cliente mais que negociação de contratos;
* Responder a mudanças mais que seguir um plano.
O que mais percebo é o peso que tem o primeiro item, pois raramente vejo um local em que processos e ferramentas não sejam superiores a indivíduos e interações. Sempre que vejo empresas de jogos falando de suas tentativas frustradas com métodos ágeis, vejo-as falando sobre como utilizaram os processos e a ferramenta de forma rígida, o que me dá muita pena.
Além disso, creio que o desenvolvimento guiado por testes tenha nascido do segundo item, já que, a meu ver, testes extensivos podem ser interpretados como documentação e, ainda, ajudam no software em funcionamento. Penso que, no mundo dos jogos, a colaboração com o cliente seja a etapa fundamental no desenvolvimento, já que o software serve, principalmente, para o entretenimento. Outro aspecto importante é que o mercado e a vida mudam, e é preciso se adaptar às necessidades atuais. Jogos podem levar muitos anos para ficarem prontos, e é preciso levar em consideração as tendências atuais do mercado em um processo possivelmente tão longo.
Uma empresa que é exemplo do ponto de vista de engenharia do desenvolvimento de jogos é Riot, pois ela, ao meu ver, já superou, em muitos aspectos, os métodos ágeis. Infelizmente, no fator diversidade e comunidade, ela falha (ROUSSEAU, 2021). Ela está em um estágio lean de desenvolvimento. Veja mais informações sobre a Riot em seu blog de engenharia, disponível em https://engineering.riotgames.com/.
Veja, também, alguns links de vídeos interessantes sobre desenvolvimento ágil de games (em inglês):
* Common mistakes in Agile SCRUM game dev — Arch Creatives (ARCH CREATIVES, 2016), disponível em https://youtu.be/epWidgZ259M;
* WGDS13 — Emil Harmsen — Agile Game Development (WGDSUMMIT, 2013), disponível em https://youtu.be/OSjytjjFYsE.
Creio que este livro seja focado principalmente em equipes de desenvolvimento de jogos dos mais diversos tipos de empresas — pessoas que, de certa forma, já enfrentaram os desafios expostos no livro, mas, principalmente, fazem parte daquelas equipes que sofrem com a pressão da entrega, com requerimentos que mudam constantemente e que queiram desenvolver jogos com cada vez mais qualidade.
Gosto de acreditar que este livro é focado em empresas indie e pequenas de desenvolvimento de jogos — isso é, talvez, o mais importante de tudo. Evidentemente, empresas de grande porte também podem tirar proveito das metodologias aqui apresentadas, porém, empresas maiores possuem muito mais dificuldades de adaptação, já que contam com processos mais burocráticos e opiniões mais verticais; além disso, elas geralmente precisam de ajuda externa para identificar seus pontos fortes e fracos, assim como identificar os pontos do processo que estão bons ou ruins. Sendo assim, este livro pode ser uma ferramenta para grandes empresas em projetos de middlewares, features específicas, arte e ferramental.
Creio também que a leitora ocasional, que tenha interesse em desenvolvimento de jogos, terá, nas estratégias apresentadas neste livro, um bom ponto de partida para começar a desenvolver seus jogos. Porém, o mais importante de tudo, creio que ela poderá levar o desenvolvimento para qualquer ambiente de trabalho, seja no desenvolvimento de software, ambiente artístico ou governamental.
Espero que o livro possibilite boas horas de entretenimento e muito conhecimento. Não há necessidade de saber programar para ler o livro. Todas as etapas que envolvem programação são focadas no ponto de vista dos testes. Além do mais, artistas e designers podem aproveitar muito para desenvolver suas técnicas de desenvolvimento em equipes de games.
Por último, mas não menos importante, analistas de negócio e gerentes de projeto — talvez as pessoas com mais interesse em garantir que as metodologias apresentadas funcionem e as responsáveis por forçar as outras pessoas para fora de suas zonas de conforto — são o principal público-alvo do livro.
Muitos dos links do livro estão em inglês, pois, infelizmente, não há materiais com a qualidade pretendida em português para alguns tópicos.
Quando o texto do livro está no plural, refere-se ao pensamento da equipe que desenvolveu o jogo. Já no singular, refere-se somente à opinião da autora.
Você pode notar, talvez com um certo estranhamento, que, ao longo do livro, optamos por usar o feminino quando há menção de um grupo genérico de pessoas. É uma forma de exercitar a conscientização da inclusão de mulheres em tais atividades, dando representatividade às desenvolvedoras e jogadoras de games, que ainda sofrem bastante discriminação neste mercado.
Julia Naomi Boeira é team lead programmer na Ubisoft Winnipeg, onde prega o desenvolvimento lean, mas já atuou como engenheira de software no Nubank e na Thoughtworks Brasil. Atualmente, atua como evangelista Rust na Ubisoft e produz bastante conteúdo voltado ao desenvolvimento de jogos em Rust e Unity. É autora dos livros TDD para Games e Programação Funcional e Concorrente em Rust, publicados pela Casa do Código.
Já trabalhou com as engines Snowdrop, Unity, Unreal Engine, CryEngine. Ao perceber que a indústria de games havia interpretado errado os métodos ágeis, buscou uma solução que pudesse ser utilizada de forma mais convergente com o mundo dos games.
A autora teve a colaboração de Rodolfo Pereira, desenvolvedor de software da Thoughtworks, e de Jay Kim, UX Designer, no desenvolvimento e adaptações dos conceitos já existentes para a criação do Lean Game Development. A revisão técnica foi feita por Vitor Severo Leães — Diretor de Operações da Hermit Crab Game Studio e professor convidado da pós-graduação em Jogos Digitais e, também, do MBA em Liderança, Inovação e Gestão 4.0, ambos pela PUCRS — e por Jay Kim.
Sumário
- 1 Introdução
- 2 Primeiros passos no Lean
- 2.1 Lean Inception
- 2.2 Lean PMO
- 2.3 Lean DevOps
- 2.4 Kanban
- 2.5 Como podemos aproveitar o Scrum? (Agile)
- 2.6 Integração contínua (Agile)
- 2.7 Do Build-Measure-Learn ao Lean Game
- 2.8 Um pouco mais a fundo no conceito de inception
- 2.9 Desenvolvimento guiado a testes (TDD) em Agile
- 3 Uma inception na prática!
- 3.1 Como e por que fizemos uma inception?
- 3.2 Como foi a inception?
- 3.3 Priorização de ideias
- 3.4 Desenvolvimento das personas
- 3.5 Próximos passos da inception
- 3.6 Como ficou o jogo, do ponto de vista da inception?
- 4 MVPs: realmente necessários?
- 4.1 O papel da Product Owner nos MVGs/protótipos
- 4.2 Como obter mais do mínimo?
- 4.3 Como perceber se o jogo não é viável?
- 4.4 Pensando no mais simples primeiro
- 4.5 MVP Canvas para Lean Game Development
- 4.6 Como ficariam os MVGs e os protótipos para o Super Jujuba Sisters?
- 5 MVGs na prática
- 5.1 Guerrilla Games: Do FPS Killzone ao mundo aberto de Horizon Zero Dawn
- 5.2 Archero
- 5.3 Dead Cells
- 6 Como gerar hipóteses?
- 6.1 E quando as hipóteses não forem criadas a partir da inception?
- 7 Desenvolvimento guiado a testes
- 7.1 Então, o que é o TDD?
- 7.2 Testes são bons, mas por que existe tanto código mal testado?
- 7.3 E como aplicar isso a jogos?
- 7.4 Próximos passos para tornar o TDD melhor
- 8 Integração contínua
- 8.1 Como fazer integração contínua
- 8.2 Versionamento de código
- 8.3 Build automatizado
- 9 O mundo entre o design e o build
- 9.1 Um pouco do design
- 9.2 Um pouco do build
- 9.3 Muito bonito, mas como se faz?
- 10 Testar, codar, testar
- 10.1 Casos de teste
- 10.2 Codar
- 10.3 Codando software de game
- 10.4 Automatização de testes
- 11 Medir e analisar
- 11.1 Formas de medir
- 11.2 Medindo por meio de feedbacks
- 11.3 O que é um feedback?
- 11.4 Medindo através de hipóteses
- 11.5 Analisar
- 12 Gerar ideias para iterar
- 12.1 Itens de ação
- 12.2 Repensando as limitações do desenvolvimento de jogos
- 12.3 Convertendo ideias em épicos e histórias
- 13 Resumo
- 13.1 Testes automatizados
- 13.2 Agilismo
- 13.3 Arte e iterações
- 13.4 Economia de tempo
- 13.5 Entrega contínua
- 14 Mais sobre games
- 15 Anexo A — Técnicas e ferramentas lean e ágeis
- 16 Anexo B — Engines
- 17 Anexo C — Plataformas de distribuição
- 18 Referências
Dados do produto
- Número de páginas:
- 192
- ISBN:
- 978-85-5519-264-7
- Data publicação:
- 04/2017. Atualizado em 05/2023.