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
Controle do Documento
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.
| |
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
|
| ||
Daniel Lucas Pereira
Flávio Bastos Haueisen
Jean Henrique Ferreira Freire
Thiago Lucas dos Santos
Weslei Antonio Vilela
|
1.1
|
| ||
Flávio Bastos Haueisen
Jean Henrique Ferreira Freire
Lucas Antonio Conceição
|
2.0
|
| ||
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
|
| ||
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
|
| ||
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
|
| ||
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
|
| ||
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
|
| ||
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
|
| ||
Visão Geral do Projeto
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.
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.
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
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.
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.
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.
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.
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.
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.
Casos de Uso Descritivo
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.
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.
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.
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.
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.
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.
Infraestrutura: Plataformas e Comunicação
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.
Requisitos de software
Os requisitos de software recomendados são: Sistema Operacional Windows 7 Home Premium ou Windows 7 Ultimate.
Projeto de Interfaces GráficasCaracterizaçã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.
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.
Modos de Interação
Descrição de Comandos
O Jogo é inteiramente controlado pelo Mouse.
Guia de Recursos/Objetos
Tabela com Recursos/Objetos Empregados
Tabela 1:
Tabela 2:
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:
Nenhum comentário:
Postar um comentário