SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Destaque

[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
Alvaro 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ônicos
Ingrid 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 Studio
Luiz 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 Jams
Bruno Campagnolo
 
Compensar 2015 - Oportunidades Mercado Mobile
Compensar 2015 - Oportunidades Mercado MobileCompensar 2015 - Oportunidades Mercado Mobile
Compensar 2015 - Oportunidades Mercado Mobile
Marcos Loiola
 
Abertura - interopmix2014
Abertura - interopmix2014Abertura - interopmix2014
Abertura - interopmix2014
Alessandro Binhara
 
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 Unity
Wandreson Souza
 

Destaque (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
 

Semelhante a Desafio do desenvolvimento multiplataforma, 2º SouWebPel

Mobile Game Development.pptx
Mobile Game Development.pptxMobile Game Development.pptx
Mobile Game Development.pptx
UTAStdVandinelsonGom
 
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
Antonio Marin Neto
 
Windows 10 Technical Preview
Windows 10 Technical PreviewWindows 10 Technical Preview
Windows 10 Technical Preview
Ricardo Guerra Freitas
 
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
Odair Seixas
 
Palestra Dispositivos Móveis
Palestra Dispositivos MóveisPalestra Dispositivos Móveis
Palestra Dispositivos Móveis
Grendene S/A
 
diferenças entre sistemas operativos
diferenças entre sistemas operativos diferenças entre sistemas operativos
diferenças entre sistemas operativos
josevieirafreitas
 
Games imersivos
Games imersivosGames imersivos
Games imersivos
Alessandro Binhara
 
Playstation Mobile - Campus Party 2013
Playstation Mobile - Campus Party 2013Playstation Mobile - Campus Party 2013
Playstation Mobile - Campus Party 2013
José Farias
 
Unity3d dev in
Unity3d dev inUnity3d dev in
Unity3d dev in
Gabriel Caires
 
Historias de uma Startup
Historias de uma StartupHistorias de uma Startup
Historias de uma Startup
Eduardo Costa
 
TDC 2012 - Desenvolvimento de Jogos Mobile
TDC 2012 - Desenvolvimento de Jogos MobileTDC 2012 - Desenvolvimento de Jogos Mobile
TDC 2012 - Desenvolvimento de Jogos Mobile
Bruno Cicanci
 
Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8
Felipe Pedroso
 
Cocos 2d
Cocos 2dCocos 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
Jean 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 - GECOM2011
Bruno Cicanci
 
HTML5 Mobile Aula 1
HTML5 Mobile Aula 1HTML5 Mobile Aula 1
HTML5 Mobile Aula 1
Jose 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 rocha
DanielAmaral70
 
Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011
Tadeu 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 news
Ricardo Guerra Freitas
 
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
Maico Fernando Wilges Carn
 

Semelhante 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
 

Mais 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çar
Luiz Nörnberg
 
Sem. acad. TADS 2015
Sem. acad. TADS 2015Sem. acad. TADS 2015
Sem. acad. TADS 2015
Luiz 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 software
Luiz Nörnberg
 
Palestra Sacomp 2015
Palestra Sacomp 2015Palestra Sacomp 2015
Palestra Sacomp 2015
Luiz Nörnberg
 
Palestra AnimeBomb 2015
Palestra AnimeBomb 2015Palestra AnimeBomb 2015
Palestra AnimeBomb 2015
Luiz 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 jogos
Luiz 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
 

Mais 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!
 

Último

Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 

Último (8)

Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 

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