SlideShare una empresa de Scribd logo
1 de 24
O desafio (e soluções) do
desenvolvimento multiplataforma


      Luiz Alessandro Nörnberg
          CTO, Izyplay Game Studio




                                     luiz.nornberg@izyplay.com.br
3



    Luiz Alessandro Nörnberg

•   Diretor de Tecnologia no Izyplay Game Studio
•   Editor do blog Abrindo o Jogo
•   10 anos como diretor de R&D na Gestum S.A.
•   Total de 20 anos de desenvolvimento de jogos digitais
•   Midcore gamer (sempre que dá tempo...)



        “Possuo a maior parte do EXP na parte tecnológica,
         mas já completei várias quests de game design.”
4



  Agenda

• Desafio
• Soluções
• Na prática...
Desafio
6



  Qual é mesmo o desafio?

• “Write once, run every where”
• Alcançar o maior público possível
• Alcançar o público o maior tempo possível
   – Estar sempre disponível quando o público quiser
7



  Principalmente em

• Jogos casuais
   – Cada vez mais um “serviço”, acessivel em varias
     plataformas.
   – Baixo valor comercial, “ganha na quantidade”
• Advergames
   – Nem precisa explicar...
   – Quanto mais impactados, melhor
8



  Porque é um desafio

• Infelizmente, é assim que é
• A segmentação ainda é reforçada pelos fabricantes
   – Todos querem seus apps e games
   – De preferência, SÓ na plataforma deles...
• Não existe hoje uma solução ideal crossplataforma
9



    Quais plataformas temos hoje?

•   Desktop (Web)      •   iOS
•   Smartphone         •   Android
•   Tablet             •   Windows Phone
•   Web                •   Blackberry Tablet OS (Playbook)
•   Smart TV           •   Windows 7
                       •   Windows 8
Falando em games...    •   Mac
...não esqueçamos os   •   Linuxes
consoles
Soluções
11



    Muitas opções

•   Muitos frameworks e ferramentas
•   Corona, Moai, Construct 2, Phonegap, Appmobi, etc.
•   A maioria não é para todas plataformas
•   Os mais flexíveis adicionam muitas camadas extras
•   Não raramente demandam linguagem própria ou
    pouco conhecida
12



  Tendências

• Action Script 3 (AS3)
• Javascript + HTML 5
• Unity
13



  E o Java?

• Ainda é uma possibilidade, em termos técnicos
• Presente em muitos locais (desktop, blu-ray, set-top
  box, feature phone)
• Ausente onde é importante hoje (smartphones,
  tablets, smart TVs)
• Fazem apenas 4 anos que eu sugeria Java como
  multiplataforma!
14



    Unity

•   Há tempos mantendo-se como opção multiplataforma
•   Principal opção para jogos “pesados” (leia-se 3D)
•   Windows, Linux, Mac
•   iOS, Android, Windows Phone
•   Web
•   Consoles!
15



  Flash rises

• Flash volta à cena para mobile
• Quer dizer, o AIR, Adobe Integrated Runtime
• Mesmo o AIR possui resistência em algumas
  plataformas (Windows Phone, Smart TVs)
• Atende Win 7, Mac, Linux, iOS, Android, Blackberry
• Provavelmente vai atender Win 8 e Win Phone 8
• Hoje, é a melhor tecnologia crossplataforma para
  serviços leves e médios
16



  Javascript + HTML 5

• Única crossplataforma de fato
• Desde o desktop até a Smart TV
• Potencial muito grande (hoje, apenas isso)
   – Digamos que apenas serviços leves
• Problemas:
   – Falta de ferramentas / workflow
   – Falta de padronização
   – Variações grandes no grau de suporte (WebGL,
     áudio, cache, etc)
Na prática...
18



  Apps adaptativos

• Projetos simples conseguem ter codebase única
• Projetos complexos precisam ser adaptativos
   – Sim, estou falando de IFs no código
   – Não são pecado, não...
• Diferenças grandes exigem código separado
19



  Além da implementação

• O projeto precisa prever a multiplataforma
  (principalmente o game design)
• Quando possível, projeta-se pelo mínimo
  denominador comum
• Caso contrário, teremos código separado
20



  Mesma “base” do código

• O importante é isolar a base do código, o “core”
• Ter blocos de código em separado não é realmente um
  problema, se bastar compilar cada um separadamente
21



    Ganhei multiplataforma, perdi algo?

• Sim!
• Desempenho (dependendo do projeto)
• Máxima integração com a plataforma (look and feel)
• Recursos específicos da plataforma (sensores, etc)
• Há quem critique o desenvolvimento crossplataforma
  por conta destes aspectos.
• A solução, por enquanto, é realmente portar o código.
Em conclusão
23



  AIR, HTML, Unity

• Estas são as tecnologias crossplataformas “de
  verdade”
• AIR e HTML servem para apps (além de games)
• Unity é a opção para foco apenas em jogos (consoles)

  O cenário é muito melhor do que a 3 anos atrás, mas
  certamente ainda bem pior do que daqui a 3 anos...
24



Obrigado




           luiz.nornberg@izyplay.com.br

Más contenido relacionado

Destacado

[MobiTrends] Desenvolvimento de Jogos para Dispositivos Móveis
[MobiTrends] Desenvolvimento de Jogos para Dispositivos Móveis[MobiTrends] Desenvolvimento de Jogos para Dispositivos Móveis
[MobiTrends] Desenvolvimento de Jogos para Dispositivos MóveisAlvaro Cavalcanti
 
Ferramentas Livres para o Desenvolvimento de Jogos Eletrônicos
Ferramentas Livres para o Desenvolvimento de Jogos EletrônicosFerramentas Livres para o Desenvolvimento de Jogos Eletrônicos
Ferramentas Livres para o Desenvolvimento de Jogos EletrônicosIngrid Mendes
 
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avóOtimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avóBruno Ferreira
 
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game StudioQuer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game StudioLuiz Nörnberg
 
Unite 2014 - Usando a Unity em Game Jams
Unite 2014 - Usando a Unity em Game JamsUnite 2014 - Usando a Unity em Game Jams
Unite 2014 - Usando a Unity em Game JamsBruno Campagnolo
 
Compensar 2015 - Oportunidades Mercado Mobile
Compensar 2015 - Oportunidades Mercado MobileCompensar 2015 - Oportunidades Mercado Mobile
Compensar 2015 - Oportunidades Mercado MobileMarcos Loiola
 
Desenvolvimento de Games para Mobile.
Desenvolvimento de Games para Mobile.Desenvolvimento de Games para Mobile.
Desenvolvimento de Games para Mobile.Alessandro Binhara
 
Introdução ao Desenvolvimemto de Jogos com Unity
Introdução ao Desenvolvimemto de Jogos com UnityIntrodução ao Desenvolvimemto de Jogos com Unity
Introdução ao Desenvolvimemto de Jogos com UnityWandreson Souza
 

Destacado (9)

[MobiTrends] Desenvolvimento de Jogos para Dispositivos Móveis
[MobiTrends] Desenvolvimento de Jogos para Dispositivos Móveis[MobiTrends] Desenvolvimento de Jogos para Dispositivos Móveis
[MobiTrends] Desenvolvimento de Jogos para Dispositivos Móveis
 
Ferramentas Livres para o Desenvolvimento de Jogos Eletrônicos
Ferramentas Livres para o Desenvolvimento de Jogos EletrônicosFerramentas Livres para o Desenvolvimento de Jogos Eletrônicos
Ferramentas Livres para o Desenvolvimento de Jogos Eletrônicos
 
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avóOtimização em Unity: fazendo seu jogo rodar no PC da sua avó
Otimização em Unity: fazendo seu jogo rodar no PC da sua avó
 
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game StudioQuer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
 
Unite 2014 - Usando a Unity em Game Jams
Unite 2014 - Usando a Unity em Game JamsUnite 2014 - Usando a Unity em Game Jams
Unite 2014 - Usando a Unity em Game Jams
 
Compensar 2015 - Oportunidades Mercado Mobile
Compensar 2015 - Oportunidades Mercado MobileCompensar 2015 - Oportunidades Mercado Mobile
Compensar 2015 - Oportunidades Mercado Mobile
 
Abertura - interopmix2014
Abertura - interopmix2014Abertura - interopmix2014
Abertura - interopmix2014
 
Desenvolvimento de Games para Mobile.
Desenvolvimento de Games para Mobile.Desenvolvimento de Games para Mobile.
Desenvolvimento de Games para Mobile.
 
Introdução ao Desenvolvimemto de Jogos com Unity
Introdução ao Desenvolvimemto de Jogos com UnityIntrodução ao Desenvolvimemto de Jogos com Unity
Introdução ao Desenvolvimemto de Jogos com Unity
 

Similar a Desafio do desenvolvimento multiplataforma, 2º SouWebPel

Desenvolvimento de Software para dispositivos moveis - USC
Desenvolvimento de Software para dispositivos moveis - USCDesenvolvimento de Software para dispositivos moveis - USC
Desenvolvimento de Software para dispositivos moveis - USCAntonio Marin Neto
 
Desenvolvendo aplicativos móveis com Adobe AIR
Desenvolvendo aplicativos móveis com Adobe AIRDesenvolvendo aplicativos móveis com Adobe AIR
Desenvolvendo aplicativos móveis com Adobe AIROdair Seixas
 
Palestra Dispositivos Móveis
Palestra Dispositivos MóveisPalestra Dispositivos Móveis
Palestra Dispositivos MóveisGrendene S/A
 
diferenças entre sistemas operativos
diferenças entre sistemas operativos diferenças entre sistemas operativos
diferenças entre sistemas operativos josevieirafreitas
 
Playstation Mobile - Campus Party 2013
Playstation Mobile - Campus Party 2013Playstation Mobile - Campus Party 2013
Playstation Mobile - Campus Party 2013José Farias
 
Historias de uma Startup
Historias de uma StartupHistorias de uma Startup
Historias de uma StartupEduardo Costa
 
TDC 2012 - Desenvolvimento de Jogos Mobile
TDC 2012 - Desenvolvimento de Jogos MobileTDC 2012 - Desenvolvimento de Jogos Mobile
TDC 2012 - Desenvolvimento de Jogos MobileBruno Cicanci
 
Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Felipe Pedroso
 
Limitações do HTML no Desenvolvimento de Jogos Multiplataforma
Limitações do HTML no Desenvolvimento de Jogos MultiplataformaLimitações do HTML no Desenvolvimento de Jogos Multiplataforma
Limitações do HTML no Desenvolvimento de Jogos MultiplataformaJean Carlo Machado
 
Desenvolvimento de Jogos Para Dispositivos Móveis - UFRJ - GECOM2011
Desenvolvimento de Jogos Para Dispositivos Móveis - UFRJ - GECOM2011Desenvolvimento de Jogos Para Dispositivos Móveis - UFRJ - GECOM2011
Desenvolvimento de Jogos Para Dispositivos Móveis - UFRJ - GECOM2011Bruno Cicanci
 
HTML5 Mobile Aula 1
HTML5 Mobile Aula 1HTML5 Mobile Aula 1
HTML5 Mobile Aula 1Jose Berardo
 
Fundamentos do desenvolvimento mobile - Daniel da cruz do amaral rocha
Fundamentos do desenvolvimento mobile - Daniel da cruz do amaral rochaFundamentos do desenvolvimento mobile - Daniel da cruz do amaral rocha
Fundamentos do desenvolvimento mobile - Daniel da cruz do amaral rochaDanielAmaral70
 
Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011Tadeu Araujo
 
Windows 10 technical preview - design and news
Windows 10 technical preview - design and newsWindows 10 technical preview - design and news
Windows 10 technical preview - design and newsRicardo Guerra Freitas
 

Similar a Desafio do desenvolvimento multiplataforma, 2º SouWebPel (20)

Mobile Game Development.pptx
Mobile Game Development.pptxMobile Game Development.pptx
Mobile Game Development.pptx
 
Desenvolvimento de Software para dispositivos moveis - USC
Desenvolvimento de Software para dispositivos moveis - USCDesenvolvimento de Software para dispositivos moveis - USC
Desenvolvimento de Software para dispositivos moveis - USC
 
Windows 10 Technical Preview
Windows 10 Technical PreviewWindows 10 Technical Preview
Windows 10 Technical Preview
 
Desenvolvendo aplicativos móveis com Adobe AIR
Desenvolvendo aplicativos móveis com Adobe AIRDesenvolvendo aplicativos móveis com Adobe AIR
Desenvolvendo aplicativos móveis com Adobe AIR
 
Palestra Dispositivos Móveis
Palestra Dispositivos MóveisPalestra Dispositivos Móveis
Palestra Dispositivos Móveis
 
diferenças entre sistemas operativos
diferenças entre sistemas operativos diferenças entre sistemas operativos
diferenças entre sistemas operativos
 
Games imersivos
Games imersivosGames imersivos
Games imersivos
 
Playstation Mobile - Campus Party 2013
Playstation Mobile - Campus Party 2013Playstation Mobile - Campus Party 2013
Playstation Mobile - Campus Party 2013
 
Unity3d dev in
Unity3d dev inUnity3d dev in
Unity3d dev in
 
Historias de uma Startup
Historias de uma StartupHistorias de uma Startup
Historias de uma Startup
 
TDC 2012 - Desenvolvimento de Jogos Mobile
TDC 2012 - Desenvolvimento de Jogos MobileTDC 2012 - Desenvolvimento de Jogos Mobile
TDC 2012 - Desenvolvimento de Jogos Mobile
 
Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8
 
Cocos 2d
Cocos 2dCocos 2d
Cocos 2d
 
Limitações do HTML no Desenvolvimento de Jogos Multiplataforma
Limitações do HTML no Desenvolvimento de Jogos MultiplataformaLimitações do HTML no Desenvolvimento de Jogos Multiplataforma
Limitações do HTML no Desenvolvimento de Jogos Multiplataforma
 
Desenvolvimento de Jogos Para Dispositivos Móveis - UFRJ - GECOM2011
Desenvolvimento de Jogos Para Dispositivos Móveis - UFRJ - GECOM2011Desenvolvimento de Jogos Para Dispositivos Móveis - UFRJ - GECOM2011
Desenvolvimento de Jogos Para Dispositivos Móveis - UFRJ - GECOM2011
 
HTML5 Mobile Aula 1
HTML5 Mobile Aula 1HTML5 Mobile Aula 1
HTML5 Mobile Aula 1
 
Fundamentos do desenvolvimento mobile - Daniel da cruz do amaral rocha
Fundamentos do desenvolvimento mobile - Daniel da cruz do amaral rochaFundamentos do desenvolvimento mobile - Daniel da cruz do amaral rocha
Fundamentos do desenvolvimento mobile - Daniel da cruz do amaral rocha
 
Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011
 
Windows 10 technical preview - design and news
Windows 10 technical preview - design and newsWindows 10 technical preview - design and news
Windows 10 technical preview - design and news
 
Comparativo entre Engines de Jogos em 3d
Comparativo entre Engines de Jogos em 3dComparativo entre Engines de Jogos em 3d
Comparativo entre Engines de Jogos em 3d
 

Más de Luiz Nörnberg

TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começar
TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começarTechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começar
TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começarLuiz Nörnberg
 
SACEE 2015 - Ferramentas úteis para projetos de software
SACEE 2015 - Ferramentas úteis para projetos de softwareSACEE 2015 - Ferramentas úteis para projetos de software
SACEE 2015 - Ferramentas úteis para projetos de softwareLuiz Nörnberg
 
Palestra AnimeBomb 2015
Palestra AnimeBomb 2015Palestra AnimeBomb 2015
Palestra AnimeBomb 2015Luiz Nörnberg
 
Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)Luiz Nörnberg
 
Uma passagem secreta para a indústria de jogos
Uma passagem secreta para a indústria de jogosUma passagem secreta para a indústria de jogos
Uma passagem secreta para a indústria de jogosLuiz Nörnberg
 
Quer fazer um jogo? Começe aqui!
Quer fazer um jogo? Começe aqui!Quer fazer um jogo? Começe aqui!
Quer fazer um jogo? Começe aqui!Luiz Nörnberg
 

Más de Luiz Nörnberg (8)

TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começar
TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começarTechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começar
TechParty FACCAT 2017 - Desenvolvimento de jogos digitais, por onde começar
 
Sem. acad. TADS 2015
Sem. acad. TADS 2015Sem. acad. TADS 2015
Sem. acad. TADS 2015
 
SACEE 2015 - Ferramentas úteis para projetos de software
SACEE 2015 - Ferramentas úteis para projetos de softwareSACEE 2015 - Ferramentas úteis para projetos de software
SACEE 2015 - Ferramentas úteis para projetos de software
 
Palestra Sacomp 2015
Palestra Sacomp 2015Palestra Sacomp 2015
Palestra Sacomp 2015
 
Palestra AnimeBomb 2015
Palestra AnimeBomb 2015Palestra AnimeBomb 2015
Palestra AnimeBomb 2015
 
Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)
 
Uma passagem secreta para a indústria de jogos
Uma passagem secreta para a indústria de jogosUma passagem secreta para a indústria de jogos
Uma passagem secreta para a indústria de jogos
 
Quer fazer um jogo? Começe aqui!
Quer fazer um jogo? Começe aqui!Quer fazer um jogo? Começe aqui!
Quer fazer um jogo? Começe aqui!
 

Desafio do desenvolvimento multiplataforma, 2º SouWebPel

  • 1.
  • 2. O desafio (e soluções) do desenvolvimento multiplataforma Luiz Alessandro Nörnberg CTO, Izyplay Game Studio luiz.nornberg@izyplay.com.br
  • 3. 3 Luiz Alessandro Nörnberg • Diretor de Tecnologia no Izyplay Game Studio • Editor do blog Abrindo o Jogo • 10 anos como diretor de R&D na Gestum S.A. • Total de 20 anos de desenvolvimento de jogos digitais • Midcore gamer (sempre que dá tempo...) “Possuo a maior parte do EXP na parte tecnológica, mas já completei várias quests de game design.”
  • 4. 4 Agenda • Desafio • Soluções • Na prática...
  • 6. 6 Qual é mesmo o desafio? • “Write once, run every where” • Alcançar o maior público possível • Alcançar o público o maior tempo possível – Estar sempre disponível quando o público quiser
  • 7. 7 Principalmente em • Jogos casuais – Cada vez mais um “serviço”, acessivel em varias plataformas. – Baixo valor comercial, “ganha na quantidade” • Advergames – Nem precisa explicar... – Quanto mais impactados, melhor
  • 8. 8 Porque é um desafio • Infelizmente, é assim que é • A segmentação ainda é reforçada pelos fabricantes – Todos querem seus apps e games – De preferência, SÓ na plataforma deles... • Não existe hoje uma solução ideal crossplataforma
  • 9. 9 Quais plataformas temos hoje? • Desktop (Web) • iOS • Smartphone • Android • Tablet • Windows Phone • Web • Blackberry Tablet OS (Playbook) • Smart TV • Windows 7 • Windows 8 Falando em games... • Mac ...não esqueçamos os • Linuxes consoles
  • 11. 11 Muitas opções • Muitos frameworks e ferramentas • Corona, Moai, Construct 2, Phonegap, Appmobi, etc. • A maioria não é para todas plataformas • Os mais flexíveis adicionam muitas camadas extras • Não raramente demandam linguagem própria ou pouco conhecida
  • 12. 12 Tendências • Action Script 3 (AS3) • Javascript + HTML 5 • Unity
  • 13. 13 E o Java? • Ainda é uma possibilidade, em termos técnicos • Presente em muitos locais (desktop, blu-ray, set-top box, feature phone) • Ausente onde é importante hoje (smartphones, tablets, smart TVs) • Fazem apenas 4 anos que eu sugeria Java como multiplataforma!
  • 14. 14 Unity • Há tempos mantendo-se como opção multiplataforma • Principal opção para jogos “pesados” (leia-se 3D) • Windows, Linux, Mac • iOS, Android, Windows Phone • Web • Consoles!
  • 15. 15 Flash rises • Flash volta à cena para mobile • Quer dizer, o AIR, Adobe Integrated Runtime • Mesmo o AIR possui resistência em algumas plataformas (Windows Phone, Smart TVs) • Atende Win 7, Mac, Linux, iOS, Android, Blackberry • Provavelmente vai atender Win 8 e Win Phone 8 • Hoje, é a melhor tecnologia crossplataforma para serviços leves e médios
  • 16. 16 Javascript + HTML 5 • Única crossplataforma de fato • Desde o desktop até a Smart TV • Potencial muito grande (hoje, apenas isso) – Digamos que apenas serviços leves • Problemas: – Falta de ferramentas / workflow – Falta de padronização – Variações grandes no grau de suporte (WebGL, áudio, cache, etc)
  • 18. 18 Apps adaptativos • Projetos simples conseguem ter codebase única • Projetos complexos precisam ser adaptativos – Sim, estou falando de IFs no código – Não são pecado, não... • Diferenças grandes exigem código separado
  • 19. 19 Além da implementação • O projeto precisa prever a multiplataforma (principalmente o game design) • Quando possível, projeta-se pelo mínimo denominador comum • Caso contrário, teremos código separado
  • 20. 20 Mesma “base” do código • O importante é isolar a base do código, o “core” • Ter blocos de código em separado não é realmente um problema, se bastar compilar cada um separadamente
  • 21. 21 Ganhei multiplataforma, perdi algo? • Sim! • Desempenho (dependendo do projeto) • Máxima integração com a plataforma (look and feel) • Recursos específicos da plataforma (sensores, etc) • Há quem critique o desenvolvimento crossplataforma por conta destes aspectos. • A solução, por enquanto, é realmente portar o código.
  • 23. 23 AIR, HTML, Unity • Estas são as tecnologias crossplataformas “de verdade” • AIR e HTML servem para apps (além de games) • Unity é a opção para foco apenas em jogos (consoles) O cenário é muito melhor do que a 3 anos atrás, mas certamente ainda bem pior do que daqui a 3 anos...
  • 24. 24 Obrigado luiz.nornberg@izyplay.com.br