O documento fornece dicas sobre ferramentas úteis para projetos de jogos, incluindo ferramentas de organização, comunicação, versionamento de código, depuração e acompanhamento de produtos. Recomenda o uso de ferramentas como Trello, Google Drive, Mercurial e Google Analytics para melhorar a produtividade e qualidade dos projetos.
2. Sobre o autor
Luiz Alessandro Nörnberg
Bacharel em Ciência da Computação pela UCPel
Diretor de Tecnologia do Izyplay Game Studio
Editor do blog Abrindo o Jogo
luiz.nornberg@izyplay.com.br
www.abrindoojogo.com.br
3. Pontos importantes em
projetos de software
Saber estimar tarefas, trabalho, prazo, custo.
- Ter visão geral do “produto”.
- Saber seu tempo, saber os tempos externos.
- Incluindo compra de hardware e software, terceiros.
Saber organizar o trabalho: código, materiais e colaboração.
- Cronograma (macro), tarefas (micro), prazos, progresso.
- Documentação (projeto, arte).
- Código fonte: versões, plataformas.
- QA e produção: testes e correções, novos recursos, melhorias.
Ser produtivo.
6. Skype
Facebook Messenger
Esteja "sempre" on-line para mensagens,
principalmente quando tiver um projeto em andamento.
Não desapareça assim que fizer uma entrega.
Pode aparecer um bug de última hora.
Procure responder "imediatamente", nem que seja com:
"Vi seu e-mail, respondo em breve"
"Em breve" deve ser 2 dias no máximo
"Sempre" e "imediatamente" devem respeitar seus horários de descanso.
Em caso de dúvida e trabalho trancado por causa dela, ligue.
Lembre de usar o compartilhamento de tela do skype.
8. Google Inbox
Organize seu tempo, olhe os e-mails quando for
a hora, não quando chegarem.
Adie e-mails para não esquecer, ou crie lembretes.
Fixe e-mails contendo dados que você
procura freqüentemente.
9. DICAForce a utilização
do mesmo assunto.
Se estes 52 e-mails estivessem cada um
com um assunto, seria bem complicado
revisar o histórico de ajustes pedidos.
11. Google Drive
Mantenha seus docs na nuvem, é mais seguro e prático.
Evite formatos proprietários (MS Office).
Organize em pastas, mas crie nomes completos,
para facilitar identificação nas buscas.
Exemplo:
Projeto A
Cronograma do Projeto A
Projeto B
Cronograma do Projeto B
Acostume-se a utilizar a estrela e a categoria “recentes”.
12. Trello
Ferramenta de organização genérica,
útil para qualquer tipo de projeto.
Quadros: listas: cartões: checklists.
Crie sua metodologia e melhore com o uso.
Dicas:
- Detalhe as tarefas, crie títulos descritivos.
- Separe logicamente os cards em listas.
- Utilize categorias para uma segunda separação lógica.
- Utilize checklists para controlar quando um card está feito.
- Não deixe um card pendurado por 1 item de checklist: converta
o item em um card próprio e feche o card original.
14. Planilha de dimensionamento
Tenha modelos de projetos, com tarefas padrão.
Tenha tempos padrão, refine com a prática.
Divida ao máximo as tarefas.
Isso torna mais precisa estimativa e ajuda a errar para mais.
Ajuda também a lembrar de tudo que é preciso.
Inclua no custo APIs e ferramentas que sejam necessárias.
Se for o caso, inclua o custo de hardware.
15. Cronograma(na Izyplay usamos planilhas)
Tenha em mente a diferença entre
carga horária (CH) e prazo.
O cronograma parte da CH, mas termina por
mostrar o prazo.
Inclua o tempo das tarefas do cliente, principalmente revisões.
Nunca coloque menos de 2 dias para qualquer coisa do cliente.
Marque as milestones e entregas. Cumpra estas datas!
Tenha a versão interna e a “versão do cliente”.
18. VCS - Version Control System
Mercurial / Tortoise HG / Bitbucket
Acostumar-se a usar, tirar proveito do que a ferramenta
oferece. Não usar apenas para backup.
Usar como undo, histórico de ações.
Comite frequentemente.
Sempre coloque comentários úteis. Comite os arquivos
agrupados por tarefa.
Na dúvida, comite. Muito cuidado ao descartar alterações - é a única
ação que não tem volta.
Não comite binários que são gerados (executável, por exemplo).
Utilize um auto organizador de código sempre que possível.
19. Debugger / Profiler
Aprenda a usar o depurador (debugger).
- Acelera muito a solução de problemas (bugs).
- Permite entender a fundo o código.
Use condições de breakpoints para agilizar
depuração repetitiva.
Use tracepoints para evitar sujar o código e
para colocar logs durante a depuração.
Procure um profiler e aprendar a usar.
- Acelera o processo de otimização.
- Ajuda a achar problemas de desempenho e memória.
20. MSI Afterburner
Ferramenta genérica para medição de carga de GPU.
Muito útil para medição de desenpenho de jogos.
A taxa de frames (FPS) é um indicador importante de
desempenho, mas fique de olho em memória e CPU/GPU.
Principalmente se sua máquina for acima da média.
Você pode nunca ter problema de baixo FPS.
Esta ferramenta permite salvar relatórios e gravar vídeos.
21. BÔNUS: Ferramentas de teste personalizadas
Teste de carga (capacidade máxima de CPU, GPU, Memória).
Teste de procedimentos repetitivos (automação).
Teste transversal, simulação de game play.
22. EXTRA
Acompanhamento do produto
Google Analytics
Game Analytics
Permitem marcar eventos em pontos importantes do código,
e ver estatísticas depois.
Exemplo: registrar toques em botões, telas visualizadas,
tempo de uso, recursos mais utilizados, etc.
É preciso entender como os relatórios funcionam, para distribuir da
melhor forma os eventos pelo código. Estude estas ferramentas.
É necessário ter um SDK para integrar com sua tecnologia.