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.
5. Google Drive
Mantenha seus docs na nuvem.
Evite formatos proprietários.
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”.
6. 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.
Force a utilização do mesmo assunto.
7. 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.
9. 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.
10. 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.
11. 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.
12. Bônus:
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.