24
Interfaces de Games para Diferentes Telas Naked Monkey Games Pedro Kayatt e Vinicius Vecchi

Interfaces de Games para Diferentes Telas

Embed Size (px)

DESCRIPTION

Palestra dada no Intel Innovation Week sobre como planejar sua interface levando em conta as diferentes proporções de telas. Especialmente para Cocos2d-x

Citation preview

Page 1: Interfaces de Games para Diferentes Telas

Interfaces de Games para Diferentes TelasNaked Monkey GamesPedro Kayatt e Vinicius Vecchi

Page 2: Interfaces de Games para Diferentes Telas

Contos do Macaco Pelado….

• Pedro Kayatt (@pekayatt)– Msc. Engenharia de Computação – PoliMi– Mestrando da POLI-USP

• Vinicius Vecchi (@vvecchi)– Bacharel em Matemática Aplicada IME-USP

Page 3: Interfaces de Games para Diferentes Telas

Naked Monkey Ltda.

• Dois anos desenvolvendo jogos mobile• Mais de 400k downloads.• Intel Perceptual Challenge 2013 (2 dos

top10)• Entrando no mundo da Realidade Virtual

Page 4: Interfaces de Games para Diferentes Telas

Nosso problema..

• Desenvolver jogos para diferentes resoluções

– iPad – 4:3 (1024x768 e 2048x1536)– iPhone – 3:2 e 16:9 (480x320, 960x640,

1136x640)– iPhone 6 – (1334x750 e 1920x1080*)– Android (OMG…. ><)

Page 5: Interfaces de Games para Diferentes Telas

Nossa solução

• Design PRÉVIO de interface!!!

• Utilizar o máximo de ferramentas já

prontas.

• Demonstração com Cocos2D-x.

• Conceitos podem facilmente ser aplicados

a outras engines (i.e. Unity3D).

Page 6: Interfaces de Games para Diferentes Telas

Cocos2d-X

• Baseado na Cocos2D de Ricardo Quesada– Engine mais utilizada para jogos de iOS

• Popular – mais de 400k desenvolvedores• Comprovada – 7 dos 10 jogos mais

lucrativos da China• Código Aberto – GitHub e Comunidade Ativa

Page 7: Interfaces de Games para Diferentes Telas

Cocos2d-X – Qual?

• Cocos2D-X– C++– Com maior suporte a diferentes plataformas– Rápida e leve

• Cocos2D-XNA (CocoSharp)– Windows Phone– MonoGame

• Cocos2D-HTML5– Rápida (Javascript)– Multi plataforma (em navegadores)– Javascript Binding

Page 8: Interfaces de Games para Diferentes Telas

Cocos2d-X – Arquitetura

Page 9: Interfaces de Games para Diferentes Telas

Cocos2d-X – Multi Resolution

• Suporte na Cocos2d-x 2.04 em diante.• Capacidade de descobrir a resolução do

dispositivo.• Definição do que é chamado Resolução De

Design (Design Resolution)

Page 10: Interfaces de Games para Diferentes Telas

Cocos2d-X – Explicando

Page 11: Interfaces de Games para Diferentes Telas

Cocos2d-X – Como assim?

Sendo:RW – Largura do resourceDW – Largura do DesignSW – Largura da Tela

A primeira transformação é adaptar o tamanho da imagem à resolução de design. Isso é feito pelo próprio artista/desenvolvedor.

Notem a “Letter box”

Corte lateral do Fundo

Page 12: Interfaces de Games para Diferentes Telas

Cocos2d-X – Agora para a tela!

Agora temos que definir como queremos que nossa resolução deve ser transcrita para a tela do dispositivo

Existem cinco tipos em geral:

• ShowAll• ExactFit• NoBorder

Page 13: Interfaces de Games para Diferentes Telas

Cocos2d-X – Agora para a tela! (2)Existem cinco tipos em geral:

• FixedHeight• FixedWidth

• Sendos estes últimos 2 os mais indicados para se utilizar.

Page 14: Interfaces de Games para Diferentes Telas

Exemplos - Badaboom

• Jogo com Design Resolution 1920x1080

• Desenvolvimento inicalmente para o Intel Perceptual Challenge 2013

• Interface com objetos interativos

Page 15: Interfaces de Games para Diferentes Telas

Exemplos - Badaboom

Page 16: Interfaces de Games para Diferentes Telas

Exemplos - Badaboom

Page 17: Interfaces de Games para Diferentes Telas

Exemplos - Badaboom

Page 18: Interfaces de Games para Diferentes Telas

Exemplos – Domino Gang

• Jogo com Design Resolution 1280x960

• Jogo de Dominó multiplayer local: “Party Game”

• Interface simplificada de botões e menus.

Page 19: Interfaces de Games para Diferentes Telas

Exemplos - Domino Gang

Page 20: Interfaces de Games para Diferentes Telas

Exemplos - Domino Gang

Page 21: Interfaces de Games para Diferentes Telas

Exemplos - Domino Gang

Page 22: Interfaces de Games para Diferentes Telas

Exemplos - Domino Gang

Page 23: Interfaces de Games para Diferentes Telas

Conclusão

• Planeje sua interface com antecedência!!!• Posicionar objetos através de código para

posições relativas da tela é sempre uma boa opção em designs “flutuantes”.

• Prepare sempre backgrounds que possam ter áreas mortas.

Page 24: Interfaces de Games para Diferentes Telas

Obrigado!

@pekayatt

@vvecchi

@nakedmonkeyG

www.nakedmonkey.com.br