Total de visualizações de página

quarta-feira, 2 de dezembro de 2015

Grupo Oito 8 
Technical Design Document
ClickSof
Technical Design Document
Autores                                     Daniel Lucas Pereira
Flávio Bastos Haueisen
Humberto Lopes de Morais
Jean Henrique Ferreira Freire
Lucas Antonio Conceição
Thiago Lucas dos Santos
Weslei Antonio Vilela
Data de criação        17 de Setembro de 2015
Última atualização        03 de Dezembro de 2015
Versão        8.0



  1. Controle do Documento

    1. Contribuições

Nome
Papel
Funções Principais



Daniel Lucas Pereira
Flávio Bastos Haueisen
Humberto Lopes de Morais
Jean Henrique Ferreira Freire
Lucas Antonio Conceição
Thiago Lucas dos Santos
Weslei Antonio Vilela
Estória, Modelador, Programador, Documentação.
Determinar Estória, Funcionalidades, Idéia do Jogo, Design do Jogo e características gerais do Jogo.
Daniel Lucas Pereira
Lucas Antonio Conceição
Thiago Lucas dos Santos
Weslei Antonio Vilela
Estória, Modelador, Programador, Documentação
Organização do trabalho.
Humberto Lopes de Morais
Thiago Lucas dos Santos
Programador, Documentação
Conferências gerais e testes.
Jean Henrique Ferreira Freire
Lucas Antonio Conceição
Programador, Documentação
Criação dos dados Técnicos, Montagem de Tabela de dados dos Objetos e Desenvolvimento das Perguntas.
Daniel Lucas Pereira
Flávio Bastos Haueisen
Jean Henrique Ferreira Freire
Estória, Modelador, Programador, Documentação
Modelagem das características gerais do Jogo e Funcionalidades.

    1. Histórico de Revisões


Autor
Versão
Resumo da atividade





Daniel Lucas Pereira
Flávio Bastos Haueisen
Humberto Lopes de Morais
Jean Henrique Ferreira Freire
Lucas Antonio Conceição
Thiago Lucas dos Santos
Weslei Antonio Vilela
1.0
  • Primeira versão do Projeto (incluindo todas as características idealizadas originalmente para o jogo.).

Daniel Lucas Pereira
Flávio Bastos Haueisen
Jean Henrique Ferreira Freire
Thiago Lucas dos Santos
Weslei Antonio Vilela
1.1
  • Adição de Tarefas.

Flávio Bastos Haueisen
Jean Henrique Ferreira Freire
Lucas Antonio Conceição
2.0
  • Adição dos detalhes ao modelo.

Daniel Lucas Pereira
Flávio Bastos Haueisen
Humberto Lopes de Morais
Jean Henrique Ferreira Freire
Lucas Antonio Conceição
Thiago Lucas dos Santos
Weslei Antonio Vilela
3.0
  • Revisão Parcial do Projeto;

Daniel Lucas Pereira
Flávio Bastos Haueisen
Humberto Lopes de Morais
Jean Henrique Ferreira Freire
Lucas Antonio Conceição
Thiago Lucas dos Santos
Weslei Antonio Vilela
4.0
  • Definições gerais de percurso;
  • Desenvolvimento do Projeto do Jogo;
  • Definições das principais funcionalidades do personagem principal;
  • Definições das principais características;
  • Organização das tarefas;
  • Definições dos principais encontros e reuniões do grupo para o desenvolvimento e consolidação do Projeto.

Daniel Lucas Pereira
Flávio Bastos Haueisen
Humberto Lopes de Morais
Jean Henrique Ferreira Freire
Lucas Antonio Conceição
Thiago Lucas dos Santos
Weslei Antonio Vilela
5.0
  • Definição de características;
  • Conserto de “Bug’s”;
  • Testes gerais de funcionalidade;
  • Modelagem das informações específicas

Daniel Lucas Pereira
Flávio Bastos Haueisen
Humberto Lopes de Morais
Jean Henrique Ferreira Freire
Lucas Antonio Conceição
Thiago Lucas dos Santos
Weslei Antonio Vilela
6.0
  • Definição do restante das características gerais do jogo;
  • Finalização da organização de algumas fases;
  • Modelagem de características específicas;;
  • Implementação de novas funcionalidades;
  • Testes gerais.

Daniel Lucas Pereira
Flávio Bastos Haueisen
Humberto Lopes de Morais
Jean Henrique Ferreira Freire
Lucas Antonio Conceição
Thiago Lucas dos Santos
Weslei Antonio Vilela
7.0
  • Desenvolvimento de dados restantes do Jogo
  • Finalização da modelagem;
  • Finalização da programação;;
  • Organização Final do Trabalho;
  • Adição de funcionalidades extras;;
  • Testes específicos;
  • Testes gerais.

Daniel Lucas Pereira
Flávio Bastos Haueisen
Humberto Lopes de Morais
Jean Henrique Ferreira Freire
Lucas Antonio Conceição
Thiago Lucas dos Santos
Weslei Antonio Vilela
8.0
  • Definições finais do Jogo;
  • Organização final do Projeto;
  • Conferências e testes finais.
  • Consolidação das informações registradas no Game Design Document - GDD.

  1. Visão Geral do Projeto

    1. Objetivos do Projeto

Os Objetivos do desenvolvimento desse projeto foram:
  • Obter a oportunidade e experiência de desenvolver um projeto de jogo em grupo, usando os conceitos de desenvolvimento de projetos, estudados na disciplina de Engenharia de Software.
  • Consolidar o trabalho prático final da disciplina de  Engenharia de Software.
  • Superar desafios do desenvolvimento de um jogo complexo e completo com um grande grupo de desenvolvedores.
  • Interesses pessoais pela área de  Engenharia de Software.

    1. Requisitos Gerais

O sistema deverá ser implementado buscando atingir os seguintes requisitos de negócios:
  • Requisitos funcionais.
  • Facilidade de instalação.
  • Execução em sistemas gráficos básicos.
  • Facilidade no uso.
  • Requisitos de visibilidade.

    1. Instruções de Instalação

    Teoricamente, para ser instalado o jogo necessita apenas de ser baixado como um aplicativo android, que o próprio android realiza o processo de instalação.
Para a versão online, basta o usuário executar o jogo diretamente do seu navegador.


Ferramentas de Desenvolvimento
    1. Motor de Jogo

Características Gerais
Para o desenvolvimento deste projeto foi utilizado a linguagem Java, o Framework LIBGDX (para gerar o projeto para as plataformas Web e Android.).

Especificações Técnicas
Suporte a som, mouse (ou toutscreen), animação.
Suporte a imagem (png, psd, jpg, png, gif, bmp, tga, tiff, iff, pict, dds).
Suporte a texto: txt, htm, html, xml, bytes.
Suporte a colisão de click, programação, operações matemáticas, animação.

Executa diretamente do navegador em: Windows, Linux, Mac e Android com suporte para Java Developer 7 e Navegador Firefox.
Também é possível jogar diretamente de dentro do Android, pois pode ser baixado como um aplicativo.

Requisitos Mínimos
Windows XP SP3+ com Navegador Mozilla Firefox e Plugin Java Developer 7.
Linux Ubuntu 14.0 com Navegador Mozilla Firefox e Plugin Java Developer 7.
Mac Lion (ou superior) com Navegador Mozilla Firefox e Plugin Java Developer 7.
Android com Navegador Mozilla Firefox e Plugin Java Developer 7.
Android KitKat 4.2 ou superior.

    1. Programação

A linguagem escolhida para o desenvolvimento do jogo foi Java devido a grande quantidade de material de pesquisa disponível, e também por ser uma linguagem que facilita a portabilidade, e também por ser a linguagem que todos do grupo de trabalho tem facilidade de trabalhar, ou já tiveram algum contato.
A ferramenta Libgdx permite ainda que todo o projeto desenvolvido em Java seja compilado para HTML5, permitindo ainda que o mesmo jogo seja facilmente adaptado para uma versão Web. O mesmo aplicativo permite também que seja possível compilar o projeto como um aplicativo Java.
Nenhuma IDE para execução ou integração do projeto com outras bibliotecas foi necessário.

    1. Arte Gráfica

Não foram utilizadas ferramentas sofisticadas para modelagem de artes.
Porém, como este trabalho tem somente um cunho acadêmico (e não comercial), optamos por utilizar animações simples e objetivas, visando atingir as metas e objetivos estabelecidos no projeto.
    1. Produção/Edição de Audio e Vídeo

Culturalmente este tipo de jogo/aplicativo não contêm recursos de som e áudio; então nenhum recurso deste tipo foi implementado.


  1. Estruturas do Jogo

O jogo Clicker EngSoft usa animações e controladores de animação, Colisões para detectar cliques e outros eventos desencadeados pelo mouse, além de funções auxiliares para controlar alguns os elementos do jogo e da cena.

    1. Casos de Uso

Abaixo está sendo apresentado os casos de uso:

Caso de Uso: Click no Computador.
Ator: Jogador.
Pré-condição: Click no Computador.
Ação: Se o Click for reconhecido.
         Mais uma linha de código é contabilizada.
O mesmo valor em dinheiro é contabilizado.
        Senão: Nada acontece.

Caso de Uso: Comprar um Recurso/Objeto.
Ator: Jogador.
Pré-condição: Click do Jogador em um Recurso/Objeto.
        Existencia de Dinheiro para adquirir o Recurso/Objeto.
Ter alcançado o Nível de Maturidade mínimo requerido para adquirir o objeto.
O Objeto/Recurso deve estar ativo/disponível para ser Adquirido.
Ação: Se o Click for reconhecido.
         O Recurso/Objeto é adquirido.
        Soma-se +1 na quantidade total daquele Recurso/Objeto.
        A cada loop do jogo, sua contribuição é registrada.
    Senão: Nada acontece.

Caso de Uso: Clicar na Avaliação.
Ator: Jogador.
Ação: Click do Jogador no item Avaliação.
Pré-condição: Click do Jogador no item Avaliação.
        O Item Avaliação deve estar ativo.
        Possuir todos os requisitos mínimos em termos de Recurso/Objeto.
Possuir o Nível de Maturidade mínimo requerido para responder a Avaliação.
Ação: Se o Click for reconhecido
         Uma pergunta avaliativa é apresentada ao Jogador.
Várias respostas possíveis para esta pergunta são apresentadas ao Jogador.
    Senão: Nada acontece.

Caso de Uso: Responder corretamente a Avaliação.
Ator: Jogador.
Ação: Click do Jogador na resposta correta da Avaliação.
Pré-condição: Click do Jogador na resposta correta da Avaliação.
Ação: Se o Click for reconhecido.
    O Jogador sobe de Nível de Maturidade.
    O Item “Maturidade” do Layout do Jogo é atualizado.
    Senão: Nada acontece.

Caso de Uso: Clicar no Item Ajuda.
Ator: Jogador.
Ação: Click do Jogador no Item Ajuda.
Pré-condição: Click do Jogador no Item Ajuda.
Ação: Se o Click for reconhecido.
    Os Objetos/Recursos necessários para o presente nível de Maturidade são exibidos.
    Senão: Nada acontece.

Caso de Uso: Clicar no Item Salvar.
Ator: Jogador.
Ação: Click do Jogador no Item Salar.
Pré-condição: Nenhum.
Ação: Se o Click for reconhecido.
    O Jogo é salvo.
    Senão: Nada acontece.

    1. Casos de Uso Descritivo

      1. Caso de Uso Click no Computador


Quando o Jogador clicar no Computador, e o click é reconhecido ele contabiliza mais uma linha de código, e a mesma quantidade em dinheiro é contabilizada. O fluxo principal é:

    Jogador Clica no Computador → Click reconhecido → Linha de código e dinheiro contabilizados.

Se o click do Jogador não for reconhecido, o fluxo alternativo ocorre, o que significa que:

    Jogador Clica no Computador → Click não reconhecido → nada acontece.
      1. Caso de Uso Adquirir Recurso/Objeto


Quando o Jogador clicar em um Recurso/Objeto para adquiri-lo, e existe dinheiro para adquirir este recurso/objeto, e possui nível de maturidade mínimo requerido para adquirir o recurso/objeto, e o mesmo está disponível e ativo para ser adquirido, se o click é reconhecido, o recurso/objeto é adquirido e o saldo do dinheiro atualizado. O fluxo principal é:

Jogador Clica em um Recurso/Objeto → Click reconhecido → Existe Dinheiro para adquirir o Recurso/Objeto → Jogador possui Nível de Maturidade mínimo requerido para adquirir o objeto → O Objeto/Recurso está ativo/disponível para ser Adquirido → O Recurso/Objeto é adquirido: Soma-se +1 na quantidade total daquele Recurso/Objeto (A cada loop do jogo, sua contribuição é registrada) → Saldo do Jogador é atualizado.

Se o click do Jogador não for reconhecido, o fluxo alternativo ocorre, o que significa que:

    Jogador Clica em um Recurso/Objeto → Click não reconhecido → nada acontece.

      1. Caso de Uso Clicar na Avaliação   


    Quando o Jogador Clickar na Avaliação, e o Item da avaliação estiver ativo, e o Jogador possuir todos os requisitos mínimos em termos de Recurso/Objeto, e possuir nível de Maturidade mínima e o Click for reconhecido; uma pergunta avalitiva e várias respostas possíveis são apresentadas  ao Jogador. O  fluxo principal é:

Jogador Clica no Item Avaliação → Click reconhecido → O Item Avaliação deve estar ativo→ Possui todos os requisitos mínimos em termos de Recurso/Objeto → Possuir o Nível de Maturidade mínimo requerido para responder a Avaliação → Se o Click for Reconhecido→ Uma pergunta avaliativa é apresentada ao Jogador. → Várias respostas possíveis para esta pergunta são apresentadas ao Jogador.

Se o click do Jogador não for reconhecido, o fluxo alternativo ocorre, o que significa que:

Jogador Clica no Item Avaliação → Click não reconhecido → nada acontece.

      1. Caso de Uso Responder Corretamente a Avaliação


    Quando o Jogador Clickar na resposta correta da Avaliação, se o Click for reconhecido, o jogador sobre de Nível de Maturidade, o item Maturidade do Layout do Jogo é atualizado. O  fluxo principal é:

    Jogador clica na resposta correta da Avaliação→ Click reconhecido → jogador sobre de Nível de Maturidade→ Item Maturidade do Layout do Jogo é atualizado.

Se o click do Jogador não for reconhecido, o fluxo alternativo ocorre, o que significa que:

Jogador clica na resposta correta da Avaliação→ Click não reconhecido → nada acontece.
      1. Caso de Uso Clicar no Item Ajuda


Quando o Jogador clica no item Ajuda, Se o Click for reconhecido, Os Objetos/Recursos necessários para o presente nível de Maturidade são exibidos. O fluxo principal é:

    Jogador clica no item Ajuda→ Click reconhecido →  Os Objetos/Recursos necessários para o presente nível de Maturidade são exibidos.

Se o click do Jogador não for reconhecido, o fluxo alternativo ocorre, o que significa que:

Jogador clica no item Ajuda→ Click não reconhecido → nada acontece.

      1. Caso de Uso Clicar no Item Salvar


Quando o Jogador clica no item Salvar, Se o Click for reconhecido, O Jogo é salvo. O fluxo principal é:

    Jogador clica no item Salvar→ Click reconhecido →  O Jogo é salvo.

Se o click do Jogador não for reconhecido, o fluxo alternativo ocorre, o que significa que:

Jogador clica no item Salvar→ Click não reconhecido → nada acontece.


  1. Infraestrutura: Plataformas e Comunicação

    1. Requisitos de hardware

Os requisitos de Hardware recomendados são: Processador i5 3° Geração, 8Gb de Ram e 1Gb de Memória Gráfica dedicada e saída de audio estéreo.

Os requisitos de Hardware mínimos são: Processador Pentium Duo Core ou Superior, 2Gb de Ram e 1Gb de Memória Gráfica e saída de audio estéreo.
Dispositivos de interação: Moused, Teclado, Tela.
    1. Requisitos de software

Os requisitos de software recomendados são: Sistema Operacional Windows 7 Home Premium ou Windows 7 Ultimate.

  1. Projeto de Interfaces Gráficas

    1. Caracterização do Usuário

    Faixa etária: Livre.
    Disponibilidade para Jogo: Imediata.
    Aspectos Cognitivos: Livre.
    Conhecimento do Domínio: Recomendado.
    Conhecimento do Ambiente (Celular, PC): Baixo.

    1. Análise Competitiva

    Do ponto de vista da interface, o Jogo possui uma interface limpa e simplificada o que facilita a jogabilidade, mas chama pouca atenção se comparada aos jogos do gênero.
    Pontos fortes: Layout limpo, organizado.
    Pontos fracos: Layout Simplificado.

    1. Modos de Interação

Descrição de Comandos


O Jogo é inteiramente controlado pelo Mouse.


    1. Guia de Recursos/Objetos

Tabela com Recursos/Objetos Empregados


Tabela 1:
Tabela 2:
    1. Conjunto de Telas

Telas do Jogo, com passagens e exemplos de funcionalidades:

Item Formulário de Preenchimento de Nome:

Item Creditos:

Item Menu do Jogo:


Item Tela do Jogo:

Item Tela do Jogo (Após algum progresso.):



Item Avaliação e Respostas apresentadas:


Construções 1/6:

Construções 2/6:

Construções 3/6:


    Construções 4/6:

Construções 5/6:

Construções 6/6:


Dados do Jogador:



Item Salvar e Objeto Computador de Click:







Nenhum comentário:

Postar um comentário