Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
net/publication/319331092
CITATIONS READS
0 61
1 author:
Allan Cruz
Instituto Federal de Educação Ciência e Tecnologia do Maranhão (IFMA)
4 PUBLICATIONS 0 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Allan Cruz on 29 August 2017.
São Luís
2010
Allan Kássio Beckman Soares da Cruz
São Luís
2010
Cruz, Allan Kássio Beckman Soares da
Desenvolvimento de jogos baseados em localização / Allan Kássio
Beckman Soares da Cruz. - São Luís, 2010
60f.
Impresso por computador (Fotocópia).
Orientador: Anselmo Cardoso de Paiva.
Monografia (Graduação) - Universidade Federal do Maranhão,
Curso de Ciência da Computação, 2010.
BANCA EXAMINADORA
Nos últimos anos os jogos baseados em localização têm mostrado um grande potencial para
a indústria do entretenimento eletrônico. Diversos jogos, frameworks e serviços têm sido
propostos para essa finalidade. Com o lançamento de aparelhos que permitem a aplicação
desses jogos fornecendo ao desenvolvedores e usuários equipamentos como Bluetooth, rede
Wi-Fi e GPS. Dentro desse contexto a Google lançou o sistema operacional Android que
nos proporciona um ambiente de desenvolvimento favorável para a criação de aplicações
móveis. Com o uso desse sistema e do conceito de jogos baseados em localização foi
desenvolvido um jogo chamado “O Roubo do Azulejo” para apresentar a facilidade de
criação e implementação de um jogo baseado em localização dentro dessa plataforma.
In recent years, location-based games have shown a great potential for the electronic
entertainment industry. Several games, frameworks and services has been proposed for
this purpose. With the introduction of devices that allow the application of these games
to developers and users by providing equipment such as Bluetooth, Wi-Fi and GPS.
Within this context, Google released the Android operating system that provides us with
a favorable development environment for building mobile applications. Using this system
and the concept of location-based games designed a game called “O Roubo do Azulejo”
to show the ease of creating and implementing a game based on location within that
platform.
Aos meus pais Marco Antônio e Maria Lúcia, minha avó Maria do Carmo,
meus irmãos Ricardo Bruno e Jean Renan, minha irmã Deborah Duane, minha noiva
Pamela e a toda minha família que, com muito carinho e apoio, não mediram esforços
para que eu chegasse até esta etapa de minha vida.
Aos amigos e colegas, em especial, aos alunos que passaram pelo LabMINT,
que sempre serão uma extensão da minha família.
Lista de Siglas
10
Sumário
Lista de Figuras 6
Lista de Tabelas 8
Lista de Siglas 9
1 Introdução 13
4.1.2 Estados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2 Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5 Conclusão 49
13
1 Introdução
Com o surgimento de dispositivos portáteis com mais recursos, mais leves
e com mais velocidade de processamento, além do desenvolvimento e barateamento de
tecnologias como redes sem fio e tecnologias de localização e principalmente da crescente
demanda comercial, tem sido mais fácil se comunicar e realizar as mais diversas atividades
com outras pessoas em qualquer lugar do mundo.
Por outro lado, os jogos pervasivos são uma forma radicalmente nova de jogo
que estende experiências de dentro do jogo para o mundo físico (Mcgonigal et al., 2006).
• Cell-ID: usada nas redes GSM (Global System for Mobile), esta técnica identifica a
célula na qual o usuário está conectado, para mapear essa informação em coorde-
nadas, estimando assim a localização do usuário.
• Angle of Arrival (AOA): esta técnica usa um equipamento presente nas ERBs que
determina o ângulo de chegada dos sinais de rádio. A partir de cálculos geométricos
utilizando apenas duas ERBs, é possível determinar a localização do usuário.
• Assisted Global Positioning System (A-GPS): essa técnica utiliza as células das redes
móveis para melhorar a precisão do GPS e assim funcionar em locais fechados.
• Enhanced Observed Time Difference (E-OTD): é usada apenas nas redes GSM. Em
contrapartida ao GPS, essa técnica utiliza um software instalado no dispositivo para
o cálculo das informações recebidas da rede GSM.
Para validá-lo foi criado um jogo chamado “King of Location”, usando o má-
ximo possível das ferramentas fornecidas para atender os requisitos estabelecidos. Nesse
jogo os desenvolvedores perceberam que o FRAP tem um grande potencial em relação a
outros frameworks parecidos, no entanto existe ainda a necessidade de uma melhor per-
formance além da correção de possíveis erros que não foram encontrados durante os testes
de avaliação da ferramenta.
Para garantir isso ele utiliza duas restrições básicas para as ações: a coerência
espacial e a coerência temporal.
A classe objetivo descreve uma meta que deve ser alcançada. Cada objetivo
tem um dono que deve completar a tarefa. Esse dono pode ser um usuário ou um mar-
cador.
A classe mensagem foi modelada para os usuários enviarem mensagens uns aos
outros ou deixarem mensagens representadas em marcadores ou ainda para marcadores
exibirem mensagens aos usuários.
Para a validação foi criado um jogo com o mesmo nome do framework que
consistia em grupos diferentes de jogadores competirem pela realização de uma tarefa. O
Mobile Chase se mostrou um framework versátil tanto em tipos de jogos que podem ser
criados a partir dele, quanto em tipos de aparelhos que permitem o seu funcionamento.
Além dos citados anteriormente usados para validar seus respectivos frame-
works existem diversos jogos comerciais e acadêmicos na categoria baseado em localiza-
ção.
Figura 2.9: Jogador observando tela do jogo Can You See Me Now
O jogo “CityPoker” (Kiefer et al., 2005) foi concebido como um jogo baseado
em localização em 2004. É jogado por dois jogadores ou duas equipes, que começam com
uma determinada quantidade de cartas na mão e devem se mover em um ambiente ao
ar livre como o ilustrado na Figura 2.10 para encontrar cartas escondidas, de modo a
melhorar o conjunto de cartas em sua mão.
Figura 2.10: Percurso de uma equipe dentro da área estipulada para o jogo
2.3 Exemplos de Jogos Baseados em Localização 25
“Geocaching” (Geocaching, 2010) é um jogo em que os jogadores devem escon-
der objetos para que outros jogadores encontrem utilizando-se do GPS. Tradicionalmente,
o objeto oculto é um recipiente impermeável com um diário de bordo e algum prêmio de
baixo custo. Os jogadores são incentivados a coletar os prêmios e espalhar novos prêmios.
Esse é um dos mais antigos jogos baseados em localização. Antes jogado de forma rudi-
mentar utilizando apenas aparelhos de GPS e informações alimentadas manualmente no
site oficial, hoje existem versões do jogo para os sistemas operacionais iOS (como mostra
a Figura 2.11) e Android.
O Android Market é uma loja online de aplicativos mantida pela Google nos
mesmos modelos da AppStore da Apple, mas diferentemente, os aplicativos podem ser
baixados de sites de terceiros e instalados nos aparelhos. Os aplicativos são escritos em
3.1 O Sistema Android 28
Java a partir de bibliotecas desenvolvidas pela Google (Android, 2010h).
Como afirma (Pereira e da Silva, 2009), o sistema Android foi construído com
a intenção de permitir aos desenvolvedores criar aplicações móveis que possam tirar total
proveito do que um aparelho portátil possa oferecer. Foi construído para ser verdadeira-
mente aberto. Por exemplo, uma aplicação pode apelar a qualquer uma das funcionali-
dades de núcleo do telefone, tais como efetuar chamadas, enviar mensagens de texto ou
utilizar a câmera, que permite aos desenvolvedores adaptarem e evoluírem cada vez mais
estas funcionalidades.
Além do Google Maps podem ser usados outros provedores de mapas como
o Open Street Map e Yandex Maps. Isso faz com que o usuário e o desenvolvedor não
fique preso a apenas uma opção. Na maioria das aplicações esses mapas são carregados
utilizando a internet. No entanto existem aplicações que permitem utilizar offline mapas
previamente carregados na memória do dispositivo.
Por não ser padrão é necessário importar o pacote de mapas no arquivo An-
droidManifest.xml. E como a classe se conecta a internet é necessário declarar permissão
para acesso a internet no mesmo arquivo XML.
Da mesma forma que precisamos de uma chave da API do Google Maps para
desenvolver sistemas com mapas para a internet também precisaremos de uma chave para
desenvolvimento para o Android.
A partir de uma assinatura digital feita no aplicativo é possível gerar essa chave
no site do próprio Google Maps. Isso garante que aquela chave será utilizada apenas nesse
3.2 Aplicações com Mapas no Android 32
aplicativo. Além disso, são necessárias chaves diferentes para a versão de debbug (que irá
rodar no emulador) e para a versão final (que irá rodar em aparelhos com Android).
Após essas configurações ainda não é possível exibir o mapa na tela. Para isso
ainda se fazem necessárias duas configurações. Primeiro a da classe principal do sistema,
que nesse caso é uma atividade do tipo mapa. Segue abaixo na Figura 3.2 um exemplo
dessa classe.
A forma de utilizar mapas do Open Street Maps (também designado por OSM)
no Android é semelhante ao do Google Maps, no entanto, requer um bom conhecimento
da API do Open Street Maps.
Abaixo temos a Figura 3.5 que mostra uma aplicação rodando o Open Street
Maps no Android.
Figura 3.5: Aplicação com Open Street Maps rodando no emulador Android
3.2 Aplicações com Mapas no Android 34
Os overlays são geralmente utilizados para exibir desenhos dentro do mapa
para criar uma interação maior da aplicação com o usuário.
O uso mais comum é o de exibir pontos ou traçar rotas no mapa. Mas podemos
exibir fotos, textos e outros tipos de informações.
Sempre que for necessário criar um overlay devemos escrever uma subclasse de
com.google.android.maps.Overlay e dentro dele implementar um método chamado draw,
passando como parâmetros a canvas utilizada, a visualização do mapa e a sombra (op-
cional). Criada essa classe, basta realizar a chamada do método getOverlays() dentro da
classe principal do programa, que ela irá retornar uma lista com todos os overlays criados
para essa visualização de mapa.
Parâmetro Descrição
Para enviar informações de GPS pelo emulador (Figura 3.7) do Android temos
três opções: manualmente, por arquivo GPX (GPS eXchange Format) ou por arquivo
KML (Keyhole Markup Language). Na Tabela 3.2 podemos ver a definição de cada uma
dessas opções.
Opções Descrição
Qualquer uma dessas opções é interessante de ser utilizada para testes e vali-
dações. No entanto, as opções do KML e telnet ficam mais viáveis a medida que para o
KML basta traçar a rota no Google Earth, e no telnet podemos criar scripts que simulem
intervalos de tempos diferentes entre cada localização.
Aqui são destacados quatro aplicações que fazem uso desses recursos: Google
Maps, Google Sky Map, Motonav e AndNav2.
A versão do Google Maps (Google, 2010) para Android é sem dúvida a melhor
versão desse aplicativo móvel, que também tem versões para BlackBerry, iPhone, Windows
Phone e Java.
Ela conta com diversos recursos além o de exibir mapas e encontrar rotas.
Entre eles podemos destacar o uso do Google Latitude (onde o usuário pode ver a lo-
calização dos seus amigos e compartilhar a sua localização com eles, como no exemplo
3.3 Exemplos de Aplicações com Mapas e GPS 38
mostrado na Figura 3.9a), do Buzz (onde o usuário pode verificar o que outros usuários
estão comentando perto da sua localidade, como no exemplo mostrado na Figura 3.9b), e
das notícias de trânsito (onde o usuário pode verificar onde existe mais congestionamento
e evitar esses locais, como no exemplo mostrado na Figura 3.9c).
Por ser um dos principais aplicativos do Android, o Google Maps já vem ins-
talado por padrão em todas as versões do Android.
O Google Sky Map não utiliza mapas terrestres, e sim mapas celestes. A partir
do posicionamento pelo GPS e do acelerômetro do celular, ele desenha na tela a imagem
do espaço sideral referente ao posicionamento do usuário e do celular como mostra a
Figura 3.10a.
Além disso ele permite a busca de corpos celestes como mostra a Figura 3.10b.
É um excelente aplicativo para pessoas que gostam de olhar estrelas através de telescópios.
Figura 3.12: AndNav2 com mapas Open Street Map (Gramlich, 2010)
40
4.1.1 A ideia
O jogo segue o formato de caça ao tesouro, onde o jogador deverá seguir uma
pista inicial que indicará o lugar a ser atingido e assim por diante.
Como mostra a Figura 4.2 o jogo é representado por diversos estados que
interagem entre si.
O jogador inicia recebendo uma mensagem de boas vindas e tendo o mapa com
exibição. Tendo opção de acesso ao menu, o jogador pode criar um novo jogo, mudar as
configurações, alternar as camadas de visualização, visualizar os jogos salvos e ver mais
informações sobre o sistema.
4.2 Desenvolvimento
O jogo foi desenvolvido utilizando a IDE Eclipse 3.6 “Helios” em conjunto com
o SDK Android com base na versão 1.6 do sistema operacional Android.
Esses dados constantes foram armazenados em tabelas para que em uma pró-
xima versão seja possível dinamizar esses dados em relação ao jogo.
4.2 Desenvolvimento 44
Nas demais tabelas do banco são guardadas as informações de cada jogo. Den-
tre elas destacam-se os locais percorridos pelo usuário, as estatísticas e o nome do jogo.
A tela inicial do jogo como mostra a Figura 4.4a, consiste na primeira dica
do jogo. Logo em seguida aparece o mapa do centro histórico de São Luís como pode-
mos observar na Figura 4.4b. Nesse momento as funções de localização e rastreio estão
desativadas.
Os testes foram executados via terminal telnet. Por ele foram passadas as
coordenadas de latitude e longitude que são recebidas diretamente no emulador do SDK
Android.
4.2 Desenvolvimento 47
4.2.1 Testando o GPS
5 Conclusão
Os jogos baseados em localização ainda não atingem um público expressivo
de usuários. No entanto esses jogos possuem potencial de crescimento devido ao rápido
avanço tecnológico e a miniaturização de equipamentos e ao aumento do número de inova-
ções na área de entretenimento digital, que oferecem novas formas de imersão aos usuários.
Referências Bibliográficas
Delap S. Google’s Android SDK Bypasses Java ME in Favor of Java Lite and Apache
Harmony. Disponível em <http://www.infoq.com/news/2007/11/android-java>, 2007.
Acesso em 21/11/2010.
Kiefer P, Matyas S, Schlieder C. State space analysis as a tool in the design of a smart op-
ponent for a location-based game. Em Masuch M, Hartmann K, Beckhaus S, Spierling
U, Sliwka F, editores, Proceedings of the Computer Science and Magic 2005, GC Devel-
oper Conference Science Track. Leipzig, Germany: Messe Leipzig. Isbn: 3-9804874-3-1.
Lecheta RR. Google Android: aprenda a criar aplicações para dispositivos móveis com
Android SDK. São Paulo: 605 p. Novatec Editora, 2010.
Lopes EF, Nogueira JG, Nacif TG, Johnson TM. Sistemas Baseados em Localização em
um Mundo Sem-fio com J2ME e API Location. Artigo. Centro de Ciências Exatas e
Tecnológicas. Universidade da Amazônia - Belém, PA, 2006.
REFERÊNCIAS BIBLIOGRÁFICAS 54
Lundgren S, Björk S. Game Mechanics: Describing Computer-Augmented Games in
Terms of Interaction. Em Terms of Interaction. Proceeding of TIDSE 2003 - Darmstadt,
Alemanha.
Mcgonigal JE, William P, Worthen B, Niemeyer PG. This Might Be a Game: Ubiquitous
Play and Performance at the Turn of the Twenty-First Century. Artigo. 2006.
Pereira LCO, da Silva ML. Android para desenvolvedores. Rio de Janeiro: 217 p. Brasport,
2009.
REFERÊNCIAS BIBLIOGRÁFICAS 55
Perucia AS, de Brerthêm AC, Bertschinger GL, Menezes RRC. Desenvolvimento de jogos
eletrônicos: teoria e prática. São Paulo: 320 p. Novatec Editora, 2007.
Thomas B, Close B, Donoghue J, Squires J, Bondi PD, Piekarski W. First Person In-
door/Outdoor Augmented Reality Application: ARQuake. Artigo. Personal Ubiquitous
Comput 2002; 6: 75–86.