Desenvolvimento com grandes equipes:
desafios e soluções
Charles Marcel de Barros
(Lead Game Programmer)
O desafio
• Desenvolver jogos em equipe:
– Prazo
– Qualidade para o jogador
– Qualidade de sistema
Por que é um desafio?
• Processo iterativo
• Numero de pessoas
• Variedade de expertise
• Mercado competitivo
• Prazo
Resultado desejado
• Crunch Time pequeno e próximo do fim do
projeto
• Ambiente de trabalho agradável
• Entrega no prazo
• Atender nível de qualidade
• $$$
Resultado comum
• Crunch extenso
• Stress
• Desanimo
• Impossibilidade de entregar no prazo
• Qualidade insatisfatória
Time de desenvolvimento
Producer Game Designers Context Game Mechanics Balance Level Designer Artists 2d 3d Técnico/FX Animador User Interface Programmers Gameplay Sound IA UI Tools Backend Sound Sound Engineer Musician QA (Testers)Time de desenvolvimento
Producer Game Designers Context Game Mechanics Balance Level Designer Artists 2d 3d Técnico/FX Animador User Interface Programmers Gameplay Sound IA UI Tools Backend Sound Sound Engineer Musician QA (Testers)Time de desenvolvimento
Producer Game Designers Context Game Mechanics Balance Level Designer Artists 2d 3d Técnico/FX Animador User Interface Programmers Gameplay Sound IA UI Tools Backend Sound Sound Engineer Musician QA (Testers)Time de desenvolvimento
Producer Game Designers Context Game Mechanics Balance Level Designer Artists 2d 3d Técnico/FX Animador User Interface Programmers Gameplay Sound IA UI Tools Backend Sound Sound Engineer Musician QA (Testers)Time de desenvolvimento
Producer Game Designers Context Game Mechanics Balance Level Designer Artists 2d 3d Técnico/FX Animador User Interface Programmers Gameplay Sound IA UI Tools Backend Sound Sound Engineer Musician QA (Testers)Time de desenvolvimento
Producer Game Designers Context Game Mechanics Balance Level Designer Artists 2d 3d Técnico/FX Animador User Interface Programmers Gameplay Sound IA UI Tools Backend Sound Sound Engineer Musician QA (Testers)Time de desenvolvimento
Producer Game Designers Context Game Mechanics Balance Level Designer Artists 2d 3d Técnico/FX Animador User Interface Programmers Gameplay Sound IA UI Tools Backend Sound Sound Engineer Musician QA (Testers)Solução?!
Solução?!
Solução?!
Organização
HTTP
• H
ierarchy
• T
ecnology
• T
eam Play
H
ierarchy
Product Owner
Producer
Director
Lead
Dev (1..8)
T
ecnology
• Qual escolher?
Engine • Flash • Unity 3D • Unreal • CryEngine • In-house engine Backend • Nodes • SQL • MongoDB • PHP • ASP • Ruby Tools • Maya • 3D Studio • Z-Brush • Topogen • Cinema4D • Blender • Photoshop • Gimp Management • Jira • Bugzilla • Confluence • Project • Wiki • TeamBox • GreenHopper • HipChat • Google DocsT
ecnology
• Escolha baseada em:
– Plataforma
– Experiência da equipe
– Prazo
– Casos de sucesso
– Preço
– Estilo de jogo
– Expectativa de qualidade
T
eam Play
• Paixão pelo o que faz
• Não aceitar nada menos que o melhor
possível
• Esforço
• Intersecção de jornada (4 a 6 horas)
• Comunicação
T
eam Play
• Comunicação
– Sugerir melhorias
– Reconhecer boas ideias
– Alertar perigos
– Ajudar e ensinar
P
rocess
• Metodologias
• Guidelines e documentação
• Cultura
P
rocess
P
rocess
• Guidelines e documentação
– Padronização de codigo
– Documento de design técnico
– Documento de game design
– Planilhas de balanceamento
– Limitações e guias artisticos
– Cronogramas e planejamento
– Nomenclatura, estrutura de diretorios e
repositórios
P
rocess
• Padronização de codigo
– Identação, estilo
– Nomenclatura
– Arquitetura
– Boas praticas
– Más praticas
• Resultado
– Uniformidade
– Qualidade
– Performance
– Leitura
P
rocess
• Padronização artística
– Estilo
– Nomenclatura
– Limitações
– Boas praticas
– Más praticas
• Resultado
– Uniformidade
– Qualidade
– Performance
P
rocess
• Padronização gamedesign
– Descrição
– Diagramas
– Imagens
– Apresentações
– Planilhas de balanceamento
– Casos de uso
• Resultado
– Tarefas bem definidas
P
rocess
• Planejamento
– Cronogramas
– Lista de tarefas
– Dependências
– Riscos
• Resultado
– Paralelismo de tarefas
– Divisão otimizada de trabalho
– Explicitar caminhos críticos
– Visão de Escopo X Prazo
P
rocess - Programação
• CodeStandard
• High level architecture Doc
• Code Review
• Build Machine (TeamCity, Jenkins)
• Continuous Integration
P
rocess - Arte
• Art Bible (Estilo, cores, clima, referências)
• Art Constrain Doc
• Export Checklist
• Review
Estagios de desenvolvimento
• Cada estagio deve conter objetivos bem
definidos
• Reavaliar destino do projeto a cada transição
de estagio
• Não pressupunha que uma ideia ruim ficará
bom com o andamento do projeto.
Estagios de desenvolvimento
• Prototipagem
– Encontrar a diversão
– Medir esforço
– Diminuir riscos
– Validar ideias
– Identificar necessidades e obstáculos cedo
– Melhora qualidade do produto final
Estagios de desenvolvimento
Pitch Conceito Pré-produção Produção Pós-Produção
Prototipo Pesquisa Audiência Tema Estilo Design Prototype First playable Alpha Beta Code-Freeze Final Atualizações Vendas Comunidade Crunch Time
• Cenário ideal
Estagios de desenvolvimento
Pitch Conceito Pré-produção Produção Pós-Produção
Prototipo Pesquisa Audiência Tema Estilo Design Prototype First playable Alpha Beta Code-Freeze Final Atualizações Vendas Comunidade Crunch Time