Proposta para o trabalho de conclusão de curso



Baixar 0.57 Mb.
Página2/3
Encontro07.10.2019
Tamanho0.57 Mb.
1   2   3

Introdução


Para 2011, tem-se que a previsão de vendas dos smartphones será superior a dos computadores desktop no Brasil (UOL TECNOLOGIA, 2011). Entre os smartphones mais populares estão os que utilizam a plataforma Android. Com esta popularização, há uma grande demanda por desenvolvimento de aplicativos para estes dispositivos, nas quais os aplicativos direcionados para o entretenimento, especialmente jogos, e outros são bastante visados. Porém, para se desenvolver jogos para smartphones, assim como para outras plataformas, é necessário tempo e conhecimento. Neste ponto os motores de jogos1 são bastante utilizados para reduzir o tempo de produção dos jogos, pois são reaproveitados vários recursos comuns a múltiplos jogos, de forma que o desenvolvedor possa se dedicar mais aos detalhes específicos do jogo que está desenvolvendo do que com as necessidades padrões dos jogos do gênero.

Diante disto, propõe-se o desenvolvimento de um motor que permita facilitar a criação de vários jogos de cartas para a plataforma Android, tendo como principais características: a manipulação do baralho em sua estrutura lógica e o tratamento gráfico na animação das cartas. Este motor terá como principal função ser utilizada como o núcleo de um jogo, contendo um controle das cartas que o baralho deve conter a seqüência de valores e naipes do jogo, a seqüência como as cartas serão retiradas do baralho durante a partida, entre outros fatores. Será inserida uma quantidade limitada de configurações pré-definidas que auxiliarão na implementação de cada jogo, sendo algumas delas: o tipo do baralho utilizado (padrão, espanhol ou personalizado), a seqüência das cartas, o valor de cada carta entre outros dados comuns a jogos do gênero. O motor de jogos será dividido em três partes principais: geração do baralho, manipulação e tratamento das cartas e interface gráfica das cartas. A primeira parte tratará da geração das cartas na seqüência que estas devem estar no baralho durante uma partida. A segunda tratará a seqüência das cartas segundo seus valores e naipes, que deverá permitir alterar sua seqüência caso seja necessária. A terceira será responsável por desenhar as cartas na tela, efetuar animações de movimento, rotação e permitir a manipulação delas pelo jogador dentro do espaço gráfico. Para validar o motor de jogos proposto, será desenvolvido um protótipo de jogo de carta.


    1. OBJETIVOS DO TRABALHO


O objetivo deste trabalho é desenvolver um motor de jogo para facilitar o desenvolvimento de jogos de cartas para a plataforma Android.

Os objetivos específicos do trabalho são:



  1. disponibilizar um gerador de cartas de um baralho que permita armazenar uma seqüência fixa ou aleatória do baralho durante a partida;

  2. disponibilizar funções para a distribuição das cartas entre o(s) jogador(es);

  3. desenvolver recursos gráficos para a manipulação de cartas pelo cenário;

  4. determinar um conjunto limitado de constantes para auxiliar na implementação do protótipo de jogo, sendo algumas delas: o tipo do baralho a ser utilizado, a seqüência das cartas disponíveis no jogo e o valor de cada carta entre outros valores pré-definidos;

  5. desenvolver um protótipo de jogo utilizando o motor desenvolvido;

  1. disponibilizar os conjunto de cartas do baralho padrão francês2 e suas variantes.
    1. Relevância do trabalho


O desenvolvimento de jogos para a plataforma Android ainda é uma prática recente no mercado e sua demanda, assim como nas outras plataformas móveis, está crescendo. O desenvolvimento de um jogo requer tempo e dinheiro relativamente altos, o que pode dificultar sua produção. Desta forma, a utilização de motores traz benefícios quando ao desenvolvimento do jogo, pois reduz substancialmente o tempo necessário para sua implementação e conseqüentemente seu custo de produção.

O principal desafio deste projeto será elaborar o efeito de animação das cartas quanto sua interação com ambiente e com os jogadores, pois será necessário descobrir quais recursos serão mais viáveis dentre os disponíveis para a plataforma e quais efeitos resultam em uma melhor renderização das imagens apresentadas na animação, o que será necessário o conhecimento de algoritmos de computação gráfica.


    1. Metodologia


O trabalho será desenvolvido observando as seguintes etapas:

  1. levantamento bibliográfico: realizar levantamento de bibliografia sobre a plataforma Android, a programação Java para Android, o motor de jogos, requisitos comuns entre jogos de cartas e trabalhos correlatos;

  2. elicitação de requisitos: detalhar e reavaliar os requisitos do motor de jogos, observando as necessidades levantadas durante a revisão bibliográfica;

  3. especificação de modelos de estrutura de jogos: especificar o modelo com análise orientada a objeto utilizando a linguagem Unified Modeling Language (UML). Será utilizada a ferramenta Enterprise Architect (EA) para a elaboração do diagrama de casos de uso, diagrama de estado e do diagrama de classe;

  4. implementação: desenvolver na linguagem Java no ambiente Eclipse o motor conforme especificado na etapa anterior, utilizando o Android Software Development Kit (SDK). Serão desenvolvidas rotinas gráficas para a interação do usuário com as cartas do protótipo implementado;

  5. testes: desenvolver um protótipo de jogo utilizando o motor desenvolvido:

    1. especificação: especificar o modelo UML de caso de uso e o diagrama de classe do protótipo elaborado,

    2. implementação: desenvolver um protótipo de Poquer utilizando o motor proposto com as regras conhecidas do jogo;

    3. testes: testar o protótipo desenvolvido utilizando o simulador disponível no Android SDK e utilizando um dispositivo real compatível.

As etapas serão realizadas nos períodos relacionados no Quadro 1.




2011




jul.

ago.

set.

out.

nov.

etapas / quinzenas

1

2

1

2

1

2

1

2

1

2

levantamento bibliográfico































elicitação de requisitos































especificação de modelos de estrutura de jogos































implementação































testes































Quadro 1 - Cronograma
  1. revisão bibliográfica


A seção 2.1 apresenta o conceito sobre a plataforma Android. A seção 2.2 descreve as diferenças da programação Java dentro da plataforma. A seção 2.3 aborda o conceito de motores de jogos. A seção 2.4 trata da definição dos jogos de cartas. Por fim, a seção 2.5 apresenta trabalhos correlatos ao projeto.
    1. ANDROID


O Android é uma plataforma de software para dispositivos móveis que inclui um sistema operacional, uma camada intermediária (middleware) e aplicativos chave (ANDROID DEVELOPERS, 2011a). A Figura 1 demonstra a estrutura do sistema operacional do Android dividida em grandes componentes.

Fonte: Android Developers (2011a).

Figura 1 - Arquitetura da plataforma Android

O desenvolvimento de aplicações para Android é feito utilizando a linguagem Java na máquina virtual Dalvik, que se trata de uma máquina virtual otimizada para dispositivos móveis. Esta máquina virtual utiliza um baixo custo de memória, para que seja possível instanciá-la múltiplas vezes, auxiliando no gerenciamento do sistema operacional através de threads3. Para controlar o gerenciamento de memória e de threads, esta máquina virtual utiliza o Linux kernel. Uma ferramenta chamada DX que está inserida junto ao Android SDK trata de comprimir e converter arquivos .class Java em arquivos .dex utilizados pela máquina virtual Dalvik.

Aplicações desenvolvidas para o Android podem ser distribuídas gratuitamente ou vendidas utilizando o serviço Android Market, mantido pela Google, que permite a divulgação, distribuição e licenciamento dos aplicativos registrados no site (ANDROID DEVELOPERS, 2011d).




1   2   3


©aneste.org 2017
enviar mensagem

    Página principal