Unite 2014 - Usando a Unity em Game Jams

1.771 visualizações

Publicada em

Palestra ministrada durante o Unite Brasil 2014 (20/10/14) sobre boas práticas de uso da Unity em Game Jams.
Video relacionado:
http://youtu.be/bOvJg43qMAw
Postagem relacionada:
http://www.brunocampagnolo.com/log/2014/10/20/unite-2014-unity-em-gamejams/ ‎

Publicada em: Educação
  • Seja o primeiro a comentar

Unite 2014 - Usando a Unity em Game Jams

  1. 1. Usando a Unity em Game Jams Bruno Campagnolo de Paula Global Game Jam http://globalgamejam.org http://ggjcwb.com
  2. 2. Sumário • O que são Game Jams? • O que não são Game Jams? • Quais são os benefícios de participar de uma jam? • Estudo de caso: Global Game Jam • Unity em Game Jams – resultado de pesquisa com jammers: • Ferramentas / recursos e dicas para uso da Unity em Game Jams; • O que você NÃO deve usar do Unity; • Conselhos gerais para se dar bem em uma jam.
  3. 3. Público alvo • Iniciantes em Unity, que querem usar uma jam para fortalecer seus conhecimentos em Unity; • Intermediários, com pouca experiência em jams; •Quem já participou em jams e não se deu bem… •Quem gostaria de entender melhor Game Jams.
  4. 4. Quem sou eu? •Bruno Campagnolo de Paula •bruno@globalgamejam.org •brunodepaula@gmail.com •http://ggjcwb.com •http://www.brunocampagnolo.com/ •@bcp / @ggjpucpr
  5. 5. Quem sou eu?
  6. 6. Jogos
  7. 7. Global Game Jam Curitiba 2010 • 40 participantes; • 8 jogos;
  8. 8. Global Game Jam Curitiba 2014 • + 350 participantes; • + de 60 jogos; • Maior sede do Brasil e segunda maior sede do mundo; • Coordenador Regional Brasil.
  9. 9. O QUE SÃO GAME JAMS? Como assim 48 horas para criar um jogo?!
  10. 10. Game jams? Encontro de desenvolvedores de jogos com o objetivo de desenvolver jogos
  11. 11. Características de uma game jam Curta duração: 24, 48, 72 horas
  12. 12. Características de uma game jam • Geralmente envolvem um TEMA e RESTRIÇÕES • Restrições são essencias!
  13. 13. The enemy of art is the absence of limitations Orson Welles
  14. 14. Quando e Onde? Existem DEZENAS de game jams tanto presenciais quanto à distância
  15. 15. NÃO O QUE SÃO GAME JAMS?
  16. 16. Maratona de Jogatina
  17. 17. Big Brother
  18. 18. Startup Weekend
  19. 19. BENEFÍCIOS DE PARTICIPAR DE UMA JAM Serve pra que mesmo?
  20. 20. Olhe para o seu lado?!
  21. 21. Benefícios para indivíduos Testar limites conhecer e superá-los, gerar portfolio, conhecer pessoas, conhecer ideias novas, priorizar, focar, calcular horas / minutos é mais fácil do que dias / meses, APRENDIZADO geral, terminar um jogo (aprender a limitar), receber feedback Conhecer novas ferramentas, saber trabalhar sobre pressão, portfolio, nunca havia feito um game, percebeu o que gosta de fazer (ou não), aumenta chance de contratação, amizades, conhecer bons profissionais e buscar inspiração para melhorar cada vez mais, experiência global.
  22. 22. Benefícios para equipes Melhorar a sintonia e respeito mútuo, experiência de um projeto completo, Contatos, teste de protótipos diferentes do que se está acostumado (Amnesia Fortnight / Infinity Blade Dungeons), experimentar ideias novas ou esquisitas, troca de experiências, vitórias em concursos, aprender a trabalhar com pessoas de diferentes visões, experiência global
  23. 23. Benefícios para instituições promotoras e empresas Visibilidade, apoio ao seu público alvo, teste de novos produtos, divulgação de tecnologias, Experiência global, feira de empregos, observação das pessoas trabalhando em grupos.
  24. 24. ESTUDO DE CASO Global Game Jam
  25. 25. Global Game Jam é todo ano! Evento ANUAL, na última semana de JANEIRO... A MELHOR época e a PIOR época para organizar um evento...
  26. 26. Na Global Game Jam a gente se ajuda! Colaborativo e pouco competitivo
  27. 27. Global Game Jam é flexível! Voltado ao desenvolvimento de jogos de qualquer tipo
  28. 28. Global Game Jam tem restrições! Dado um tema, 48 horas para desenvolver um novo jogo
  29. 29. Global Game Jam é mundial! Acontece simultaneamente no mundo todo
  30. 30. Global Game Jam
  31. 31. Mote da Global Game Jam Ao invés de FALAR sobre jogos, vamos FAZER jogos
  32. 32. Objetivo da Global Game Jam Gerar portfolio para todos os envolvidos
  33. 33. Tamanho do evento Maior jam do mundo Brasil é o segundo maior em sedes (58 locais / 1500 pessoas / 300 jogos em 2014) 2009 2010 2011 2012 2013 2014 Participantes 1.600 4.000 6.500 10.000 ~15.000 23.000 Locais 53 138 169 242 319 488 Países 23 39 44 47 63 72 Jogos 370 900 1.500 2.200 3.200 4.200
  34. 34. Curitiba: segunda maior sede do mundo em 2014!
  35. 35. Unity na Global Game Jam • Patrocinador de diversas sedes da jam ao redor do mundo; • Uma grande proporção dos jogos da ggj foi desenvolvido em Unity (~50%!); • Patrocinador da GGJ 2015; # Projetos # Projetos em Unity Mundo 4.289 2.290 Brasil 356 162 Curitiba 76 30
  36. 36. UNITY EM GAME JAMS Boas e más práticas
  37. 37. Make it Work Make it Right Make it Fast Kent Beck, guru da XP
  38. 38. Make it Work Make it Right Make it Fast The Game Jam Way
  39. 39. Boas práticas 1. Tenha mais de uma pessoa trabalhando em Unity; 2. Conheça os scripts e assets que já vem com o Unity; 3. Criar animações simples usando o Animation View; 4. 2D >>>>>>>> 3D; 5. Bibliotecas: PlayMaker, 2D Toolkit, NGUI; 6. Entender corotinas e Invoke; 7. Usar as ferramentas da Unity Patterns e Prime31; 8. Entender como aplicar Debug.DrawLine e Debug.DrawRay; 9. Physics.Raycast para checar distâncias e colisões;
  40. 40. 1. Tenha mais de uma pessoa que conheça o Unity artistas programadores Game designers
  41. 41. 2. Conheça os scripts e assets que já vem com o Unity • Third Person Controller, First Person Controller, Particles, Scripts, Pathfinder, etc; • Os controllers dá para configurar completamente, travando eixos, rotação para jogos 2D.
  42. 42. 3. Usar o Animation View • Similar ao Flash; • Útil para animações simples, cutscenes, etc.
  43. 43. 4. 2D>>>>>>>>3D • Jogos em 3D são muito mais complexos de criar em 48 horas!
  44. 44. 5. Bibliotecas: PlayMaker, 2D Toolkit, NGUI • Máquina de estados, GUI, etc; • Observe que as novas versões da Unity já substituem algumas das funções desejadas.
  45. 45. 6. Entender Invoke e Corrotinas • Bom para criar sequencias de ações, eventos, comandos, etc. using UnityEngine; using System.Collections; public class InvokeScript : MonoBehaviour { public GameObject target; void Start() { Invoke ("SpawnObject", 2); } void SpawnObject() { Instantiate(target, new Vector3(0, 2, 0), Quaternion.identity); } }
  46. 46. 7. Conhecer recursos do UnityPatterns e Prime31 • http://unitypatterns.com (object pool) • https://github.com/prime31 (TouchKit)
  47. 47. 8. Debug.DrawLine e Debug.DrawRay • Essencial para depuração; using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { void OnCollisionEnter(Collision collision) { foreach (ContactPoint contact in collision.contacts) { Debug.DrawLine(contact.point, contact.point+contact.normal, Color.green, 2, false); } } }
  48. 48. 9. Physics.RayCast • Checagem de distâncias e colisões; using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { void Update() { Vector3 fwd = transform.TransformDirection(Vector3.forward); if (Physics.Raycast(transform.position, fwd, 10)) print("There is something in front of the object!"); } }
  49. 49. Mais boas práticas citadas pelos jammers 10. Conhecer bem as classes Transform, Vector3, Quaternion, Color e Mathf; 11. Acabamento gráfico: Deferred rendering, lightmaps, camera effects; 12. Modo debug do Inspector; 13. Saiba usar múltiplas câmeras, útil, por exemplo para criação rápida de menu popup; 14. Vertex/Index buffers (classe Mesh), para criação de vértices dinâmicos; 15. Shaders e Lights são rápidas de colocar e deixam o jogo com uma cara legal; 16. Sistemas de partículas; 17. Render layers, Tags, Colliders. 18. Deixar seu ambiente configurado ANTES da jam: Cores, Atalhos, etc;
  50. 50. Más práticas: Evitar em uma game jam 1. Depender do editor de terrenos e dos assets associados a ele, deixa o jogo com "cara de jogo em Unity"; 2. Dropbox para controle de versão; 3. Criar plugins nativos em C++ (dlls); 4. Depender da física padrão do Unity; 5. Usar algo diferente da física padrão do Unity; 6. Evitar texturas dinâmicas muito grandes, método Apply é muito lento; 7. LOD, recursos de otimização, etc. 8. Trabalhar com rede independente da ferramenta; 9. Usar a GUI padrão do Unity, se usar, pelo menos mude as fontes! 10.Mais importante que TUDO:
  51. 51. Premature optimization is the root of all evil Donald Knuth
  52. 52. CONSELHOS GERAIS PARA JAMS
  53. 53. Conselhos 1. Conheça jogos desenvolvidos em Jams, para saber o que é possível fazer; 2. Conheça bem suas ferramentas; 3. Ninguém vai ligar para matemática avançada de sua engine; 4. Saiba se comunicar e mostrar seu jogo; 5. Prototipe o mais rápido possível, chegue rapidamente ao core gameplay, 20% do tempo deve estar pronto; 6. Água + Sono + Conforto são essenciais; 7. Jam é sobre jogo completo e não sobre ideia! 8. Não vai dar tempo de fazer tudo, saiba CORTAR. 9. Divirta-se e faça amigos!
  54. 54. 1. Conheça jogos • Saiba o que é possível fazer durante uma jam!
  55. 55. Surgeon Simulator Global Game Jam 2013 Londres (Bossa Studios) Sucesso na Internet e Steam.
  56. 56. Lovers in Dangerous Spacetime Global Game Jam 2012 Toronto; Concorrente IGF 2013.
  57. 57. McPixel Ludum Dare 21 Primeiro jogo aprovado Steam Greenlight.
  58. 58. Mirror Moon Global Game Jam 2012 Genova; Experimental Gameplay Workshop, Ouya.
  59. 59. Mushroom 11 Global Game Jam 2012 New York; Fundeado pelo Indie Fund.
  60. 60. Tied Global Game Jam Curitiba 2013; Primeiro jogo da ggj13 publicado na Apple Store;
  61. 61. Planetary Plan C Global Game Jam Curitiba 2011 (06); Miniboss; Showcase na Casual Connect 2011.
  62. 62. 2. Conheça bem suas ferramentas • Não aprenda nada durante a jam; • Não faça engines, use a Unity; • Aprenda ANTES da jam.
  63. 63. 9. Divirta-se e faça amigos!
  64. 64. Obrigado! • bruno@globalgamejam.org • brunodepaula@gmail.com • http://ggjcwb.com • http://www.brunocampagnolo.com/ • @bcp / @ggjpucpr

×