unite 2014 - usando a unity em game jams

68
Usando a Unity em Game Jams Bruno Campagnolo de Paula Global Game Jam http://globalgamejam.org http://ggjcwb.com

Upload: bruno-campagnolo

Post on 02-Jul-2015

708 views

Category:

Education


1 download

DESCRIPTION

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/ ‎

TRANSCRIPT

Page 1: Unite 2014 - Usando a Unity em Game Jams

Usando a Unity em Game Jams

Bruno Campagnolo de PaulaGlobal Game Jam

http://globalgamejam.orghttp://ggjcwb.com

Page 2: Unite 2014 - Usando a Unity em Game Jams

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.

Page 3: Unite 2014 - Usando a Unity em Game Jams

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.

Page 4: Unite 2014 - Usando a Unity em Game Jams

Quem sou eu?

•Bruno Campagnolo de Paula•[email protected][email protected]•http://ggjcwb.com•http://www.brunocampagnolo.com/•@bcp / @ggjpucpr

Page 5: Unite 2014 - Usando a Unity em Game Jams

Quem sou eu?

Page 7: Unite 2014 - Usando a Unity em Game Jams

Global Game Jam Curitiba 2010• 40 participantes;• 8 jogos;

Page 8: Unite 2014 - Usando a Unity em Game Jams

Global Game Jam Curitiba 2014• + 350 participantes;• + de 60 jogos;• Maior sede do Brasil e segunda maior sede do mundo;• Coordenador Regional Brasil.

Page 9: Unite 2014 - Usando a Unity em Game Jams

O QUE SÃO GAME JAMS?Como assim 48 horas para criar um jogo?!

Page 10: Unite 2014 - Usando a Unity em Game Jams

Game jams?Encontro de desenvolvedores de jogos com o objetivo de desenvolver

jogos

Page 11: Unite 2014 - Usando a Unity em Game Jams

Características de uma game jamCurta duração: 24, 48, 72 horas

Page 12: Unite 2014 - Usando a Unity em Game Jams

Características de uma game jam• Geralmente envolvem um TEMA e RESTRIÇÕES• Restrições são essencias!

Page 13: Unite 2014 - Usando a Unity em Game Jams

The enemy of art is the absence of limitations

Orson Welles

Page 14: Unite 2014 - Usando a Unity em Game Jams

Quando e Onde?Existem DEZENAS de game jams tanto presenciais quanto à distância

Page 15: Unite 2014 - Usando a Unity em Game Jams
Page 16: Unite 2014 - Usando a Unity em Game Jams
Page 17: Unite 2014 - Usando a Unity em Game Jams
Page 18: Unite 2014 - Usando a Unity em Game Jams
Page 19: Unite 2014 - Usando a Unity em Game Jams

O QUE SÃO GAME JAMS?NÃO

Page 20: Unite 2014 - Usando a Unity em Game Jams

Maratona de Jogatina

Page 21: Unite 2014 - Usando a Unity em Game Jams

Big Brother

Page 22: Unite 2014 - Usando a Unity em Game Jams

Startup Weekend

Page 23: Unite 2014 - Usando a Unity em Game Jams

BENEFÍCIOS DE PARTICIPAR DE UMA JAM

Serve pra que mesmo?

Page 24: Unite 2014 - Usando a Unity em Game Jams

Olhe para o seu lado?!

Page 25: Unite 2014 - Usando a Unity em Game Jams

Benefícios para indivíduos

Testar limites conhecer e superá-los, gerar portfolio, conhecerpessoas, 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, nuncahavia feito um game, percebeu o que gosta de fazer (ou não), aumenta chance de contratação, amizades, conhecer bons profissionais e buscar inspiraçãopara melhorar cada vez mais, experiência global.

Page 26: Unite 2014 - Usando a Unity em Game Jams

Benefícios para equipes

Melhorar a sintonia e respeito mútuo, experiência de um projetocompleto,

Contatos, teste de protótipos diferentes do que se está acostumado(Amnesia Fortnight / Infinity Blade Dungeons), experimentar ideiasnovas ou esquisitas, troca de experiências, vitórias em concursos, aprender a trabalhar com pessoas de diferentes visões, experiênciaglobal

Page 27: Unite 2014 - Usando a Unity em Game Jams

Benefícios para instituições promotoras e empresas

Visibilidade, apoio ao seu público alvo, teste de novos produtos, divulgaçãode tecnologias,

Experiência global, feira de empregos, observação das pessoas trabalhandoem grupos.

Page 28: Unite 2014 - Usando a Unity em Game Jams

ESTUDO DE CASOGlobal Game Jam

Page 29: Unite 2014 - Usando a Unity em Game Jams

Global Game Jam é todo ano!Evento ANUAL, na última semana de JANEIRO... A MELHOR época e a

PIOR época para organizar um evento...

Page 30: Unite 2014 - Usando a Unity em Game Jams

Na Global Game Jam a gente se ajuda!Colaborativo e pouco competitivo

Page 31: Unite 2014 - Usando a Unity em Game Jams

Global Game Jam é flexível!Voltado ao desenvolvimento de jogos de qualquer tipo

Page 32: Unite 2014 - Usando a Unity em Game Jams

Global Game Jam tem restrições!Dado um tema, 48 horas para desenvolver um novo jogo

Page 33: Unite 2014 - Usando a Unity em Game Jams

Global Game Jam é mundial!Acontece simultaneamente no mundo todo

Page 34: Unite 2014 - Usando a Unity em Game Jams

Global Game Jam

Page 35: Unite 2014 - Usando a Unity em Game Jams

Mote da Global Game JamAo invés de FALAR sobre jogos, vamos FAZER jogos

Page 36: Unite 2014 - Usando a Unity em Game Jams

Objetivo da Global Game JamGerar portfolio para todos os envolvidos

Page 37: Unite 2014 - Usando a Unity em Game Jams

Tamanho do eventoMaior jam do mundoBrasil é 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

Page 38: Unite 2014 - Usando a Unity em Game Jams

Curitiba: segunda maior sede do mundo em 2014!

Page 39: Unite 2014 - Usando a Unity em Game Jams

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

Page 40: Unite 2014 - Usando a Unity em Game Jams

UNITY EM GAME JAMSBoas e más práticas

Page 41: Unite 2014 - Usando a Unity em Game Jams

Make it WorkMake it RightMake it Fast

Kent Beck, guru da XP

Page 42: Unite 2014 - Usando a Unity em Game Jams

Make it WorkMake it RightMake it Fast

The Game Jam Way

Page 43: Unite 2014 - Usando a Unity em Game Jams

Boas práticas1. 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;

Page 44: Unite 2014 - Usando a Unity em Game Jams

1. Tenha mais de uma pessoa que conheça o Unity

artistas

programadores

Game

designers

Page 45: Unite 2014 - Usando a Unity em Game Jams

2. Conheça os scripts e assets que já vemcom o Unity• Third Person

Controller, First Person Controller, Particles, Scripts, Pathfinder, etc;

• Os controllers dá paraconfigurarcompletamente, travando eixos, rotaçãopara jogos 2D.

Page 46: Unite 2014 - Usando a Unity em Game Jams

3. Usar o Animation View• Similar ao Flash;• Útil para animações simples, cutscenes, etc.

Page 47: Unite 2014 - Usando a Unity em Game Jams

4. 2D>>>>>>>>3D• Jogos em 3D são muito mais complexos de criar em 48 horas!

Page 48: Unite 2014 - Usando a Unity em Game Jams

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.

Page 49: Unite 2014 - Usando a Unity em Game Jams

6. Entender Invoke e Corrotinas

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);

}

}

• Bom para criar sequencias de ações, eventos, comandos, etc.

Page 50: Unite 2014 - Usando a Unity em Game Jams

7. Conhecer recursos do UnityPatterns e Prime31• http://unitypatterns.com (object pool)• https://github.com/prime31 (TouchKit)

Page 51: Unite 2014 - Usando a Unity em Game Jams

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);}

}

}

Page 52: Unite 2014 - Usando a Unity em Game Jams

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!");

}

}

Page 53: Unite 2014 - Usando a Unity em Game Jams

Mais boas práticas citadas pelos jammers10. 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;

Page 54: Unite 2014 - Usando a Unity em Game Jams

Más práticas:Evitar em uma game jam1. 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:

Page 55: Unite 2014 - Usando a Unity em Game Jams

Premature optimization is the root of all evil

Donald Knuth

Page 56: Unite 2014 - Usando a Unity em Game Jams

CONSELHOS GERAIS PARA JAMS

Page 57: Unite 2014 - Usando a Unity em Game Jams

Conselhos1. 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!

Page 60: Unite 2014 - Usando a Unity em Game Jams

Lovers in Dangerous SpacetimeGlobal Game Jam 2012 Toronto;Concorrente IGF 2013.

Page 61: Unite 2014 - Usando a Unity em Game Jams

McPixelLudum Dare 21 Primeiro jogo aprovado Steam Greenlight.

Page 62: Unite 2014 - Usando a Unity em Game Jams

Mirror MoonGlobal Game Jam 2012 Genova;Experimental Gameplay Workshop, Ouya.

Page 63: Unite 2014 - Usando a Unity em Game Jams

Mushroom 11Global Game Jam 2012 New York;Fundeado pelo Indie Fund.

Page 64: Unite 2014 - Usando a Unity em Game Jams

TiedGlobal Game Jam Curitiba 2013;Primeiro jogo da ggj13 publicado na Apple Store;

Page 65: Unite 2014 - Usando a Unity em Game Jams

Planetary Plan CGlobal Game Jam Curitiba 2011 (06);Miniboss;Showcase na Casual Connect 2011.

Page 66: Unite 2014 - Usando a Unity em Game Jams

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.

Page 67: Unite 2014 - Usando a Unity em Game Jams

9. Divirta-se e faça amigos!

Page 68: Unite 2014 - Usando a Unity em Game Jams

Obrigado!• [email protected][email protected]• http://ggjcwb.com• http://www.brunocampagnolo.com/• @bcp / @ggjpucpr