DESENVOLVENDO JOGOS COM UNITY
Erick Mendonça – erickrms@dcomp.ufs.br

Unity 3D
AGENDA
Desenvolvimento de jogos

Interface

 Mercado de games
 Indie games
 Oportunidades






Unity






Histórico
Facilidades
Meus jogos vão rodar onde?
E dá pra usar no meu computador?
O que já fizeram?

Editor de Cena
Editor de Terreno
Criando objetos
Criando scripts

Hello World: Modern Warfare
 Importando modelos, texturas e sons
 Criando um menu
 Exportando o jogo
Fonte: VGSales (http://vgsales.wikia.com/wiki/Video_game_industry)

MERCADO DE GAMES
Fonte: VGSales (http://vgsales.wikia.com/wiki/Video_game_industry)

MERCADO DE GAMES
MERCADO DE GAMES
2012: 63 bilhões de dólares (incluindo jogos para smartphones e tablets). *

Há 10 anos, a indústria movimentava 33,2 bilhões de dólares. Se ajustarmos esse
valor com a inflação, chegamos a 41,43 bilhões.
Em 2007, o total ajustado era de 46,08 bilhões.

O que aconteceu entre 2007 e 2013?

* Fonte: Reuters (http://in.reuters.com/article/2013/06/10/gameshow-eidINDEE9590DW20130610)
Fonte: PWC (http://www.pwc.com/gx/en/global-entertainment-media-outlook/segment-insights/video-games.jhtml)

MERCADO DE GAMES: MOBILE
Fonte: PWC (http://www.pwc.com/gx/en/global-entertainment-media-outlook/segment-insights/video-games.jhtml)

MERCADO DE GAMES: ONLINE
Fonte: PWC (http://www.pwc.com/gx/en/global-entertainment-media-outlook/segment-insights/video-games.jhtml)

MERCADO DE GAMES: COMPARATIVO
MERCADO DE GAMES: BRASIL
Quarto maior mercado de games (2012).

Superou o Reino Unido em faturamento (2013). Crescimento do mercado total de
25% em 2012-2013!
Distribuição digital: preços mais baixos.

Smartphones em alta!

Fontes:
 G1: http://g1.globo.com/tecnologia/games/brasil-game-show/2013/noticia/2013/10/mercado-degames-no-brasil-ja-fatura-mais-do-que-no-reino-unido-diz-gfk.html
 Folha de São Paulo: http://www1.folha.uol.com.br/tec/2013/10/1361479-brasil-e-galinha-dosovos-dourados-do-mercado-de-games-diz-gfk.shtml
MERCADO DE GAMES: BRASIL
Vale-cultura não inclui jogos...

... Mas a lei Rouanet, sim!
Toren: primeiro jogo beneficiado pela Lei Rouanet, foi autorizar a arrecadar R$ 370
mil, e em agosto já haviam arrecadado R$ 75 mil.

Fonte:
 Folha de São Paulo: http://www1.folha.uol.com.br/tec/2013/08/1324415-game-toren-levanta-r-40mil-pela-lei-rouanet-meta-e-arrecadar-370-mil.shtml
UNITY

Histórico
Facilidades
Meus jogos vão rodar onde?
E dá pra usar no meu
computador?
O que já fizeram?
HISTÓRICO
2001: Início do desenvolvimento.

2004: Fundação da empresa Unity Technologies, na Dinamarca.
2005: Unity 1 lançado na WWDC da Apple, somente para Mac na época.
2007: Unity 2.0.
2008: Unity iPhone, companhia triplicou de tamanho, provedor de middleware
autorizado para o Wii.
2009: Primeira versão gratuita!
HISTÓRICO
2010: Asset Store, 250k desenvolvedores, Unity 3.0, Unity Android.

2011: 500k desenvolvedores, Rochard (primeiro jogo na PSN).
2012: Unity 3.5, Preview do Unity 4 e suporte a Linux, 1M desenvolvedores.
2013: Unity 2D Tools, Unity Cloud, Unity Games, Publicação gratuita, Xbox One,
Blackberry 10.
FACILIDADES
IDE totalmente integrada ao motor/engine

Multiplataforma
Comunidade ativa
Documentação rica
Fácil colaboração
Loja de recursos (Asset Store)

Linguagens: Boo, Javascript e C#
FACILIDADES
Preview instantâneo

Efeitos prontos: Shaders, Sombras, HDR, Lens Effects, Ambient Occlusion e muitos
outros!
 Suporte a: bump mapping, reflection mapping, parallax mapping, screen space ambient
occlusion (SSAO), dynamic shadows using shadow maps, render-to-texture, full-screen post-processing
effects.
 Suporta shaders desenvolvidos em programação declarativa: HLSL, GLSL, Cg.
 Suporta PhysX.

Suporta assets em formatos:
 3ds Max, Maya, Softimage, Blender, Modo, ZBrush, Cinema 4D, Cheetah3D, Adobe Photoshop, Adobe
Fireworks, Allegorithmic Substance, SketchUp, 3dStudio.
FACILIDADES
Rede e internet.

Personalização e PreFabs.
Drag n’ Drop
Direct3D e OpenGL
 Direct3D (Windows, inclusive DirectX 11), OpenGL (Mac, Windows, Linux), OpenGL ES (Android, iOS),
e APIs proprietárias (Wii)

Scripting com suporte a banco de dados, expressões regulares, XML, arquivos e
rede.
Algumas funcionalidades estão disponíveis apenas na versão Pro.
MEUS JOGOS VÃO RODAR ONDE?
Unity (free):

Unity Pro:

Bônus: Consoles!

iOS,

Pro publishing for iOS,

Wii U,

Android,

Android,

Xbox 360,

Windows Store,

Windows Store,

Xbox One (2014),

Windows Phone,
BlackBerry,
Desktop,
Web.
Gratuito!

Windows Phone,
BlackBerry.

Disponível em licença
(US$ 1500) ou assinatura
(US$ 75/mês).

PS3,
PS4,
PS Vita / Mobile.
Algumas plataformas
possuem restrições.
E DÁ PRA USAR NO MEU COMPUTADOR?
Requisitos de Sistema para o desenvolvimento com Unity:

Windows XP SP2 ou posterior; Windows 7 SP1; Mac OS X "Snow Leopard" 10.6 ou
posterior.
Placas de vídeo com capacidades de DirectX 9 (shader model 2.0). Qualquer placa
feita desde 2004 deve funcionar.
DETALHES ESPECÍFICOS DE PLATAFORMAS
iOS:

Android:

Windows Store/Phone:

OS X

Android SDK e JDK

Windows 8 Pro

Xcode 4.3

Android 2.0 ou superior.

Windows Phone SDK 8.0
Visual Studio 2012

Somente a versão do
OS X faz build para
iOS!

Recomendado:
ARMv7 CPU ou superior,
Suporte a OpenGLES
2.0.

Não é possível desenvolver
apps de Windows Phone 8
no Windows 7 ou Server
2008/2012!
EDITOR DE TERRENOS
Árvores,
Arbustos,
Pedras,
Grama,

Texturas,
Lightmaps,
Mais!
FÍSICA
Suporte ao Nvidia PhysX.

Corpos rígidos e macios (soft and rigid bodies).
Tecidos (cloth).
Materiais.
Ragdolls.
Juntas.

Carros.
Partículas.
SOM
Filtros, distorção,

reverberação, ecos,
3D ou 2D,
distância e volume.
CÓDIGO
Javascript

C#
Boo (python-like)
Integrado com IDE’s
 (Visual Studio, por exemplo)

Código multiplataforma
 (Monodevelop)
O QUE JÁ FIZERAM?
UNITE 2012

Várias jogos!
INTERFACE GERAL
CONCEITOS
Game Object
 Posição
 Escala
 Rotação

Assets





Imagens
Modelos 3D
Sons
Outros arquivos

Packages: permite transferir gameobjects e assets, com suas dependências
Create Other
Components: atribuem comportamentos, aparência e funções. São anexados aos objetos.
Colliders

Camera: estáticas, animadas, anexadas a personagens ou a objetos do cenário. Podem receber efeitos: motion blur, lens flare, luz.
Skybox
Controle de Versão
CONCEITOS
Scenes





Áreas do jogo
Menus
Fases
Telas

Áudio
 Audio Source
 Audio Listener
CHÃO
Plane

Texture
Bumpmap
CAIXA
Component

Rigidbody: objetos que serão afetados pela física do jogo.





Massa
Gravidade
Velocidade
Atrito

Detecção de colisão

 Componente Collider
 Box Collider, Mesh Collider

Textura

 Normal
 Difusa
 Malha
LUZES
Direcional

Pontual
Holofote / spotlight
Area
BOLA
Physics

Material
ÁRVORE
Cyllinder
PREFABS
Conteúdo compartilhado

Padronização de objetos
Otimização
Centralização de alterações
SCRIPTS
Variável: no código e no editor

Scripts modulares permitem atribuir diversos comportamentos a objetos diferentes
Veja cada script como uma classe
Gameobjects
Transform
Rigidbody

Collider
Audio
MÉTODOS
Start

Update
FixedUpdate
OnCollisionEnter
OnCollisionStay
OnCollisionOut
CHARACTER CONTROLLER
PushBodies

OnControllerColliderHit
BUILDING
Não esqueça de adicionar cenas
CONTROLE DE VERSÃO
Usando Git:
 Edit > Project Settings > Editor
 Mode: Visible Meta Files
 Asset Serialization: Force Text
CONTROLE DE VERSÃO
.gitignore

(Arquivos que podem ser ignorados no controle de versão)
REFERÊNCIAS E MATERIAIS DE ESTUDO
Canal GamesIndie no Youtube: http://www.youtube.com/user/GamesIndie

Documentação do Unity: http://unity3d.com/learn/documentation
Livro: Beginning 3D Game Development with Unity 4: http://www.amazon.co...
Unity 3D Training Video: http://walkerboystudio.com/html/unity...
DÚVIDAS
DESENVOLVENDO JOGOS COM UNITY
Erick Mendonça – erickrms@dcomp.ufs.br

Unity 3D

Desenvolvendo jogos com unity