Tcc Desenvolvimento de Interface Gráfica Para Jogo Interativo de Escape
Desenvolvimento de um jogo interativo para plataforma web ... · Desenvolvimento de um jogo...
Transcript of Desenvolvimento de um jogo interativo para plataforma web ... · Desenvolvimento de um jogo...
Thiago Tatsuo NagaokaOrientador: Professor Marco Dimas Gubitoso
novembro de 2013
Desenvolvimento de um jogo interativo para plataforma web integrado à rede social
Instituto de Matemática e Estatística da Universidade de São Paulo
MAC0499 Trabalho de Formatura Supervisionado
INTRODUÇÃO
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
OBJETIVOS
● Desenvolver e implementar um jogo para plataforma web integrado com a rede social Facebook.
● Jogo no estilo Tower Defense
● Explorar as ferramentas oferecidas pela API do facebook para tornar o jogo interativo entre os usuários
INTRODUÇÃO
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
MOTIVAÇÃO
● Popularização das redes sociais e jogos sociais
● Investimento nesta área
● Adquirir conhecimento e experiência no desenvolvimento de um jogo voltado para este mercado
INTRODUÇÃO
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
JOGOS E O “MERCADO SOCIAL”
● Casualidade
● Interatividade
● Competitividade
● Conectividade
FERRAMENTAS E TECNOLOGIAS
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
ENGINE UNITY 3D
● Game engine multi-plataforma criado pela Unity Technologies
● Ascensão no mercado
● Cartoon Network, Coca-Cola, Disney, Electronic Arts, LEGO, Microsoft, NASA, Nickelodeon, Ubisoft e Warner Bros
FERRAMENTAS E TECNOLOGIAS
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
ENGINE UNITY 3D
● Plataformas
○ iOS e Android;
○ Windows, Mac OS e Linux;
○ Web Player
- Adobe Flash
- Unity Web Player
○ Video-games consoles Playstation 3, Xbox 360 e Wii;
FERRAMENTAS E TECNOLOGIAS
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
ENGINE UNITY 3D
● Bibliotecas, Recursos e Componentes
○ javascript, C# e boo script
○ Biblioteca de física, detector de colisão e ferramentas para animação
○ Importar objetos 3D externos
■ Maya
■ Blender
■ 3D Max
FERRAMENTAS E TECNOLOGIAS
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
FACEBOOK API
● Conjunto de padrões e rotinas pré-estabelecidas
● API Graph
● Perfil, lista de amigos, postagens, fotos, preferências, entre outros.
● Possível recuperar objetos, excluir e publicar, atualizar, filtrar resultados
FERRAMENTAS E TECNOLOGIAS
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
UNITY FACEBOOK SDK
● Classes e funções
● Simples e eficaz
FERRAMENTAS E TECNOLOGIAS
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
UNITY FACEBOOK SDK
● Invite/Request
FB.AppRequest( message: "Come to see this
amazing game!", title: "Come join me with Unity!", callback: FeedCallback );
FERRAMENTAS E TECNOLOGIAS
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
UNITY FACEBOOK SDK
● Post
FB.Feed(link: "https://apps.facebook.com/tdfortcc/",linkName: "Stop the bears!!",linkCaption: "I'm playing this amazing Game!",linkDescription: "My current score is " + score + ". I
challenge everyone!",picture: "https://linux.ime.usp.br/~tatsuo/tcc/bearIcon128.jpg",callback: FeedCallback
);
DESENVOLVIMENTO
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
O JOGO
● Tower Defense
● Estratégia, onde o objetivo é tentar impedir que inimigos cruzem o mapa
● Horda de inimigos
● Construir torres que atacam os inimigos para eliminá-los antes de alcançar o ponto objetivo
● Os inimigos e torres tem habilidades diferentes, custos e melhorias
DESENVOLVIMENTO
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
ESTRUTURA
● Unity Web Game integrado ao Canvas do Facebook
● Unity Web Game e códigos PHP hospedados na rede linux
● Banco de dados no servidor data.ime.usp.br (disponibilizado para disciplina de Laboratório de Banco de Dados)
DESENVOLVIMENTO
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
PLANEJAMENTO
● Padrões de projetos (Design Patterns)○ Singleton○ Factory○ State
● Modelo Iterativo e
Incremental
fonte: PRESSMAN (2010) 2
DESENVOLVIMENTO
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
TORRES
● 2 tipos
○ arrow
○ cannon
● Colisões de física
DESENVOLVIMENTO
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
INIMIGOS
● Path Finder
DESENVOLVIMENTO
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
INIMIGOS
● Animator
● Máquina de estados
DESENVOLVIMENTO
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
STARTGAME CONTROLLER
● Inicializa classe principal do Facebook SDK
● Verifica autorizações do jogo
● Carrega os dados salvos do jogados do banco de dados
DESENVOLVIMENTO
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
● Controle das waves (inicia e termina um level)
● Start Point e Objective Point
● Quantidade, intervalos, vida e velocidade dos inimigos baseado no level
LEVEL CONTROLLER
DESENVOLVIMENTO
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
USER GRAPHIC INTERFACE CONTROLLER
● Controla elementos gráfico de interação com o jogador
● Acesso direto a botões, menus e mostradores do jogo
● Atualiza informações na tela conforme outras classes são atualizadas, ou eventos disparados
DESENVOLVIMENTO
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
GAME CONTROLLER
● Controla atributos do jogador
● Controla métodos acesso ao Facebook API (invite e post)
● Manipula dados do jogador em banco de dados
RESULTADOS E DIFICULDADES
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
RESULTADOS
● Demo jogável e funcional desenvolvido e executando no Facebook
● Interface gráfica visualmente agradável
● Testes realizados com feedback positivos (6 usuários)
● Incompatibilidade com navegadores no linux (unity web player sem suporte para linux)
● Um pouco pesado quando executado paralelamente com outros aplicativos
RESULTADOS E DIFICULDADES
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
DIFICULDADES
● Exigências de segurança do Facebook
● Conexão com Banco de Dados
● Não sou game designer
● Não sou artista
RESULTADOS E DIFICULDADES
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
MELHORIAS
● Melhor balanceamento
● Som
● Novos inimigos e torres
● Reset Game e velocidade do jogo
REFERÊNCIAS
Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado
[1] GAMMA E., HELM R., JOHNSON R., VLISSIDES J. Design Patterns: Elements of Reusable Object-Oriented Software. Primeira Edição. Estados Unidos: Addison-Wesley, 1995.
[2] PRESSMAN, R.S. Engenharia de Software. Sexta Edição. Editora MCGrawHill: Porto Alegre, 2010.
[3] Unity3d. Disponível em: http://portuguese.unity3d.com/ . Acesso em: novembro de 2013
[4] Fecebook SDK for Unity. Disponível em:https://developers.facebook.com/docs/unity/ . Acesso em: novembro de 2013