desenvolvimento de um jogo interativo para plataforma web ... · desenvolvimento de um jogo...

30
Thiago Tatsuo Nagaoka Orientador: Professor Marco Dimas Gubitoso novembro de 2013 Desenvolvimento de um jogo interativo para plataforma web integrado à rede social Facebook Instituto de Matemática e Estatística da Universidade de São Paulo MAC0499 Trabalho de Formatura Supervisionado

Upload: dinhhanh

Post on 17-Dec-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Thiago Tatsuo NagaokaOrientador: Professor Marco Dimas Gubitoso

novembro de 2013

Desenvolvimento de um jogo interativo para plataforma web integrado à rede social

Facebook

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

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

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

DESENVOLVIMENTO

Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado

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

DEMONSTRAÇÃO

Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado

DEMONSTRAÇÃO

DÚVIDAS

Thiago Tatsuo Nagaoka MAC0499 - Trabalho de Formatura Supervisionado

DÚVIDAS

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