Desenvolvimento com grandes equipes: desafios e...

Post on 28-Apr-2018

219 views 5 download

Transcript of Desenvolvimento com grandes equipes: desafios e...

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

• Sistema insustentável

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?!

ORGANIZAÇÃO

Solução?!

ORGANIZAÇÃO

Solução?!

ORGANIZAÇÃO

Organização HTTP

• Hierarchy

• Tecnology

• Team Play

• Process

Hierarchy

Product Owner

Producer

Director

Lead

Dev (1..8)

Tecnology

• 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 Docs

Tecnology

• Escolha baseada em:

– Plataforma

– Experiência da equipe

– Prazo

– Casos de sucesso

– Preço

– Estilo de jogo

– Expectativa de qualidade

Team 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

Team Play

• Comunicação

– Sugerir melhorias

– Reconhecer boas ideias

– Alertar perigos

– Ajudar e ensinar

– Aprender a conviver com diferenças

Process

• Metodologias

• Guidelines e documentação

• Cultura

Process

• Metodologias

Process

• 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

Process

• Padronização de codigo – Identação, estilo – Nomenclatura – Arquitetura – Boas praticas – Más praticas

• Resultado – Uniformidade – Qualidade – Performance – Leitura

Process

• Padronização artística – Estilo

– Nomenclatura

– Limitações

– Boas praticas

– Más praticas

• Resultado – Uniformidade

– Qualidade

– Performance

Process

• Padronização gamedesign – Descrição

– Diagramas

– Imagens

– Apresentações

– Planilhas de balanceamento

– Casos de uso

• Resultado – Tarefas bem definidas

– Balanceamento adequado

Process

• 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

Process - Programação

• CodeStandard

• High level architecture Doc

• Code Review

• Build Machine (TeamCity, Jenkins)

• Continuous Integration

Process - 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

– Possibilita estimativas mais precisas

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

• Cenário comum

Charles Marcel de Barros

charlesbarros@gmail.com

Contato