Usando a Unity em Game 
Jams 
Bruno Campagnolo de Paula 
Global Game Jam 
http://globalgamejam.org 
http://ggjcwb.com
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.
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.
Quem sou eu? 
•Bruno Campagnolo de Paula 
•bruno@globalgamejam.org 
•brunodepaula@gmail.com 
•http://ggjcwb.com 
•http://www.brunocampagnolo.com/ 
•@bcp / @ggjpucpr
Quem sou eu?
Jogos
Global Game Jam Curitiba 2010 
• 40 participantes; 
• 8 jogos;
Global Game Jam Curitiba 2014 
• + 350 participantes; 
• + de 60 jogos; 
• Maior sede do Brasil e segunda maior sede do mundo; 
• Coordenador Regional Brasil.
O QUE SÃO GAME JAMS? 
Como assim 48 horas para criar um jogo?!
Game jams? 
Encontro de desenvolvedores de jogos com o objetivo de desenvolver 
jogos
Características de uma game jam 
Curta duração: 24, 48, 72 horas
Características de uma game jam 
• Geralmente envolvem um TEMA e RESTRIÇÕES 
• Restrições são essencias!
The enemy of art is the absence 
of limitations 
Orson Welles
Quando e Onde? 
Existem DEZENAS de game jams tanto presenciais quanto à distância
NÃO 
O QUE SÃO GAME JAMS?
Maratona de Jogatina
Big Brother
Startup Weekend
BENEFÍCIOS DE PARTICIPAR DE 
UMA JAM 
Serve pra que mesmo?
Olhe para o seu lado?!
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.
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
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.
ESTUDO DE CASO 
Global Game Jam
Global Game Jam é todo ano! 
Evento ANUAL, na última semana de JANEIRO... A MELHOR época e a 
PIOR época para organizar um evento...
Na Global Game Jam a gente se ajuda! 
Colaborativo e pouco competitivo
Global Game Jam é flexível! 
Voltado ao desenvolvimento de jogos de qualquer tipo
Global Game Jam tem restrições! 
Dado um tema, 48 horas para desenvolver um novo jogo
Global Game Jam é mundial! 
Acontece simultaneamente no mundo todo
Global Game Jam
Mote da 
Global Game Jam 
Ao invés de FALAR sobre jogos, vamos FAZER jogos
Objetivo da 
Global Game Jam 
Gerar portfolio para todos os envolvidos
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
Curitiba: segunda maior sede do 
mundo em 2014!
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
UNITY EM GAME JAMS 
Boas e más práticas
Make it Work 
Make it Right 
Make it Fast 
Kent Beck, guru da XP
Make it Work 
Make it Right 
Make it Fast 
The Game Jam Way
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;
1. Tenha mais de uma pessoa que conheça o 
Unity 
artistas 
programadores 
Game 
designers
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.
3. Usar o Animation View 
• Similar ao Flash; 
• Útil para animações simples, cutscenes, etc.
4. 2D>>>>>>>>3D 
• Jogos em 3D são muito mais complexos de criar em 48 horas!
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.
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); 
} 
}
7. Conhecer recursos do 
UnityPatterns e Prime31 
• http://unitypatterns.com (object pool) 
• https://github.com/prime31 (TouchKit)
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); 
} 
} 
}
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!"); 
} 
}
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;
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:
Premature optimization is the 
root of all evil 
Donald Knuth
CONSELHOS GERAIS PARA JAMS
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!
1. Conheça jogos 
• Saiba o que é possível fazer durante uma jam!
Surgeon Simulator 
Global Game Jam 2013 Londres (Bossa Studios) 
Sucesso na Internet e Steam.
Lovers in Dangerous Spacetime 
Global Game Jam 2012 Toronto; 
Concorrente IGF 2013.
McPixel 
Ludum Dare 21 
Primeiro jogo aprovado Steam Greenlight.
Mirror Moon 
Global Game Jam 2012 Genova; 
Experimental Gameplay Workshop, Ouya.
Mushroom 11 
Global Game Jam 2012 New York; 
Fundeado pelo Indie Fund.
Tied 
Global Game Jam Curitiba 2013; 
Primeiro jogo da ggj13 publicado na Apple Store;
Planetary Plan C 
Global Game Jam Curitiba 2011 (06); 
Miniboss; 
Showcase na Casual Connect 2011.
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.
9. Divirta-se e faça amigos!
Obrigado! 
• bruno@globalgamejam.org 
• brunodepaula@gmail.com 
• http://ggjcwb.com 
• http://www.brunocampagnolo.com/ 
• @bcp / @ggjpucpr

Unite 2014 - Usando a Unity em Game Jams

  • 1.
    Usando a Unityem Game Jams Bruno Campagnolo de Paula Global Game Jam http://globalgamejam.org http://ggjcwb.com
  • 2.
    Sumário • Oque 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.
    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.
    Quem sou eu? •Bruno Campagnolo de Paula •bruno@globalgamejam.org •brunodepaula@gmail.com •http://ggjcwb.com •http://www.brunocampagnolo.com/ •@bcp / @ggjpucpr
  • 5.
  • 6.
  • 7.
    Global Game JamCuritiba 2010 • 40 participantes; • 8 jogos;
  • 8.
    Global Game JamCuritiba 2014 • + 350 participantes; • + de 60 jogos; • Maior sede do Brasil e segunda maior sede do mundo; • Coordenador Regional Brasil.
  • 9.
    O QUE SÃOGAME JAMS? Como assim 48 horas para criar um jogo?!
  • 10.
    Game jams? Encontrode desenvolvedores de jogos com o objetivo de desenvolver jogos
  • 11.
    Características de umagame jam Curta duração: 24, 48, 72 horas
  • 12.
    Características de umagame jam • Geralmente envolvem um TEMA e RESTRIÇÕES • Restrições são essencias!
  • 13.
    The enemy ofart is the absence of limitations Orson Welles
  • 14.
    Quando e Onde? Existem DEZENAS de game jams tanto presenciais quanto à distância
  • 19.
    NÃO O QUESÃO GAME JAMS?
  • 20.
  • 21.
  • 22.
  • 23.
    BENEFÍCIOS DE PARTICIPARDE UMA JAM Serve pra que mesmo?
  • 24.
    Olhe para oseu lado?!
  • 25.
    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.
  • 26.
    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
  • 27.
    Benefícios para instituiçõespromotoras 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.
  • 28.
    ESTUDO DE CASO Global Game Jam
  • 29.
    Global Game Jamé todo ano! Evento ANUAL, na última semana de JANEIRO... A MELHOR época e a PIOR época para organizar um evento...
  • 30.
    Na Global GameJam a gente se ajuda! Colaborativo e pouco competitivo
  • 31.
    Global Game Jamé flexível! Voltado ao desenvolvimento de jogos de qualquer tipo
  • 32.
    Global Game Jamtem restrições! Dado um tema, 48 horas para desenvolver um novo jogo
  • 33.
    Global Game Jamé mundial! Acontece simultaneamente no mundo todo
  • 34.
  • 35.
    Mote da GlobalGame Jam Ao invés de FALAR sobre jogos, vamos FAZER jogos
  • 36.
    Objetivo da GlobalGame Jam Gerar portfolio para todos os envolvidos
  • 37.
    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
  • 38.
    Curitiba: segunda maiorsede do mundo em 2014!
  • 39.
    Unity na GlobalGame 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
  • 40.
    UNITY EM GAMEJAMS Boas e más práticas
  • 41.
    Make it Work Make it Right Make it Fast Kent Beck, guru da XP
  • 42.
    Make it Work Make it Right Make it Fast The Game Jam Way
  • 43.
    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;
  • 44.
    1. Tenha maisde uma pessoa que conheça o Unity artistas programadores Game designers
  • 45.
    2. Conheça osscripts 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.
  • 46.
    3. Usar oAnimation View • Similar ao Flash; • Útil para animações simples, cutscenes, etc.
  • 47.
    4. 2D>>>>>>>>3D •Jogos em 3D são muito mais complexos de criar em 48 horas!
  • 48.
    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.
  • 49.
    6. Entender Invokee 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); } }
  • 50.
    7. Conhecer recursosdo UnityPatterns e Prime31 • http://unitypatterns.com (object pool) • https://github.com/prime31 (TouchKit)
  • 51.
    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); } } }
  • 52.
    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!"); } }
  • 53.
    Mais boas práticascitadas 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;
  • 54.
    Más práticas: Evitarem 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:
  • 55.
    Premature optimization isthe root of all evil Donald Knuth
  • 56.
  • 57.
    Conselhos 1. Conheçajogos 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!
  • 58.
    1. Conheça jogos • Saiba o que é possível fazer durante uma jam!
  • 59.
    Surgeon Simulator GlobalGame Jam 2013 Londres (Bossa Studios) Sucesso na Internet e Steam.
  • 60.
    Lovers in DangerousSpacetime Global Game Jam 2012 Toronto; Concorrente IGF 2013.
  • 61.
    McPixel Ludum Dare21 Primeiro jogo aprovado Steam Greenlight.
  • 62.
    Mirror Moon GlobalGame Jam 2012 Genova; Experimental Gameplay Workshop, Ouya.
  • 63.
    Mushroom 11 GlobalGame Jam 2012 New York; Fundeado pelo Indie Fund.
  • 64.
    Tied Global GameJam Curitiba 2013; Primeiro jogo da ggj13 publicado na Apple Store;
  • 65.
    Planetary Plan C Global Game Jam Curitiba 2011 (06); Miniboss; Showcase na Casual Connect 2011.
  • 66.
    2. Conheça bemsuas ferramentas • Não aprenda nada durante a jam; • Não faça engines, use a Unity; • Aprenda ANTES da jam.
  • 67.
    9. Divirta-se efaça amigos!
  • 68.
    Obrigado! • bruno@globalgamejam.org • brunodepaula@gmail.com • http://ggjcwb.com • http://www.brunocampagnolo.com/ • @bcp / @ggjpucpr

Notas do Editor

  • #7 Trabalho com jogos desde 2003.
  • #14 Estimular a criatividade
  • #25 Imagem original: http://timenewsfeed.files.wordpress.com/2012/04/faces.jpg?w=480&h=320&crop=1
  • #27 100 reais?
  • #44 Boas práticas: Ferramentas / recursos e dicas para uso da Unity em Game Jams; O que é rápido de APRENDER, APLICAR e ÚTIL para criar o seu jogo; Deixe seu jogo BOM, sem muito esforço Perguntei a alguns de nossos jammers quais eram suas sugestões e compilei as melhores
  • #45 É interessante que mais de integrante da equipe conheça o Unity. NÃO deixar TUDO nas costas dos programadores (ANIMAÇÃO). Ensinar ao artista como trabalhar com animações simples (usando ANIMATION VIEW), lembra o Flash. Ensinar ao GD a editar as fases, alterar parâmetros, sem depender
  • #48 É mais difícil criar modelos, criar cenários, etc.
  • #50 É mais difícil criar modelos, criar cenários, etc.
  • #54 Boas práticas: Ferramentas / recursos e dicas para uso da Unity em Game Jams; O que é rápido de APRENDER, APLICAR e ÚTIL para criar o seu jogo;
  • #55 Boas práticas: Ferramentas / recursos e dicas para uso da Unity em Game Jams; O que é rápido de APRENDER, APLICAR e ÚTIL para criar o seu jogo;