facebook twitter

Proposta

Tema

Desenvolvimento de um jogo interativo para plataforma web integrado a redes sociais.

Orientador

professor Marco Dimas Gubitoso

Resumo da Proposta

A evolução tecnológica nos permite, hoje em dia, que informações e recursos possam ser acessados e utilizados em qualquer lugar e em qualquer momento. Juntamente com isso, nos últimos anos, a explosão dos smartphones com maiores capacidades de processamento e capazes de acessar a internet por tempo descontínuo nos impulsionou para a crescente era da computação móvel. A computação móvel é a área da tecnologia que amplia o domínio da computação distribuída, pois faz uso da comunicação sem fio para eliminar a limitação da mobilidade. Através de um dispositivo portátil é possível se comunicar com a parte fixa da rede e com outros computadores móveis.

Há um aumento diário no número de pessoas que passam a utilizar internet móvel, devido a necessidade das pessoas em se sentirem conectadas e terem uma série de facilidades indispensáveis no dia-a-dia, tornando os dispositivos móveis parte de sua rotina. Estima-se que até 2015 só no Brasil serão 110 milhões de usuários de internet móvel [5].

Com o crescente número de usuários da internet, popularizou-se também as redes sociais. Rede social é uma estrutura social composta por pessoas ou organizações, conectadas por um ou vários tipos de relações, que partilham valores e objetivos comuns. As pessoas passaram a utilizar as redes sociais para comunicar-se, dividirem experiências e estabelecer novos contatos, amplificando sua interação social do dia-a-dia.

As redes sociais online podem operar em diferentes níveis, como, por exemplo, redes de relacionamentos (Facebook, Orkut, MySpace, Twitter, Badoo), redes profissionais (LinkedIn), redes comunitárias (redes sociais em bairros ou cidades), redes políticas, dentre outras. Um ponto em comum dentre os diversos tipos de rede social é o compartilhamento de informações, conhecimentos, interesses e esforços em busca de objetivos comuns.

Segundo a empresa eMarkerter, estima-se que no ano de 2013 as redes sociais devem crescer 16%, 11,6% em 2014 e, assim, atrairão 1,854 bilhões de pessoas [4].

O Brasil é um dos países com maior investimentos em redes sociais como Facebook e Orkut. Um dos maiores investimentos é o voltado para jogos em rede, principalmente os jogos casuais. O termo jogo casual é utilizado para caracterizar jogos digitais acessíveis ao grande público. Diferentemente dos jogos tradicionais que são mais complexos e exigem tempo e dedicação do jogador, os jogos casuais são simples e rápidos de aprender. Desta forma podem ser uma opção de diversão para um simples passatempo de alguns minutos. Estima-se que mundialmente são 200 milhões os consumidores que jogam jogos casuais.

Diante deste contexto, a proposta é desenvolver um jogo casual simples para plataforma web, que terá como atrativo a interação entre os jogadores através da rede social Facebook. O jogo será do tipo simulador de construções, baseado no jogo Sim City, onde os jogadores deverão se ajudar mutuamente para obterem progresso durante o jogo.

Objetivos

Desenvolver e implementar um demo jogável de um jogo para plataforma web onde o usuário poderá interagir de maneira assíncrona com o jogo de outros usuários através da integração com redes sociais (a princípio Facebook). O aplicativo deverá ser capaz de se comunicar com um servidor para envio de dados e mensagens para o aplicativo de outros usuários. O jogo será baseado em um simulador de construções (como o jogo Sim City). Será desenvolvido utilizando a game engine Unity 3D, e utilizando a linguagem de programação C#, com auxílio de programas de modelagem 3D (Blender e Maya) para criação dos elementos utilizados no jogo. Se possível, extender o jogo para plataforma mobile.

Cronograma

Atividade Abr Mai Jun Jul Ago Set Out Nov
Modelagem do Jogo/Levantamento do requisitos x x
Escolha, estudos e aprendizado da Game Engine x x x
Estudo e aprendizado da API de integração com rede social x x x
Modelagem do sistema x x
Implementação do jogo x x x x
Testes e verificação do aplicativo x x x
Monografia x x x x x
Pôster x
Apresentação x

O que já foi feito

Seguindo o cronograma, temos:

Modelagem do Jogo/Levantamento do requisitos

Foi decidido que a base principal do jogo seria sua interação através da rede social Facebook. O aplicativo então deverá ser capaz de se comunicar com a rede social através de uma API (Application programming interface), e resgatar informações do usuário como lista de amigos, idade, entre outros, e ser capaz de enviar mensagens e dados para o aplicativo de outro usuário. A princípio, o foco será implementá-lo para a plataforma web, e adiante, se for possível extender para a plataforma mobile (IOS e Android).

O jogo será no estilo casual, no formato simulador de construções. O jogador deverá construir sua cidade utilizandos recursos ganhados no jogo, e sua influência na cidade de outros jogadores. Será possível vender e alugar terrenos em sua cidade para que outros jogadores possam construir estabelecimentos e desenvolver negócios na cidade, de maneira beneficiar os dois jogadores. A iteração do jogo será de forma assíncrona, ou seja, os dois jogadores não precisarão estar jogando ao mesmo tempo, mensagens serão enviadas de um aplicativo para outro, e o jogador somente notará mudanças devido a interação com outro jogador quando conectar o aplicativo com o Facebook.

Escolha, estudos e aprendizado da Game Engine

Determinou-se que a Game Engine do jogo será a Unity3D.

Unity3D, é um motor de jogos (game engine) multi-plataforma, criado pela Unity Technologies. Auxilia na criação de jogos para diferentes propósitos e plataformas, como computadores Desktop (Windows, Linux e OSX), dispositivos mobile (Android e IOS), game consoles (playstation 3, Wii U e XBOX) ou web (Flash).

Atualmente, sendo usada por mais de um milhão de desenvolvedores, a Unity3D é uma das game engine mais utilizadas para desenvolvimento de jogos na atualidade. Seu foco principal é o desenvolvimento para plataformas mobile e web games, mas seu uso para criação de jogos para console e PC vem sido muito difundido também.

A Unity3D é uma ótima engine para criação de jogos em 3D, possuindo biblioteca física, detector de colisão, ferramentas para animação, e também muito utilizada para o desenvolvimento de jogos 2D, com o auxílio de plugins e frameworks específicos. Possui também compatibilidade com programas de modelagem 3D como Blender, 3ds Max, Maya, Cinema 4D, Cheetah 3D e Lightwave.

Aceita como linguagens de programação o javascript, C# e boo script. Escolhi trabalhar essencialmente trabalhar-se com liguagem C# pelos seguintes motivos:

  • Proximidade com a liguagem C++, com o qual já sou bastante familiarizados em todo o aprendizado durante o curso de Bacharelado de Ciências da Computação;

  • Proximidade com a linguagem Java, o que possui ótimas funcionalidades como o tratamento de exceções e Garbage Collector;

  • Completamente orientada a objetos;

  • Fortemente tipada, o que ajudará a evitar erros por manipulação imprópria de tipos e atribuições incorretas.

Estudo e aprendizado da API de integração com rede social

Para integrar o projeto com o Facebook utilizarei o Facebook SDK Javascript. Este SDK (Software Development Kit) é constituído por uma série de ferramentas desenvolvidas e fornecidas pelo Facebook Developers, segmento que auxilia e suporta os desenvolvedores de aplicativos e páginas web voltados para o facebook. Com estas ferramentas será possível:

  • Habilitar o botão Like e outros Social Plugins no aplicativo;

  • Fazer login com o usuário do Facebook;

  • Integração com a API primaria do Facebook, o Graph API, que resgata informações importantes como lista de amigos;

  • Permite envio de mensagens, que provê que usuários compartilhem informações;

  • Facilita a comiunicação entre aplicativos.

Proximos passos

Já em andamento, a modelagem do sistema já vem sendo elaborada baseada nos requisitos levantados. Um melhor estudo do Facebook SDK Javascript vai permitir elaborar melhor como serão feitas a comunicação entre usuários, o tipo de mensagem que deverá ser passada e estruturas de dados a serem utilizadas. Um modelo base do jogo falta ser elaborado, com os detalhes estipulados como classes principais do programa, tipos de construções e recursos a serem utilizados.

Com o modelo base do jogo e a modelagem do sistema pronto, a fase de desenvolvimento do aplicativo pode ser iniciada. Juntamente com a implementação, paralelamente serão feitas e atualizadas a documentação do programa, testes de comunicação, e funcionalidade.

Estrutura esperada da monografia

Parte Objetiva

    1. Introdução

    2. Motivação

    3. Objetivos

    4. Conceitos e Tecnologias

      4.1 Engine Unity3D

      4.2 Facebook SDK Javascript

      4.3 Outras Tecnologias

    5. Descrição do Jogo

    6. Descrição das atividades realizadas

    7. Análise dos Resultados Obtidos

    8. Considerações finais

    9. Referências bibliográficas

Parte subjetiva

    1. Desafios, soluções e frustrações

    2. Contribuição das disciplinas cursadas para a elaboração do projeto

    3. Discussão de pontos para aprimorar o projeto e como extender o jogo

Referências

[1] Mateus, Geraldo R. e Loureiro, Antonio A.F.: Introdução à Computação Móvel. Departamento de Ciência da Computação da Universidade Federal de Minas Gerais. Disponível em homepages.dcc.ufmg.br/~loureiro/cm/docs/cm_livro_1e.pdf. Acesso em: maio de 2013

[2] Tonin, Graziela S.: Tendências em Computação Móvel. Departamento de Ciências da Computação do Instituto de Matemática e Estatística da Universidade de São Paulo. 2012. Disponível em grenoble.ime.usp.br/~gold/cursos/2012/movel/mono-1st/2305-1_Graziela.pdf. Acesso em: maio de 2013

[3] Uma startup de 2 milhões de dólares na ponta dos seus dedos. Disponível em googlebrasilblog.blogspot.com.br/2011/04/uma-startup-de-2-milhoes-de-dolares-na.html. Acesso em: maio de 2013

[4] Crescimento das redes sociais tomam conta de 21% do planeta Terra. Disponível em www.logicadigital.com.br/blog/crescimento-das-redes-sociais. Acesso em: maio de 2013

[5] Número de usuários de Internet móvel no Brasil vai chegar a 110 milhões em 2015. Disponível em http://adrenaline.uol.com.br/internet/noticias/13218/numero-de-usuarios-de-internet-movel-no-brasil-vai-chegar-a-110-milhoes-em-2015. Acesso em: maio de 2013