Baixar este arquivo PDF - Fatec-ID

Propaganda
Jogo para Android com Unity3D
Vinícius Akira Moribe
Faculdade de Engenharia de Sorocaba (FACENS)
Caixa postal 355 – 18087-125 – Sorocaba – SP – Brasil
[email protected]
Resumo: Atualmente o mercado de jogos para celulares está muito aquecido,
existe um mercado muito grande para esse tipo de entretenimento. O sistema
operacional mobile Android é o mais vendido no mundo. Muitas empresas
pequenas surgiram nos últimos anos para entrar nesse competitivo mercado.
Diante desse cenário, este artigo apresenta conceitos importantes para o
desenvolvimento de jogos para celulares.
Abstract: Nowadays the market for mobile games has been growing steadily in
recent years given the demand for this kind of entertainment. The Android
mobile operating system is the best-selling in the world. Many small
companies have emerged in recent years to enter this competitive market.
Given this scenario, this paper presents important concepts for developing
games for Android phones.
1. Introdução
A tecnologia dos smartphones tem avançado muito, principalmente nos últimos
anos. Altos investimentos são feitos nessa área pelos fabricantes de aparelhos móveis.
O mercado de smartphones está aquecido e ainda em crescimento,
consequentemente o mercado de aplicativos e jogos para eles também. Esse crescimento
aconteceu após o lançamento de smartphones utilizando o sistema operacional mobile
chamado de Android. Ele é desenvolvido pelo Google junto de um grupo de
companhias da tecnologia denominado Open Handset Alliance (OHA). Devido ao fato
dele ter seu código aberto, muitas fabricantes aderiram a esse sistema operacional pela
possibilidade de customização e a facilidade de desenvolvimento de aplicações para
dispositivos com Android, pois os desenvolvedores não precisam criar um aplicativo
para cada celular, é só desenvolver para o Android que irá funcionar em outros
aparelhos com o mesmo sistema operacional.
2. Android
O Google sempre manteve interesse na criação e no desenvolvimento de novas
tecnologias nas mais diversas áreas, não se limitando apenas no seu buscador.
Investiram em serviços de email (Gmail), vídeos (Youtube) e até em editores de texto
(Google Docs). Por esses motivos, quando a empresa decidiu lançar um sistema
operacional específico para dispositivos móveis, já era possível perceber que esses
dispositivos poderiam dominar o mercado. A consolidação do sistema operacional
Android ocorreu no ano de 2010, quando o crescimento da venda de aparelhos móveis
utilizando-o foi de mais de 800% (SMAAL, 2011).
Em 2010, foram vendidos mais de 1,6 bilhão de celulares com Android, o que
representou um crescimento de 31,8% em comparação com 2009 (GARTNER, 2010).
2.1. O que é o Android?
O Android é um conjunto completo de software open-source (código aberto)
criado para telefones celulares e outros dispositivos móveis, o que inclui um sistema
operacional, middleware e aplicações chave.
O Google é o líder do Android Open Source Project (AOSP), é ele quem está
responsável pela manutenção e desenvolvimento do Android (Android.com). Ele foi
construído desde o começo para que fosse permitido aos desenvolvedores criar
aplicações móveis que conseguissem aproveitar todos os recursos que os dispositivos
oferecem. Um aplicativo pode usar qualquer funcionalidade do aparelho, como fazer
chamadas, enviar mensagens de texto, usar a câmera, utilizar os sensores presentes nos
aparelhos, como acelerômetro, giroscópio, bússola, tudo isso para que possa ser possível
para os desenvolvedores criarem aplicações com uma experiência de uso melhor, mais
rica e coerente para os usuários (Open Handset Alliance).
As características do Android são a sua framework (é um conjunto de classes
que constitui um projeto abstrato para a solução de uma família de problemas)(Fayad et
al, 1999) que permite a reutilização de e a substituição de componentes, a máquina
virtual Dalvik que é otimizada para dispositivos móveis, navegador web integrado
baseado no código aberto Webkit, gráficos otimizados por bibliotecas 2D customizadas
e gráficos 3D com base no OpenGL (versão ES 1.0), usa o SQLite para o
armazenamento de dados, suporte a mídias de áudio, vídeo e formatos de imagens
estáticas, utiliza o padrão GSM (Sistema Global para Comunicações Móveis). Também
fazem parte das características do Android o suporte ás tecnologias bluetooth, EDGE,
3G, WiFi, GPS (Sistema de Posicionamento Global), acelerômetro, bússola, câmera e
possui um rico ambiente de desenvolvimento, o qual inclui um emulador de
dispositivos, ferramentas de depuração e um plugin para a IDE Eclipse (Android.com).
A arquitetura do Android pode ser vista na fig. 1.0.
Fig. 1.0 Arquitetura do Android.
Fonte: http://developer.android.com/images/system-architecture.jpg
2.2. Aplicativos para Smartphones com Android
O Android não diferencia aplicativos nativos dos de terceiros. Todos os
aplicativos podem ser construídos tendo acesso total às tecnologias do aparelho,
proporcionando aos usuários uma ampla variedade de serviços e aplicações. Com os
dispositivos construídos para a plataforma Android, os usuários conseguem adequar
completamente os dispositivos aos seus interesses. Os usuários conseguem trocar a tela
inicial do celular, mudar o estilo do discador ou de qualquer outro aplicativo. Esse
sistema operacional para dispositivos móveis quebrou as barreiras para a construção de
novas e inovadoras aplicações. Um desenvolvedor pode usar dados da web junto com os
dados individuais de cada smartphone, como dados de geolocalização, contatos, para
criar aplicações com uma experiência de maior relevância para o usuário, aplicações
com base em dados reais e personalizados para cada indivíduo (Open Handset
Alliance).
No início, o desenvolvimento de aplicações para o ecossistema Android só era
possível se utilizasse o plugin Android Development Tools (ADT) com algum
Integrated Development Environment (IDE), a mais comum é o Eclipse, que é open
source, utilizando a linguagem Java. Hoje já se pode programar para Android com
várias linguagens diferentes. Para se desenvolver com a ferramenta Unity3D pode-se
utilizar a linguagem C#, que faz parte da .NET Framework, JavaScript ou Boo.
3. Engines
Um jogo é formado por um conjunto de texturas, efeitos 3D, cenários, física nos
objetos, inteligência artificial e sons que, ao se integrarem, coordenam o funcionamento
do jogo. Cada um desses itens deve ser desenvolvido nos mínimos detalhes, a união
desses “motores” é responsável pelo controle do que acontece no jogo. Mas não é
habitual o desenvolvimento desses sistemas complexos, grande parte dos jogos é
desenvolvida utilizando como base motores já desenvolvidos, as chamadas engines
gráficas (KLEINA, 2011).
3.1. O que é uma Engine?
Antigamente, criar jogos para computadores e consoles era muito desafiador,
pois para o jogo funcionar em uma plataforma diferente era muito trabalhoso, exigia-se
a reprogramação de praticamente todos os aspectos do jogo. O reaproveitamento de
código da versão anterior era muito pequeno. Com isso começou-se a terceirizar alguns
dos aspectos técnicos da criação dos jogos. Essa terceirização teve início com um
suporte gráfico através de softwares de renderização que tinham como objetivo
processar as imagens digitais criadas (KLEINA, 2011).
O termo engine surgiu em meados da década de 1990 com a popularização dos
jogos de tiro em primeira pessoa (First-Person Shooter em inglês, o famoso FPS). Uma
das engines pioneiras para jogos no estilo FPS foi do Doom (KLEINA, 2011).
Os motores gráficos ficaram muito populares em todos os tipos de jogos, como
os Rolling Playing Games (RPG) e os de aventura. A programação de engines se tornou
um trabalho artístico por causa da capacidade das criações modernas. Elas são muito
completas, deixam os sons e imagens o mais parecido possível com a realidade e assim
exigem menos dos desenvolvedores. Com o uso das engines as empresas têm muitos
benefícios, como o aumento na velocidade de lançamento de jogos, a possibilidade de
exportar mais facilmente para outras plataformas e principalmente pela redução de
custos com o desenvolvimento das partes já disponíveis na engine (KLEINA, 2011).
A CryEngine é um dos motores gráficos mais famosos. Criado pela alemã
Crytek, ela servia para demonstrar a tecnologia da NVIDIA (fabricante de placas de
vídeo) em uma convenção no ano 2000. Devido ao sucesso que obteve na exposição, a
ferramenta deu origem a um jogo, o Far Cry, quatro anos depois. A consagração só veio
com o lançamento da CryEngine 2, pois dela se originou um jogo em que o seu foco era
principalmente no potencial do realismo de seus gráficos, o Crysis (KLEINA, 2011).
Uma das tendências atuais para o desenvolvimento de jogos é o uso de engines
alternativas, pois o seu custo é muito menor comparado com o de uma famosa. Além do
custo menor, às vezes são gratuitas. O desenvolvimento nessas engines alternativas é
simples, mas eficiente. A Unity3D, que será usada nesse projeto, é um ótimo exemplo, a
versão completa custa no máximo U$4500,00. Uma versão com menos recursos é
disponibilizada gratuitamente (KLEINA, 2011).
3.2. Unity3D
A Unity3D é uma ferramenta muito poderosa para o desenvolvimento de jogos,
ela facilita o trabalho do desenvolvedor, principalmente nos jogos tridimensionais. Ela
tem uma versão gratuita que contém a maioria dos recursos e funcionalidades
necessários para se criar um jogo e publicar para Windows, Mac ou Web. Os jogos Web
necessitam da instalação de um plugin chamado UnityPlayer no navegador web.
Dependendo de qual versão paga for adquirida pode-se publicar para Android, Iphone
ou Nintendo Wii (ANDRADE, 2010).
Nela pode-se utilizar as linguagens de programação C#, JavaScript e Boo
(Python). Outro recurso interessante é o sistema de importação de arquivos 2D e 3D.
Ele suporta, por exemplo, arquivos com as extensões .jpg e .png para 2D, .blend, .max e
.fbx para 3D, entre outros. É possível também trabalhar utilizando Shaders com
facilidade. Um dos recursos mais vantajosos é o seu editor visual, com ele é possível
visualizar toda a cena do jogo. Ele contém ferramentas para criar e manipular objetos
contidos nas cenas (CORRAL, 2009).
Utilizando a Unity3D pode-se desenvolver jogos com uma agilidade maior, tanto
para 2D como 3D. O desempenho dos jogos criados é muito bom e os efeitos de alta
qualidade, chegando a uma qualidade praticamente profissional. Utilizando 50% a
menos de esforço do que codificar tudo a partir do zero.
O editor presente na Unity3D é muito completo, pode-se posicionar objetos,
importar arquivos e muitas outras tarefas. Nele permite-se testar o jogo sem ter de
compilar uma versão definitiva, ainda é possível pausar ou “dar play” novamente. É
possível customizar o editor da forma que for mais agradável, é um editor muito
completo (ANGELINE, 2010).
Por ser altamente otimizada, a velocidade de renderização dos gráficos é muito
grande, funciona tanto para DirectX como para OpenGL. O motor gráfico presente na
Unity3D é alta qualidade. Ela possui um bom sistema de partículas e animação de
modelos. Também faz parte da Unity3D uma parte de Network (rede), áudio e vídeo,
esse último pode ser reproduzido tanto em uma textura 2D quanto em uma 3D
(disponível somente na versão paga), possibilita a criação de scripts que contenham
toda a lógica e o funcionamento do jogo, um bom sistema de iluminação e utiliza o
motor físico criado pela NVIDIA, o PhysX, que permite simulações físicas de extrema
qualidade (ANGELINE, 2010).
4. Jogos
Os jogos são um dos meios mais populares de entretenimento entre as pessoas
desde muito tempo atrás até hoje. Um dos tipos mais famosos são os jogos eletrônicos,
que surgiram na década de 50 e vêem se modernizando, atualizando e têm acompanhado
o lançamento de novas tecnologias ganhando cada vez mais espaço no mercado.
4.1. Jogos para Smartphones
Os jogos para celular são um dos meios mais importantes desse tipo de
entretenimento digital, os modelos mais antigos que vinham com o jogo Snake préinstalado, foi estimado que 350 milhões de celulares vieram com ele pré-instalado, hoje,
os smartphones de última geração permitem a instalação de muitos jogos e aplicativos
através de lojas online. O avanço tecnológico dos celulares permitiu que fossem
desenvolvidos jogos mais elaborados, tanto na qualidade dos efeitos gráficos quanto nos
sonoros e com isso possibilitar o surgimento de um mercado importante (Entertainment
Software Association, 2011).
O mercado de jogos para celular é um setor relativamente novo para as
indústrias de software para entretenimento, mas que está crescendo muito. Essa área tem
recebido uma atenção muito grande por causa da alta demanda, da constante criação de
novos produtos e das pesquisas e desenvolvimento de tecnologias inovadoras. De
acordo com a PricewaterhouseCoopers, estimasse que esse mercado de jogos vai
chegar ao valor de U$ 12,7 bilhões no ano de 2014.
De acordo com a Entertainment Software Association, em 2011 alguns fatos
essenciais sobre a indústria do computador e do vídeo game ocorreram. Cerca de 55%
dos gamers (pessoas que gostam muito de jogos eletrônicos) jogam em seu celular ou
dispositivo portátil, como o tablet. A Pew Internet and American Life Project,
entretanto, descobriu que 46% dos adolescentes nos Estados Unidos jogam em um
telefone celular ou PDA. Combinado com os 71% dos adolescentes com idades entre
12-14 anos que jogam jogos em um dispositivo portátil, o setor de jogos para celular
parece estar pronto para desfrutar de uma grande base de consumidores nos próximos
anos. O modelo de negócios empreendedor que agora caracteriza o setor de jogos
móveis montou o palco para inovações adicionais nos próximos anos. Analistas
antecipam que a próxima geração de jogos para celular provavelmente vai incluir mais
títulos multi jogadores, jogo com publicidade e com conteúdo para download. As mais
importantes publicadoras de jogos devem mais uma vez repensar as suas relações com o
setor, pois os jogos móveis vão desempenhar um papel muito importante no mercado.
5. Conclusão
Tendo como objetivo criar um jogo de RPG para celulares com o sistema
operacional Android um framework para auxiliar no desenvolvimento dos jogos será
desenvolvido.
A Unity foi escolhida para ser usada no desenvolvimento dos jogos pela sua
versatilidade em exportar para plataformas mobile diferentes, como Android e IOS, e
poder exportar o mesmo jogo para a Web ou Desktop. Ela é uma ferramenta muito
rápida e intuitiva de se usar, é muito usada na criação de jogos 3D por ter muitas classes
para a manipulação de objetos 3D, como a parte de física, controles de personagem,
partículas, mas também pode ser usada para a criação de jogos em 2D.
Um meio de se aumentar a velocidade de desenvolvimento de jogos é a criação
de um framework contendo funcionalidades que sempre são necessárias ter em um jogo
como menu, ranking com dados salvos localmente, seleção de personagens, telas de
créditos e game over, o que agiliza em muito o desenvolvimento de outros jogos.
Por fim, antes de começar a criar jogos, é muito interessante se criar e
desenvolver um framework genérico para telas, comandos, funções que possam ser
reaproveitados em vários jogos para que se aumente a velocidade de desenvolvimento, a
produtividade e facilite para os desenvolvedores.
Referências
ABRAGAMES. A indústria brasileira de jogos eletrônicos Um mapeamento do crescimento do
setor nos últmos 4 anos. 2008. Disponível em. http://www.abragames.org/docs/AbragamesPesquisa2008.pdf Acesso em 26 maio 2012.
AMAZONAS, D. S. Desenvolvimento de Jogos 3D em Java com a Utilização do Motor Gráfico
Irrlicht. 2007. 51f. Dissertação (Bacharel em Ciências da Computação) - Faculdade
Lourenço Filho, Fortaleza, 2007.
AQUINO, J. F. S. PLATAFORMAS DE DESENVOLVIMENTO PARA DISPOSITIVOS
MÓVEIS. 2007. Monografia (Pós Graduação em Informática INF2541 - Introdução á
Computação Móvel) - Pontifícia Universidade Católica do Rio de Janeiro, Pontifícia
Universidade Católica, Rio de Janeiro, 2007.
BBC. Mercado de jogos online chegou a US$ 1 bi em 2006, diz estudo. 2006. Disponível em.
<http://www.bbc.co.uk/portuguese/reporterbbc/story/2007/03/070321_mundovirtualmercado
fn.shtml> Acesso em 26 maio 2012.
CURA, H. A História do Android.... Disponível em. <http://pplware.sapo.pt/google/a-historiado-android/>. Acesso em 08 jun 2012.
DEVELOPER ANDROID. Platform Versions. Disponível
em.<http://developer.android.com/resources/dashboard/platform-versions.html>. Acesso em
07 jun 2012.
DEVELOPER ANDROID. What is Android?. Disponivel em.
<http://developer.android.com/guide/basics/what-is-android.html>. Acesso em 08 jun 2012.
FAYAD, M. E.; JOHNSON, R. E.; SCHMIDT, D. C. Building Application Frameworks :
Object-Oriented Foundations of Framework Design. 1.ed. Nova Jersey : Wiley, 1999. p. 688.
Gartner. Gartner Says Companies Will Generate 50 Percent of Web Sales Via Their Social
Presence and Mobile Applications by 2015. 2011. Disponível em.
<http://www.gartner.com/it/page.jsp?id=1826814> Acesso em 04 mar 2012.
HERMANN, R. Android Market agora é Google Play. Disponível em.
<http://www.tecmundo.com.br/android/20266-android-market-agora-e-google-play.htm>.
Acesso em 08 jun 2012.
IDC Latin. Estudo da IDC revela que foram vendidos aproximadamente 9 milhões de
smartphones no Brasil em 2011. 2012. Disponível em.
<http://www.idclatin.com/news.asp?ctr=bra&id_release=2213> Acesso em 04 mar 2012.
LEITE, L. C. JOGOS ELETRÔNICOS MULTI-PLATAFORMA COMPREENDENDO AS
PLATAFORMAS DE JOGO E SEUS JOGOS ATRAVÉS DE UMA ANÁLISE EM
DESIGN. 2006. Tese (Mestrado em Artes) - Pontifícia Universidade Católica do Rio de
Janeiro, Rio de Janeiro, 2006.
PAUL, I. Android Market Tops 400.000 Apps. Disponível em.
<http://www.pcworld.com/article/247247/android_market_tops_400000_apps.html>. Acesso
em 08 jun 2012.
PINHEIRO, A. da C. et al. Jogos Eletrônicos. 2008. Disponível em.
<http://gmf.ufcg.edu.br/~leandro/arquivos/jogoseletronicossociedade.pdf> Acesso em 26
maio 2012.
RASMUSSEN, B.; SMAAL, B. Android: o sistema operacional móvel que conquistou o
mundo. Disponível em. < http://www.tecmundo.com.br/infografico/9010-android-o-sistemaoperacional-movel-que-conquistou-o-mundo.htm>. Acesso em 07 jun 2012.
RODRIGUES, L. C. et al. Impactos sócio-culturais da evolução dos jogos eletrônicos e
ferramentas comunicacionais: um estudo sobre o desenvolvimento de comunidades virtuais
de jogadores. 2007. Disponível em.
<http://www.sbgames.org/papers/sbgames07/gameandculture/full/gc2.pdf> Acesso em 26
maio 2012.
SOURCE ANDROID. About the Android Open Source Project. Disponível em.
<http://source.android.com/about/index.html>. Acesso em 07 jun 2012.
THE ESA. Games: Improving the Economy. 2010. Disponível em.
<http://www.theesa.com/games-improving-what-matters/economy.asp> Acesso em 26 maio
2012.
THE ESA. Industry Facts. 2010. Disponível em. <http://www.theesa.com/facts/index.asp>
Acesso em 26 maio 2012.
THE ESA. The Evolution of Mobile Games. 2010. Disponível em.
<http://www.theesa.com/games-improving-what-matters/mobile-games.asp> Acesso em 26
maio 2012.
TSUHARESU. Dossiê Android: 3 anos de vida, e muitas datas para serem lembradas (História
do Android). Disponível em. <http://www.euandroid.com.br/geral/2010/11/historia-doandroid/>. Acesso em 07 jun 2012.
Download