Projeto do Pong Android.


Desenvolvido por José Eduardo Campanha - Ra: 0040441123009
Fatec Americana - Jogos Digitais - 2º semestre 2013

Este projeto foi realizado durante o segundo semestre de 2013 nas aulas de Laboratório de Programação Avançada do
curso de Jogos Digitais da Fatec Americana. Foi utilizada a Engine Unity com a linguagem de programação Java Script.
Todos os conceitos utilizados foram adquiridos através de pesquisas, tutoriais e troca de informações com outros
programadores durante o período de desenvolvimento.
A seguir mais informações sobre o projeto. E ao final está disponível o código e o apk do jogo para download.

1 - Android

2 - Android Mini-PC

3 - Pong Android

4 - Desenvolvendo o Pong Android

5 - Problemas enfrentados

6 - Instalação

7 - Conclusão

8 - Referências



1 - Android

Android
Android


Android é o nome do sistema operacional baseado em Linux que opera em celulares (smartphones), netbooks e tablets.
É desenvolvido pela Open Handset Alliance, uma aliança entre várias empresas, dentre elas a Google.
O funcionamento do Android é idêntico a outros sistemas operacionais (como Windows, Mac OS, Ubuntu, entre outros),
cuja função é gerenciar todos os processos dos aplicativos e do hardware de um computador para que funcionem
perfeitamente.
A diferença é que o Android foi impulsionado pela Google para ser operado nos seus próprios dispositivos móveis e
desta forma, entrar na concorrência com outros sistemas operacionais dominantes como o Symbian (dispositivos Nokia),
iOS (dispositivos Apple, como iPhone) e Blackberry OS.
Uma das principais vantagens do sistema Android é a integração dos serviços Google a partir de uma conta Google que
o usuário já possua. Outra grande vantagem é o Android Market, a loja oficial dos aplicativos, que oferece uma infinidade
de aplicativos gratuitos.
O primeiro celular a executar o sistema Android foi o T-Mobile G1 (HTC Dream), fabricado pela Google, juntamente com
a HTC em 2008.
Em 2010, a empresa Google, em parceria com a Samsung, lançou a série Nexus, com os modelos Nexus One, Nexus S
e Galaxy Nexus.

2 - Android Mini-PC -


Mini Pc Android
Mini Pc Android


Android Mini PC, também conhecido como MK802. Fabricado na China e lançado em maio de 2012, este dispositivo é
um pouco maior do que os pendrives que usamos normalmente e, como o seu nome revela, roda o sistema operacional
móvel da Google – podendo ser instalado o Linux.
Mas será que o potencial de processamento desse equipamento tão pequeno aguenta a nossa rotina? Seria possível
executar games para o seu entretenimento? Vale a pena comprá-lo? Nós tivemos a oportunidade de testar o Android
Mini PC e dizemos aqui o que achamos deste “computador” portátil.
Uma característica que diferencia o Android Mini PC dos demais dispositivos do gênero — e que o coloca em pé de
igualdade com o Cotton Candy — é a disponibilização de uma saída HDMI. Esse padrão de transferência de áudio e
vídeo permite conectar o MK802 diretamente em sua televisão.
Assim, é possível reproduzir gravações ou vídeos do YouTube, navegar pela internet e explorar os recursos oferecidos
pelo Android 4.0 em telas muito maiores – promovendo uma experiência mais agradável com conteúdos em alta
definição com até 1080p (1920x1080 pixels).


Especificação

Confira abaixo as especificações do Android Mini PC:
  • Modelo: AK-212MiniPC
  • Sistema operacional: Android 4.0.3 (Ice Cream Sandwich);
  • Processador: Allwinner A10 com 1,5 GHz (ARM Cortex-A8);
  • Placa gráfica: GPU Mali 400;
  • Memória RAM: 512 MB (há modelos com 1 GB);
  • Armazenamento interno: 4 GB (expansível com o uso de um cartão de memória microSD);
  • Internet: redes sem fio (802.11b/g/n);
  • Conectividade: uma porta USB 2.0, uma entrada mini-HDMI e uma porta microUSB;
  • Alimentação: direto na tomada;
  • Dimensões: 8,8 x 3,5 x 1,2 cm (largura x altura x espessura);
  • Peso: 230 gramas;
  • Cores: preta e branca.

Leia mais em:
http://www.tecmundo.com.br/analise/27762-analise-android-mini-pc-video-.htm#ixzz2g2e6rCTt

3 - Pong Android


Em sala de aula foi dado inicio ao uma pesquisa de vários projetos em varias plataformas. Então foi escolhido a plataforma Java para o desenvolvimento do projeto. Em seguida foi escolhido um jogo clássico: Pong. Assim, tendo essas informações foi procurado a melhor forma e linguagem de desenvolver, então depois de varias pesquisas e tentativas de testes de varias IDEs a escolha foi o Unity.
Sendo o primeiro aplicativo para Android, escolhemos desenvolver um jogo mais simples, pois assim seria o caminho para novas possibilidades de desenvolvimento e aprendizado que utiliza os conceitos básicos da maioria dos jogos existentes.
O principal objetivo é adquirir conhecimento sobre o desenvolvimento de um jogo para plataforma Android, suas ferramentas e possibilidades. Além de adquirir conhecimento sobre o uso da Engine Unity.

img13-2-01-01.JPG
img13-2-01-02.JPG
img13-2-01-03.JPG

4 - Desenvolvendo o Pong Android -


Conceitos Envolvidos

Para o desenvolvimento do jogo utilizamos o Unity que utiliza varios tipo de linguagem assim como: C# Script, Java
Script, shader entre outros. Para desenvolver deste Pong foi necessário utilizar, os conceitos de hierarquia, vetores para
desenhar formas, colisão entre objetos instanciados, posicionamento utilizando eixos x e y, movimentação, e as noções
básicas da utilização da linguagem C# Script.

Sabendo os conceitos que seriam usados no desenvolvimento, temos os objetos Bola, barreiras, os rebatedores e o
limitadores(para que a bola não escape e fuja da tela). A Bola se movimenta livremente começando no centro da tela e adquirindo impulso para a direita ou esquerda. Se ela chega a uma posição limite da tela, superior ou inferior, sua velocidade no eixo y inverte. Se ela colide com um batedor a velocidade em x inverte.
Já o Batedor ficaria nos extremos da tela e teria o diferente tratamento pois seria instanciado como player um e dois,
eles são controlados por uma função que faz ele se posicionar em eixo y, assim podendo somente se movimentarem
para cima e para baixo.
Para melhorar nossa aplicação, foi adicionada algumas bibliotecas já prontas do Unity, como física, gravidade, para uma
melhora no jogo. Foi criada uma "caixa" como barreira para a bola não sumir ou escapar da tela, uma objeto para ficar
como rebatedor e a própria bolina foi aplicado a a física e gravidade. A jogabilidade foi criada por eventos para o
moviemeto, quando aperta a tecla "x" o bastão faz um movimento, quando apertado a tecla "y" ele faz o movimento
reverso. Esse script fica rodando em todo o momento em que o jogo começa ate seu fim. Foi criado também eventos
para iniciar o jogo e finaliza-lo, assim quando acionados podemos fechar o jogo a qualquer momento.

Interação e a Física


Para existir tanto a interação como a física ou gravidade, precisa existir um mundo para ser associado a esses eventos.
Todos os objetos se interagem entre si, assim bastão não ultrapassa a parede, assim como a bolinha não ultrapassa o
bastão nem a parede, o script em C# e as classes adicionadas ao objetos fazem que sejam calculados esses eventos
assim fazendo acontecer o jogo.
Quando se cria um objeto no Unity precisa anexar a ele tanto um script, quanto uma classe, para assim esse objeto ter
movimentos, leis da física ou qualquer que seja o desejo do desenvolvedor. Temos na aplicação que é dinâmica (bola),
pois ela interage com a aplicação se movimentando o tempo inteiro, já o rebatedor seria melhor visto como um objeto
cinemático, pois ele se movimenta e acaba interferindo em outro corpo sem que ele mesmo seja interferido com o outro
objeto. Temos também os corpos estáticos mesmo sendo totalmente limitados são uteis, pois ele interage com outros
corpos, eles são as paredes, piso ou tetos. São totalmente sem movimentos e limitados porem fazem a diferença na
aplicação.

- 5 - Problemas enfrentados -


Os primeiros problemas apareceram em achar um IDE para se produzir o projeto, pois a complexidade de se gerar um
.apk não é pouca. Toda engine ou IDE necessita de vários componentes junto com a IDE, tanto para compilar como para
gerar o próprio .apk, mas nada que após uma árdua pesquisa não se consiga. Após achar o Unity e entender seu
funcionamento, acabou ficando simples.
Inicialmente como toda pessoa, que está começando a mexer com uma nova linguagem ou mexer com uma nova IDE, é
descobrir como usa-la. Existe muitos tipos de tutoriais na internet, porem muita coisa já esta defasada para o engine
atual, muita coisa está em inglês, então acabou ajudando pouco. A Unity é uma ferramenta completa, porem se demora
para domina-la. Com tempo e depois de muitas pesquisa, acabasse se chegando em um detalhamento muito próximo do
que realmente se deseja. Mas a falta de tutorias acaba afetando o desenvolvimento da aprendizagem no Unity.

- 6 - Instalação -

1º passo - Conectando o pendrive contendo o aplicativo na saída OTG do mini pc, utilizando o adaptador que vem com o mesmo aparecerá no canto inferior esquerdo um ícone informando que o pendrive está conectado.
2º passo - Clique no botão Ferramentas de Programas que fica no canto superior direito da tela inicial;
3º passo - Selecione o aplicativo "File Manager" e na próxima tela selecione a opção USB da aba Device;
4º passo - Encontre o arquivo Pong.apk e clique nele;
5º passo - Caso apareça alguma mensagem de segurança que só permite instalar aplicativos do Android Market
basta continuar a instalação, aparecerá a janela perguntando se deseja instala ;6º passo - Clique em instalar e aguarde;
No final aparecerá uma tela informando se foi instalado com sucesso e se sim, aparecerá duas opções Concluir para encerrar a instalação e continuar no File Manager ou Abrir para rodar o aplicativo instalado.

Abrindo o aplicativo

Após instalado você pode abrir o aplicativo clicando na tela principal no botão de Ferramentas de Programas no canto superior direito. Lá basta selecionar o ícone Pong na aba Aplicativos, ou se o próprio Android criou um atalho na área principal é só executa-lo.

Como Jogar


Após abri-lo na tela principal temos a opção de JOGAR ou QUIT GAME, onde pode-se escolher jogar o jogo ou sair da aplicação.
O jogo é para ser jogado em 2 Players, um utilizará seta para cima e seta para baixo, para movimentar o bastão da direita, respectivamente a TECLA A E A TECLA Z, para movimentar a bastão da esquerda.
existe também um botão sair para para o game e voltar para a tela inicial.

Excluindo

Para excluí-lo basta :
- Clicar no botão Propriedades na barra inferior(ícone com três quadrados um em cima do outro);
- No canto inferior direito irá aparecer três opções(Plano de Fundo, Gerenciar Aplicativos e Configurações do Sistema), clique em Gerenciar Aplicativos;
- Aparecerá a janela de configurações;
- Na lista de aplicativos selecione o Pong e em seguida clique no botão Desinstalar para excluí-lo.


- 7 - Conclusão -


Em um semestre de projeto em laboratório, tivemos a oportunidade de experimentar uma nova ferramenta de
desenvolvimento de jogos para a plataforma Android, buscando varias formas de desenvolver, tanto como IDEs e Engines diferente, descobrindo uma ampla opção de se criar.
No percorrer do projetos, mudamos estratégias, buscamos no informar mais sobre a ferramenta, precisou-se aprender
conceitos, para que se pudesse finalizar o projeto. Aprendemos a utilizar uma um novo hardware (PcAndroid), como é seu funcionamento, como usa-lo. Como qualquer hardware seu limites e suas diversas formas e suas possibilidades para projetos futuros. Sua capacidade de processamento é muito satisfatório para seu tamanho, o PcAndroid acabou superou muito as expectativas, trazendo uma alta performance.
O Unity apreendemos que podemos desenvolver grandes jogos como pequenos jogos, tanto para PC, videogames,
celulares, entre outros. Podemos criar um jogo sem muita demora, basta uma boa pesquisa. Sua programação por scripts e sua exportação para varias plataformas acaba facilitando. pois programa-se uma vez e pode-se exportar para todas as plataformas.Por fim, todos esses novos conceitos poderão ser utilizados em uma monografia para aprofundarmos ainda mais nesses assuntos que ainda tem tanto para ser explorado e também concluir nossa graduação com uma boa bagagem de conhecimento.

8 - Referências


http://www.slideshare.net/VictorQuiroz1/tutorial-desenvolvendo-pong-no-unity-3d-victory-island-studios

http://www.youtube.com/watch?v=MrvluDWDSwI

http://portuguese.unity3d.com

http://www.youtube.com/watch?v=_IzbNanA1Vk

http://www.youtube.com/watch?v=edfd1HJmKPY

Download do .APK e do projeto:


http://www.4shared.com/rar/wQVcfl60/projeto_Laboratorio.html


img13-2-01-05.JPG