Lean Game Development: Desenvolvimento enxuto de jogos
()
Sobre este e-book
Neste livro, Julia Naomi apresenta o Lean Game Development, de modo que se compreenda que o jogo digital é também um software, e que o desenvolvimento de software pode ser visto como um jogo cooperativo de invenção e comunicação na qual todas as peças são importantes. Você aprenderá sobre diversos aspectos do desenvolvimento lean aplicados a jogos, como Inceptions e MVPs, desenvolvimento guiado a testes, integração contínua, geração de hipóteses, medições e análises.
Leia mais títulos de Julia Naomi Boeira
TDD para Games: Desenvolvimento guiado a testes para jogos digitais Nota: 0 de 5 estrelas0 notasProgramação Funcional e Concorrente em Rust Nota: 0 de 5 estrelas0 notas
Relacionado a Lean Game Development
Ebooks relacionados
eXtreme Programming: Práticas para o dia a dia no desenvolvimento ágil de software Nota: 0 de 5 estrelas0 notasThoughtworks antologia Brasil: Histórias de aprendizado e inovação Nota: 0 de 5 estrelas0 notasTest-Driven Development: Teste e Design no Mundo Real com .NET Nota: 5 de 5 estrelas5/5Entrega contínua em Android: Como automatizar a distribuição de apps Nota: 0 de 5 estrelas0 notasRSpec: Crie especificações executáveis em Ruby Nota: 0 de 5 estrelas0 notasDesign Patterns com C#: Aprenda padrões de projeto com os games Nota: 0 de 5 estrelas0 notasTest-driven development: Teste e design no mundo real com Ruby Nota: 0 de 5 estrelas0 notasMétricas Ágeis: Obtenha melhores resultados em sua equipe Nota: 0 de 5 estrelas0 notasAgile: Desenvolvimento de software com entregas frequentes e foco no valor de negócio Nota: 5 de 5 estrelas5/5Gestão de produtos de software: Como aumentar as chances de sucesso do seu software Nota: 0 de 5 estrelas0 notasCodeIgniter: Produtividade na criação de aplicações web em PHP Nota: 0 de 5 estrelas0 notasConstruct 2: Crie o seu primeiro jogo multiplataforma Nota: 5 de 5 estrelas5/5Cultura humanizada no meio tech: Estratégias para pessoas e organizações construírem ambientes mais saudáveis Nota: 0 de 5 estrelas0 notasScrum 360: Um guia completo e prático de agilidade Nota: 5 de 5 estrelas5/5Orientação a Objetos e SOLID para Ninjas: Projetando classes flexíveis Nota: 5 de 5 estrelas5/5Desenvolvimento efetivo na plataforma Microsoft: Como desenvolver e suportar software que funciona Nota: 0 de 5 estrelas0 notasTest-Driven Development: Teste e Design no Mundo Real Nota: 0 de 5 estrelas0 notasLiderança de produtos digitais: A ciência e a arte da gestão de times de produto Nota: 0 de 5 estrelas0 notasDeixe seu código limpo e brilhante: Desmistificando Clean Code com Java e Python Nota: 0 de 5 estrelas0 notasArquitetura de software distribuído: Boas práticas para um mundo de microsserviços Nota: 0 de 5 estrelas0 notasDSL: Quebre a barreira entre desenvolvimento e negócios Nota: 0 de 5 estrelas0 notasGraphQL: A revolucionária linguagem de consulta e manipulação de dados para APIs Nota: 0 de 5 estrelas0 notasJavaScript Assertivo: Testes e qualidade de código em todas as camadas da aplicação Nota: 0 de 5 estrelas0 notasDesign Patterns com PHP 7: Desenvolva com as melhores soluções Nota: 5 de 5 estrelas5/5Modernização de Aplicação no Microsoft Azure: Explorando o potencial da nuvem Nota: 0 de 5 estrelas0 notasTest-Driven Development: Teste e Design no Mundo Real com PHP Nota: 0 de 5 estrelas0 notasScrum: Gestão ágil para produtos de sucesso Nota: 0 de 5 estrelas0 notasSeu Primeiro Ano De Programação Nota: 0 de 5 estrelas0 notasProgramação Funcional: Uma introdução em Clojure Nota: 4 de 5 estrelas4/5
Programação para você
Lógica de Programação: Crie seus primeiros programas usando Javascript e HTML Nota: 3 de 5 estrelas3/5Arduino: Guia para colocar suas ideias em prática Nota: 5 de 5 estrelas5/5Orientação a Objetos em C#: Conceitos e implementações em .NET Nota: 5 de 5 estrelas5/5O universo da programação: Um guia de carreira em desenvolvimento de software Nota: 5 de 5 estrelas5/5Python: Escreva seus primeiros programas Nota: 4 de 5 estrelas4/5Python e mercado financeiro: Programação para estudantes, investidores e analistas Nota: 5 de 5 estrelas5/5Introdução a Data Science: Algoritmos de Machine Learning e métodos de análise Nota: 0 de 5 estrelas0 notasIntrodução à programação em C: Os primeiros passos de um desenvolvedor Nota: 4 de 5 estrelas4/5Lógica de programação com Portugol: Mais de 80 exemplos, 55 exercícios com gabarito e vídeos complementares Nota: 0 de 5 estrelas0 notasMachine Learning: Introdução à classificação Nota: 0 de 5 estrelas0 notasBusiness Intelligence: Implementar do jeito certo e a custo zero Nota: 4 de 5 estrelas4/5Kotlin com Android: Crie aplicativos de maneira fácil e divertida Nota: 4 de 5 estrelas4/5HTML5 e CSS3: Domine a web do futuro Nota: 4 de 5 estrelas4/5Guia prático de TypeScript: Melhore suas aplicações JavaScript Nota: 0 de 5 estrelas0 notasPostgreSQL: Banco de dados para aplicações web modernas Nota: 5 de 5 estrelas5/5Scrum 360: Um guia completo e prático de agilidade Nota: 5 de 5 estrelas5/5MySQL: Comece com o principal banco de dados open source do mercado Nota: 4 de 5 estrelas4/5HTML 5 - Embarque Imediato Nota: 0 de 5 estrelas0 notasDesenvolvimento de Jogos em HTML5 Nota: 5 de 5 estrelas5/5Desenvolvimento web com PHP e MySQL Nota: 3 de 5 estrelas3/5Aprenda a programar com Python: Descomplicando o desenvolvimento de software Nota: 5 de 5 estrelas5/5Django de A a Z: Crie aplicações web rápidas, seguras e escaláveis com Python Nota: 0 de 5 estrelas0 notasArduino prático: 10 projetos para executar, aprender, modificar e dominar o mundo Nota: 3 de 5 estrelas3/5ECMAScript 6: Entre de cabeça no futuro do JavaScript Nota: 5 de 5 estrelas5/5Cangaceiro JavaScript: Uma aventura no sertão da programação Nota: 5 de 5 estrelas5/5Certificação Linux Essentials Nota: 4 de 5 estrelas4/5Trilhas Python: Programação multiparadigma e desenvolvimento Web com Flask Nota: 4 de 5 estrelas4/5Agile: Desenvolvimento de software com entregas frequentes e foco no valor de negócio Nota: 5 de 5 estrelas5/5APIs REST: Seus serviços prontos para o mundo real Nota: 5 de 5 estrelas5/5Linux Essentials: um guia do sistema operacional Linux para iniciantes Nota: 0 de 5 estrelas0 notas
Avaliações de Lean Game Development
0 avaliação0 avaliação
Pré-visualização do livro
Lean Game Development - Julia Naomi Boeira
Sumário
ISBN
Agradecimentos
Sobre a autora
Sobre o livro
Prefácio
1. Introdução
2. Primeiros passos no Lean
3. Uma inception na prática!
4. MVPs: realmente necessários?
5. MVGs na prática
6. Como gerar hipóteses?
7. Desenvolvimento guiado a testes
8. Integração contínua
9. O mundo entre o design e o build
10. Testar, codar, testar
11. Medir e analisar
12. Gerar ideias para iterar
13. Resumo
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
ISBN
Impresso e PDF: 978-85-5519-264-7
EPUB: 978-85-5519-265-4
MOBI: 978-85-5519-266-1
Caso você deseje submeter alguma errata ou sugestão, acesse http://erratas.casadocodigo.com.br.
Agradecimentos
Primeiro, gostaria de agradecer à minha família por estar sempre comigo e me apoiando. Obrigada, Diego e Kinjo, e obrigada aos pequenos sempre alegres e contentes Fluffy, Ffonxio e Highlander. Além disso, devo agradecer a Ada Lovelance e Alan Turing por terem sido os grandes cabeças na fundação da ciência da computação.
Tenho também de agradecer ao meu pai, por ter me comprado aquele primeiro livro de C++ para ver se eu calava a boca, e a todas as revisões de texto que ele já fez na minha vida. À minha mãe, por todo incentivo na educação. Também à Ubisoft, à Microsoft, à Nintendo, à Sony e à Sega, por terem me permitido centenas de milhares de horas de entretenimento com videogames.
Tenho de agradecer a Universidade Federal do Rio Grande do Sul (UFRGS), especialmente à professora Vania e ao professor Luis Alberto, pois sempre me deram espaço para explorar a minha criatividade, apesar de ela às vezes ir para terras inimagináveis. Aos professores da especialização em desenvolvimento de jogos digitais da Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS), em especial o Vitor Severo Leães e o Christian Lykawka, por terem me ajudado a desenvolver o conhecimento em games.
A todo o pessoal da Thoughtworks, especialmente ao Rodolfo e ao Marcelo, que levaram as empreitadas de games comigo, e a todos que me ajudaram lá — a lista é muito grande, mas citarei as seis pessoas mais importantes: Aneliz, Enzo (várias palestras sobre CI, CD, TDD e muitas horas de diversão), Renata, Otávio, Ana Daros e Braga. E um agradecimento especial ao Paulo Caroli, por ter me dito que o Lean Game Development deveria ser muito mais do que uma palestra de 25 minutos e, também, por todo o material que ele disponibilizou na internet para que as pessoas pudessem consultar.
Ao meu time na Ubisoft, por me ajudar a evoluir cada vez mais.
E, claro, agradecer à Vivian, à Bianca e à Casa do Código, por acreditarem no Lean Game Development e por me ajudarem no desenvolvimento do livro.
Um agradecimento especial à Lenora Lerrer Rosenfield, pela ideia da arte para a capa do livro.
Sobre a autora
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.
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.
Prefá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
Capítulo 1
Introdução
Este livro foi pensado de forma a apresentar uma nova maneira de desenvolver jogos para equipes com pouca, ou nenhuma, experiência em metodologias ágeis e/ou lean. Além disso, o livro utiliza um jogo fictício, que é a combinação de três outros jogos, anônimos, que foram produzidos com as técnicas apresentadas neste livro. Infelizmente, não é possível entrar em mais detalhes sobre esses jogos devido a NDAs (acordos de segredo).
Lean production (ou apenas Lean, termo em inglês que pode ser traduzido para enxuto) deriva do sistema de produção toyotista, que tem como objetivo principal reduzir o