Gaming 
William Higino 
Nathan Cruz 
Mercado de jogos, e Desenvolvimento utilizando Unity
O Mercado 
Entre as alternativas de 
entretenimento, os jogos digitais 
estão entre os que vêm 
apresentando as maiores taxas de 
crescimento... 
... Estima-se que suas vendas sejam duas vezes 
maiores que as da indústria fonográfica, e que 
devam crescer mais rapidamente que as do 
setor cinematográfico até 2016 
(BNDES: Mapeamento da Indústria Brasileira e 
Global de Jogos Digitais 2014)
O Mercado
O Mercado (EUA) 
Fonte: esa – entertainment software association
O Mercado (EUA) 
Fonte: esa – entertainment software association
Desenvolvimento no Brasil 
• 133 Empresas de Desenvolvimento 
• 1133 Trabalhadores 
• 92 empresas tem 9 ou menos pessoas 
Fonte: I Censo da Indústria de Jogos Digitais
• IDE e Engine para desenvolvimento de jogos, 
com suporte a integração com diversas 
tecnologias atuais 
• Multi-plataforma 
– Windows, Mac, WebPlayer, Linux 
– IOS, Android, Windows Phone 
– PS3, PS4, Xbox360, Xbox One, Wii U 
• Suíte de desenvolvimento disponível apenas 
para Windows e Mac.
Principais Tecnologias 
• Arquitetura focada para plug-ins 
• Scripting simplificado utilizando frameworks e 
diferentes linguagens 
• Suporte a Shaders 
• Animação 3D (Mecanim) 
• Sistema de partículas (Shuriken) 
• Física In-game (PhysX) 
• Controle de Áudio
Plug-ins Populares 
2DToolkit – Adaptação da IDE para 
desenvolvimento 2D 
iTween – Facilita o gerenciamento de objetos em 
cena (Translação, rotação, escala, câmera, 
vetores, etc)
Plug-ins Populares 
NGUI – Criação de UI incluindo botões, textos, imagens, 
checkboxes, dropdowns, entre outros. 
PlayMaker – Criação de máquinas de estado com 
objetos da cena, permitindo iniciar ou customizar 
comportamentos, conforme o momento do jogo.
Scripts 
• Linguagens 
– C# 
– Javascript 
– Boo 
• Frameworks 
– Mono 2.6 
– UnityEngine 
– .Net
Scripts 
 Usados para atribuir comportamentos aos 
objetos. 
 Utilizam a mesma API, independente da 
linguagem escolhida. 
 Podem ser levados para diferentes objetos, 
podendo possuir parâmetros específicos em 
cada um, além de valores padrão. (herança)
using UnityEngine; 
using System.Collections; 
public class TransformFunctions : MonoBehaviour{ 
public float moveSpeed = 10f; 
public float turnSpeed = 50f; 
void Update (){ 
if(Input.GetKey(KeyCode.UpArrow)) 
transform.Translate(Vector3.forward * moveSpeed * 
Time.deltaTime); 
else if(Input.GetKey(KeyCode.DownArrow)) 
transform.Translate(-Vector3.forward * moveSpeed 
* Time.deltaTime); 
else if(Input.GetKey(KeyCode.LeftArrow)) 
transform.Rotate(Vector3.up, -turnSpeed * 
Time.deltaTime); 
else if(Input.GetKey(KeyCode.RightArrow)) 
transform.Rotate(Vector3.up, turnSpeed * 
Time.deltaTime); 
} 
}
Shaders 
• Uso de Shaders embutidos (Utilizam CG/Nvidia HLSL), 
podendo ser customizados utilizando ShaderLab (sintaxe 
similar a CSS) 
// colored vertex lighting 
Shader "Simple colored lighting" { 
// a single color property 
Properties { 
_Color ("Main Color", Color) = (1,.5,.5,1) 
} 
// define one subshader 
SubShader { 
Pass { 
Material { 
Diffuse [_Color] 
} 
Lighting On 
} 
} 
}
Criação de Cenas
Criação de Cenas 
• Hierarquia de objetos em árvore 
• Propriedades modulares dos objetos, sendo 
configurados individualmente 
– Scripts de comportamento 
– Parâmetros de física 
– Opções de renderização 
– Parâmetros e gatilhos de áudio
Componentes do objeto
Animações 
• Utiliza o Mecanim (sistema 
de animação embutido no 
Unity), dispensando a 
necessidade de ferramentas 
externas 
• Permite a criação de 
movimentos complexos, 
utilizando movimentos 
simples e máquinas de 
estado
Física 
• Processamento realizado utilizando 
– Colliders: Detectores de colisão entre objetos 
– Rigidbody: Atribuição de um corpo como “rígido”, 
tendo então “leis da física” aplicadas ao mesmo. 
– Joints: Junções entre diferentes objetos, ou a 
pontos fixos no espaço
Física 
• Processamento realizado utilizando 
– Collision / Trigger event system: Gatilhos para 
ativar comportamentos ou eventos físicos, 
utilizando os rigidbodys dos objetos para detectar 
sua presença, ou proximidade 
– Character Controllers: Atribui ao objeto do 
jogador regras específicas de física, facilitando a 
interação física com o chão, paredes, e outros 
objetos inanimados da cena
Loja de Assets 
• Oferece recursos pré-fabricados, que podem ser 
importados diretamente nos projetos Unity: 
– Animação 
– Efeitos de áudio, músicas, som ambiente 
– Modelos 3D 
– Scripts (IA, Camera, Física, GUI, Rede, etc) 
– Sistemas de partículas 
– Shaders 
– Texturas
Exemplos 
Assassin's Creed Identity 
Exemplos
Exemplos 
Hearthstone: 
Heroes of Warcraft
Versões 
Unity (Free): Recursos Limitados em diversos aspectos 
(Gráficos, Mecânica, Áudio, etc). Permite uso comercial 
para entidades com menos de US$ 100.000,00 de receita
Bibliografia 
 https://en.wikipedia.org/wiki/Unity_%28game_engine%29 
 http://unity3d.com 
 http://unity3d.com/showcase/gallery/games 
 https://en.wikipedia.org/wiki/Hearthstone:_Heroes_of_Warcraft 
 https://en.wikipedia.org/wiki/List_of_Unity_Engine_games 
 http://developer.download.nvidia.com/shaderlibrary/webpages/hlsl_shad 
ers.html

Unity3d

  • 1.
    Gaming William Higino Nathan Cruz Mercado de jogos, e Desenvolvimento utilizando Unity
  • 2.
    O Mercado Entreas alternativas de entretenimento, os jogos digitais estão entre os que vêm apresentando as maiores taxas de crescimento... ... Estima-se que suas vendas sejam duas vezes maiores que as da indústria fonográfica, e que devam crescer mais rapidamente que as do setor cinematográfico até 2016 (BNDES: Mapeamento da Indústria Brasileira e Global de Jogos Digitais 2014)
  • 3.
  • 4.
    O Mercado (EUA) Fonte: esa – entertainment software association
  • 5.
    O Mercado (EUA) Fonte: esa – entertainment software association
  • 6.
    Desenvolvimento no Brasil • 133 Empresas de Desenvolvimento • 1133 Trabalhadores • 92 empresas tem 9 ou menos pessoas Fonte: I Censo da Indústria de Jogos Digitais
  • 7.
    • IDE eEngine para desenvolvimento de jogos, com suporte a integração com diversas tecnologias atuais • Multi-plataforma – Windows, Mac, WebPlayer, Linux – IOS, Android, Windows Phone – PS3, PS4, Xbox360, Xbox One, Wii U • Suíte de desenvolvimento disponível apenas para Windows e Mac.
  • 8.
    Principais Tecnologias •Arquitetura focada para plug-ins • Scripting simplificado utilizando frameworks e diferentes linguagens • Suporte a Shaders • Animação 3D (Mecanim) • Sistema de partículas (Shuriken) • Física In-game (PhysX) • Controle de Áudio
  • 9.
    Plug-ins Populares 2DToolkit– Adaptação da IDE para desenvolvimento 2D iTween – Facilita o gerenciamento de objetos em cena (Translação, rotação, escala, câmera, vetores, etc)
  • 10.
    Plug-ins Populares NGUI– Criação de UI incluindo botões, textos, imagens, checkboxes, dropdowns, entre outros. PlayMaker – Criação de máquinas de estado com objetos da cena, permitindo iniciar ou customizar comportamentos, conforme o momento do jogo.
  • 11.
    Scripts • Linguagens – C# – Javascript – Boo • Frameworks – Mono 2.6 – UnityEngine – .Net
  • 12.
    Scripts  Usadospara atribuir comportamentos aos objetos.  Utilizam a mesma API, independente da linguagem escolhida.  Podem ser levados para diferentes objetos, podendo possuir parâmetros específicos em cada um, além de valores padrão. (herança)
  • 13.
    using UnityEngine; usingSystem.Collections; public class TransformFunctions : MonoBehaviour{ public float moveSpeed = 10f; public float turnSpeed = 50f; void Update (){ if(Input.GetKey(KeyCode.UpArrow)) transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime); else if(Input.GetKey(KeyCode.DownArrow)) transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime); else if(Input.GetKey(KeyCode.LeftArrow)) transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime); else if(Input.GetKey(KeyCode.RightArrow)) transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime); } }
  • 14.
    Shaders • Usode Shaders embutidos (Utilizam CG/Nvidia HLSL), podendo ser customizados utilizando ShaderLab (sintaxe similar a CSS) // colored vertex lighting Shader "Simple colored lighting" { // a single color property Properties { _Color ("Main Color", Color) = (1,.5,.5,1) } // define one subshader SubShader { Pass { Material { Diffuse [_Color] } Lighting On } } }
  • 15.
  • 16.
    Criação de Cenas • Hierarquia de objetos em árvore • Propriedades modulares dos objetos, sendo configurados individualmente – Scripts de comportamento – Parâmetros de física – Opções de renderização – Parâmetros e gatilhos de áudio
  • 17.
  • 18.
    Animações • Utilizao Mecanim (sistema de animação embutido no Unity), dispensando a necessidade de ferramentas externas • Permite a criação de movimentos complexos, utilizando movimentos simples e máquinas de estado
  • 19.
    Física • Processamentorealizado utilizando – Colliders: Detectores de colisão entre objetos – Rigidbody: Atribuição de um corpo como “rígido”, tendo então “leis da física” aplicadas ao mesmo. – Joints: Junções entre diferentes objetos, ou a pontos fixos no espaço
  • 20.
    Física • Processamentorealizado utilizando – Collision / Trigger event system: Gatilhos para ativar comportamentos ou eventos físicos, utilizando os rigidbodys dos objetos para detectar sua presença, ou proximidade – Character Controllers: Atribui ao objeto do jogador regras específicas de física, facilitando a interação física com o chão, paredes, e outros objetos inanimados da cena
  • 21.
    Loja de Assets • Oferece recursos pré-fabricados, que podem ser importados diretamente nos projetos Unity: – Animação – Efeitos de áudio, músicas, som ambiente – Modelos 3D – Scripts (IA, Camera, Física, GUI, Rede, etc) – Sistemas de partículas – Shaders – Texturas
  • 22.
    Exemplos Assassin's CreedIdentity Exemplos
  • 23.
  • 24.
    Versões Unity (Free):Recursos Limitados em diversos aspectos (Gráficos, Mecânica, Áudio, etc). Permite uso comercial para entidades com menos de US$ 100.000,00 de receita
  • 25.
    Bibliografia  https://en.wikipedia.org/wiki/Unity_%28game_engine%29  http://unity3d.com  http://unity3d.com/showcase/gallery/games  https://en.wikipedia.org/wiki/Hearthstone:_Heroes_of_Warcraft  https://en.wikipedia.org/wiki/List_of_Unity_Engine_games  http://developer.download.nvidia.com/shaderlibrary/webpages/hlsl_shad ers.html