SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Globalcode – Open4education
Trilha Games – Desenvolvimento de Jogos Multiplataforma
Rafael Martins
Globalcode – Open4education
Agenda
Introdução
Porque desenvolver jogos multiplataforma
Engines, aspectos técnicos e serviços
Plataformas emergentes
Cases
Globalcode – Open4education
Rafael Martins
~15 anos atuando na área de jogos digitais / mobile
Skyzone Entertainment
Electronic Arts
Hive
Cavylabs
Doutorando em Engenharia da Computação
(Jogos multiplataforma, interação e acessibilidade)
Globalcode – Open4education
Quanta enrolação...
É só clicar em Build All
=
Globalcode – Open4education
Porque desenvolver jogos
multiplataforma ?
Conhecimento em diferentes sistemas operacionais e hardware
do mercado
Possibilidade de trabalhar com tecnologias emergentes
Maiores chances de ganhar visibilidade e reputação no mercado
(... e dinheiro)
Aprender a lidar com diferentes tipos de interação (game design)
Globalcode – Open4education
Desafios
Experiência em sistemas e linguagens diferentes
Variações físicas e proporções de tela
Sistema de arquivos
Suporte a diferentes GPUs
Integração de serviços
Globalcode – Open4education
Engines
Proprietárias
Unity3d
http://unity3d.com
Cocos2d-x (C++ / CocosCreator)
http://www.cocos2d-x.org
Unreal
http://www.unrealengine.com
GameMaker
http://www.yoyogames.com/gamemaker
Globalcode – Open4education
Comparação entre engines
Globalcode – Open4education
Soluções / Ferramentas
FMOD (Audio)
http://www.fmod.org
Wwise (Audio)
http://www.audiokinetic.com
Suporte a compactação de sprites (2d)
Texture Packer (http://www.codeandweb.com/texturepacker)
Mapas
Tiled (http://mapeditor.org)
Globalcode – Open4education
Pré-processamento
Diretivas de Pré-Processamento
São chamadas pelo compilador para executar código específico
por plataforma
Diretivas condicionais: #if, #else, #elif, ...
Diferenças entre linguagens (macros)
Globalcode – Open4education
Pré-processamento
using UnityEngine;
using System.Collections;
public class Directives: MonoBehaviour {
void Start () {
#if UNITY_WSA
callWindowsLeaders();
#elif UNITY_IOS
callGameCenter();
#elif UNITY_ANDROID
callGooglePlay();
#else
createDialog(
“Não há leaderboards”);
#endif
}
}
Diretiva Compila o que...
UNITY_EDITO
R
Scripts para editor da Unity
UNITY_IOS Scripts para iOS
UNITY_TVOS Scripts para tvOS
UNITY_ANDR
OID
Scripts para Android
UNITY_WSA Scripts para plataforma
universal da Microsoft
UNITY_PS4 Scripts para PS4
Globalcode – Open4education
Interoperabilidade
Termo comum nas áreas de porting e conversão de plataformas
Execução de código implementado em uma linguagem A dentro
de um sistema implementado em uma linguagem B
JNI (Java Native Interface), Managed Code, Javascript Bindings
Globalcode – Open4education
Interoperabilidade
C++ JNI Java
void Classe:callVibrate(){
#if ANDROID
NativeUtils::vibrate();
#endif
}
void NativeUtils::vibrate(){
JniMethodInfo minfo;
if(JniHelper::getStaticMethodInfo(
minfo,
“com/domínio/app/ClassePrincipal”,
“vibrate”)){
minfo.env-
>CallStaticVoidMethod(minfo.classID
, minfo.methodID);
minfo.env-
>DeleteLocalRef(minfo.classID);
}
}
public static void vibrate(){
Vibrator v = (Vibrator)
getSystemService(Context.VIBRATOR_SER
VICE);
v.vibrate(500);
}
Globalcode – Open4education
Serviços
Propaganda (Ad Units), IAP (Compras), Retenção, Ranking, Achievements,
Redes sociais, Push Notifications, Age Cheq
App Stores, Analytics
Unity Asset Store
http://assetstore.unity.com
SDKBox
http://www.cocos2d-x.org/sdkbox
Playfab
https://playfab.com
Gamesparks
https://www.gamesparks.com
Globalcode – Open4education
Novas/Emergentes
VR,AR, IoT, Sensores, Instant Games
Adaptação de controles e design
Hardware específico
Geolocalização
Acessibilidade
Segurança
Globalcode – Open4education
P&D
Investimento em pesquisa e desenvolvimento (R&D)
Testes em outras plataformas / engines podem dar certo
Angry Birds (Rovio) = 14 plataformas
Cut the Rope (ZeptoLab) = 12 plataformas
Badlands (Frogmind) = 4 plataformas
Timberman (7 plataformas)
Globalcode – Open4education
Q&A
Perguntas?
Globalcode – Open4education
Obrigado!
Rafael Martins
ra.martins13@gmail.com / rafael.martins@cavylabs.com
Equipe TDC
Luis Daher
Polly / Lucas
Jas3 / Cavylabs / Kishimoto Studios / Harlio Bots
Desenvolvimento de Jogos Multiplataforma

Mais conteúdo relacionado

Semelhante a Desenvolvimento de Jogos Multiplataforma

Como testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem práticaComo testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem práticaElias Nogueira
 
TDC2014 - Desenvolvendo com CocoSharp e Intel Perceptual
TDC2014 - Desenvolvendo com CocoSharp e Intel PerceptualTDC2014 - Desenvolvendo com CocoSharp e Intel Perceptual
TDC2014 - Desenvolvendo com CocoSharp e Intel PerceptualPedro Kayatt
 
Criando games em c# utilizando o unity
Criando games em c# utilizando o unity Criando games em c# utilizando o unity
Criando games em c# utilizando o unity MVP Microsoft
 
Win301 caio garcez_uwp_bridges
Win301 caio garcez_uwp_bridgesWin301 caio garcez_uwp_bridges
Win301 caio garcez_uwp_bridgesCaio Chaves Garcez
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediAlessandro Binhara
 
Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Erisvaldo Junior
 
Minicurso RealSense SDK
Minicurso RealSense SDKMinicurso RealSense SDK
Minicurso RealSense SDKFelipe Pedroso
 
Apresentação JAVOU 5
Apresentação JAVOU 5Apresentação JAVOU 5
Apresentação JAVOU 5Bruno Muniz
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)Ricardo Rufino
 
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisSeminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisRogério Moraes de Carvalho
 
Engenharia de Software para Jogos
Engenharia de  Software para JogosEngenharia de  Software para Jogos
Engenharia de Software para JogosRicardo Leite
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
 
Curso de Android - Módulo 02
Curso de Android - Módulo 02Curso de Android - Módulo 02
Curso de Android - Módulo 02Luiz Duarte
 

Semelhante a Desenvolvimento de Jogos Multiplataforma (20)

Como testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem práticaComo testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem prática
 
Mobile Game Development.pptx
Mobile Game Development.pptxMobile Game Development.pptx
Mobile Game Development.pptx
 
Windows 10 Anniversary Update
Windows 10 Anniversary UpdateWindows 10 Anniversary Update
Windows 10 Anniversary Update
 
TDC2014 - Desenvolvendo com CocoSharp e Intel Perceptual
TDC2014 - Desenvolvendo com CocoSharp e Intel PerceptualTDC2014 - Desenvolvendo com CocoSharp e Intel Perceptual
TDC2014 - Desenvolvendo com CocoSharp e Intel Perceptual
 
Criando games em c# utilizando o unity
Criando games em c# utilizando o unity Criando games em c# utilizando o unity
Criando games em c# utilizando o unity
 
Win301 caio garcez_uwp_bridges
Win301 caio garcez_uwp_bridgesWin301 caio garcez_uwp_bridges
Win301 caio garcez_uwp_bridges
 
.NET Open Source
.NET Open Source.NET Open Source
.NET Open Source
 
.NET Open Source 2009
.NET Open Source 2009.NET Open Source 2009
.NET Open Source 2009
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
 
Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2
 
Minicurso RealSense SDK
Minicurso RealSense SDKMinicurso RealSense SDK
Minicurso RealSense SDK
 
Apresentando .NET
Apresentando .NETApresentando .NET
Apresentando .NET
 
Apresentação JAVOU 5
Apresentação JAVOU 5Apresentação JAVOU 5
Apresentação JAVOU 5
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
 
Introdução ao .NET
Introdução ao .NETIntrodução ao .NET
Introdução ao .NET
 
Apresentação android
Apresentação androidApresentação android
Apresentação android
 
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisSeminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
 
Engenharia de Software para Jogos
Engenharia de  Software para JogosEngenharia de  Software para Jogos
Engenharia de Software para Jogos
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
 
Curso de Android - Módulo 02
Curso de Android - Módulo 02Curso de Android - Módulo 02
Curso de Android - Módulo 02
 

Desenvolvimento de Jogos Multiplataforma