unite 2014 - usando a unity em game jams

Post on 02-Jul-2015

708 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

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

Usando a Unity em Game Jams

Bruno Campagnolo de PaulaGlobal Game Jam

http://globalgamejam.orghttp://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?

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 jamCurta 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

O QUE SÃO GAME JAMS?NÃO

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, 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.

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

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.

ESTUDO DE CASOGlobal 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 JamAo invés de FALAR sobre jogos, vamos FAZER jogos

Objetivo da Global Game JamGerar portfolio para todos os envolvidos

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

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 JAMSBoas e más práticas

Make it WorkMake it RightMake it Fast

Kent Beck, guru da XP

Make it WorkMake it RightMake it Fast

The Game Jam Way

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;

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

artistas

programadores

Game

designers

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.

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

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.

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

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:

Premature optimization is the root of all evil

Donald Knuth

CONSELHOS GERAIS PARA 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!

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

McPixelLudum Dare 21 Primeiro jogo aprovado Steam Greenlight.

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

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

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

Planetary Plan CGlobal 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

top related