5W2H


What


  • 1. Qual o nome do seu projeto?
    • Power 2048.


  • 2. Qual o objetivo deste projeto?
    • Desenvolver um aplicativo para Android, e futuramente IOS, com base no jogo 2048 e com novas funcionalidades para atrair novos usuários e antigos jogadores. Entre essas funcionalidades estarão "poderes" que auxiliam ou dificultam a jogabilidade, possibilidades e modos diferentes de jogo, entre outros.


  • 3. Quais os maiores desafios, na sua opinião, para se realizar este trabalho?
    • Desenvolver uma idéia atrativa para os novos usuários e jogadores experientes que já conhecem o jogo. Há também o desafio de programar tal aplicativo em uma linguagem de programação ainda desconhecida.


  • 4. Quais os conhecimentos básicos que devemos ter para se implementar este projeto?
    • Conhecimento da linguagem de programação.
    • Conhecimento das regras gerais do jogo base, 2048.
    • Conhecimento do mercado de jogos, com foco nas necessidades e desejos dos usuários.



Why


  • 1. Porque é interessante desenvolver este projeto?
    • Eu, como usuária, acredito que as variações existentes do 2048 são ainda entediantes e muito repetitivas. O jogador está constantemente repetindo o que foi feito anteriormente, sem atenção e esforço. Este projeto pretende deixar o jogo mais rápido e aleatório, atraindo os usuários das aplicações anteriores. Além disso, deseja criar dificuldades para que o jogador foque no jogo.


  • 2. Porque deve usar a tecnologia escolhida?
    • Os celulares são amplamente utilizados nos dias de hoje, é de fácil acesso e acompanha o usuário no seu dia-a-dia.


  • 3. Porque usar o hardware específico?
    • Não se aplica.


  • 4. Porque usar o sistema específico?
    • Tanto o Android quanto o IOS tem facilidades de programação que aumentam as possibilidades dos aplicativos utilizados.


Who


  • 1. Quem pode se beneficiar deste projeto?
    • Todo e qualquer usuário de smartphones que poderá utilizar o aplicativo, além de empresas de marketing que poderão utilizar a plataforma para propagandas.


  • 2. Quem poderá operar o sistema?
    • Os jogadores poderão operar o aplicativo no seu modo jogo. O administrador opera o serviço de forma a editar as propagandas e etc.


  • 3. Quem deverá participar do desenvolvimento do sistema?
    • X Patrocinadores
    • X Empresas que desejam propagandas
    • 1 Engenheiro de Software
    • 1 Game Designer
    • 1 Programador
    • 1 Analista de Marketing
    • 1 Analista de Suporte Técnico


Where


  • 1. Onde os dados serão inseridos e externalizados (publicados)?
    • Os dados para utilização do jogo serão inseridos pela tela no smartphone e também externalizados na tela.


  • 2. Onde esta aplicação poderá ser usada?
    • Em smartphones com tecnologia Android.


  • 3. Onde os dados serão armazenadas?
    • Os dados estatísticos e gerais do jogo serão instalados no celular a partir do Google Play, assim os dados serão armazenados em um espaço de memória do smartphone.


  • 4. Onde o software deverá ser hospedado?
    • Na base de aplicativos do Google Play.


When


  • 1. Em quanto tempo pretende desenvolver o sistema?
    • 6 meses podem ser necessários para o desenvolvimento e lançamento do protótipo, no máximo 8 meses para a liberação ao usuário.


  • 2. Quais serão as fases e em quanto tempo cada uma?
    • Projeto (e análise de mercado) - 2 meses.
    • Modelagem - 2 meses.
    • Desenvolvimento do protótipo - 2 meses.
    • Desenvolvimento do aplicativo final - 2 meses.


  • 3. Qual o tempo de resposta do dispositivo ou do sistema?
    • Como a interface com o usuário é visual, o tempo de resposta não precisa ser em tempo real. O tempo de reação da visão humana é de cerca de 0,3s.


  • 4. Quanto tempo para responder a uma entrada?
    • O tempo de resposta a uma entrada deve ser ligeiramente mais rápido que o de resposta do sistema, para que o usuário tenha a impressão de resposta instantânea.


  • 5. Quanto tempo para gerar a saída?
    • Assim como o tempo de resposta, deve-se criar a ilusão de resposta instantânea.


How


  • 1. Como será dividido o desenvolvimento do sistema?
    • Projeto
    • Design gráfico do jogo (desenvolvimento da interface)
    • Programação
    • Testes


  • 2. Como será feita a entrada de dados?
    • Os dados serão adquiridos através da tela do smartphone.


  • 3. Como será feita a saída de dados?
    • Os dados serão apresentados ao usuário pela tela do smartphone através de uma interface intuitiva.


  • 4. Cite as funcionalidades?
    • O jogo conta com um menu principal onde o usuário pode escolher entre as opções: Estatisticas, Modos de Jogo, Loja de Poderes, Configuracoes e Ajuda. Alem destas funcoes o jogador pode recomecar o jogo (Restart) e desfazer o movimento (Undo). Incrementando funcionalidades de forma inovadora, o usuario pode utilizar poderes que o auxiliam no jogo e aumentam o nivel de diversao, estes sao: x2, Choose the Number, Choose the Place, Power Move.


  • 5. Descreva a 1a. funcionalidade?
    • No menu de Estatisticas se visualiza todos os dados estatisticos do usuario, entre maior peca obtida, maior score obtido, maior peca mais obtida (com base em todos os jogos), numero de jogos ganhos. Ha tambem a possibilidade de resetar os dados pela funcao Reset, e visualizar seu ranking entre amigos atraves do Ranking.


  • 6. Descreva a 2a. funcionalidade?
    • No Modos de Jogo, o usuario pode escolher entre o jogo classico (Classic - 2048 basico sem nenhuma funcionalidade adicional), jogo com poderes (Power - adiciona ao jogo a possibilidade de utilizar poderes para aumentar a jogabilidade e a dificuldade do jogo), jogo a partir de estatisticas (Statistical - onde o usuario comeca com uma peca maior, a partir dos seus dados estatisticos) ou o jogo entre 2 players (2 Player).


  • 7. Descreva a 3a. funcionalidade?
    • A Loja de Poderes, e uma loja virtual onde o jogador pode comprar novos poderes ou melhorar os poderes que ja tem. Dessa forma, existe a possibilidade de Buy Power ou Upgrade. O upgrade aumenta o tempo de acao do poder.


  • 8. Descreva a 4a. funcionalidade?
    • O menu de Configuracoes integra as possibilidades de mudar a cor de fundo, tirar ou colocar a musica e sons do jogo, e mudar a velocidade da animacao.


  • 9. Descreva a 5a. funcionalidade?
    • Em Ajuda o usuario obtem explicacoes mais detalhadas de cada modo de jogo, alem de detalhamentos sobre os poderes e como jogar.


  • 10. Descreva a 6a. funcionalidade?
    • Poderes:
      • x2 - multiplica 30% do board por 2 por um certo numero de rodadas (que pode ser aumentado na loja de poderes). Apos esse tempo, as pecas que foram multiplicadas e ainda restam no board - sem serem “fundidas” com outras pecas - sao dividas por 2.
      • Choose the Number - o jogador escolhe qual sera o proximo numero a aparecer no board, a posicao e randomica.
      • Choose the Place - o usuario escolhe o lugar da proxima peca, sendo o numero randomico ate a metade da peca maxima do jogo atual.
      • Power Move - por um movimento (ou mais, a partir do upgrade), o usuario pode “fundir” pecas maiores nas menores - sem que seus numeros sejam iguais. Nesse caso, o numero da maior peca e duplicado para a nova peca.
    • Contra poderes (atuam de forma aleatoria no jogo, compensando os poderes usados pelo jogador):
      • Invert! - inverte todos os movimentos do jogo por uma quantidade de movimentos, ex.: se o jogador move as pecas para cima, elas irao para baixo.
      • Color-blind - troca as cores “normais” das pecas, enganando o usuario que associa a cor ao numero.
      • /2 - Age exatamente igual ao x2, porem dividindo as pecas por 2.
      • Fail Move - Age contrario ao Power Move, fundindo as pecas menores nas maiores.


How much


  • 1. Quanto custa cada parte do sistema?
    • O detalhamento de custos para o desenvolvimento do sistema segue abaixo.


  • 2. Quanto deverá custar todo o sistema?
    • Considerando o desenvolvimento real proposto abaixo e o detalhamento que segue, o projeto custará por volta de R$65.000.
      • Detalhamento geral:
        • Profissionais: R$7500/mês * 8 meses = R$60.000
        • Notebooks: 1 * R$3000
        • Smartphones: 1 * R$500
        • Tablets: 1 * R$1200
        • Registro de Developer: $25 ~ R$65


  • 3. Quantas pessoas deverão ser usadas (Equipe) ?
    • Idealmente, seriam necessárias 5 pessoas, descritas no tópico Who. Na realidade, apenas uma pessoa compõe a equipe, com a possibilidade de auxílio de prestadores de serviço.


  • 4. Quanto custa cada profissional?
    • Idealmente:
      • 1 Engenheiro de Software - cerca de R$4800 ao mês
      • 1 Game Designer - cerca de R$1800 ao mês
      • 1 Programador - cerca de R$2300 ao mês
      • 1 Analista de Marketing - cerca de R$1700 ao mês
      • 1 Analista de Suporte Técnico - cerca de R$1700 ao mês
      • (referência http://www.catho.com.br/profissoes/)
    • Na realidade (apenas um componente):
      • Engenheiro de Software, designer, programador e analista - cerca de R$7500 ao mês


  • 5. Qual deverá ser o preço de aquisição do seu software para o usuário final (Valor de mercado)?
    • Inicialmente o aplicativo será liberado com preço ZERO. No futuro pode ser possível cobrar valores pequenos, cerca de R$2,00 a R$5,00, para retirar as propagandas. Também poderá ser realizada a venda de "poderes" para auxiliar o jogador, com valores aproximados de R$10,00 por 100 poderes.


DFD

DER

DD

  • Telas do Jogo:

  • Outras Telas:
    • As telas restantes do jogo são apresentadas como no Menu Principal, com uma lista das opções que podem ser escolhidas ou das informações desejadas.
    • No caso da opção de Ajuda, a tela mostra uma lista com os Modos de Jogo possíveis e os Poderes existentes e quando escolhidos, a tela mostra a descrição de tal Modo ou Poder (pode ser interessante adicionar uma animação com a execução do Poder ou mostrando como tal Modo de Jogo funciona).


  • Entidades Externas:
    • Usuário - Utiliza o jogo.
    • Google Play - Usado para extrair informações sobre o usuário.
    • Administrador - Atualiza dados e cadastros no jogo.


  • Processos:
    • Autenticar Usuário - O usuário é obrigado a se Autenticar para acessar o jogo, após a primeira autenticação o processo acontece automaticamente e a tela do Jogo ou do Menu Principal é apresentada. Caso o usuário queira inserir um novo email, modificando de qualquer forma suas informações, ele pode interromper o processo automático e refazer a autenticação.
    • CRUD Usuário - A autenticação e cadastramento de usuários é realizada a partir de contas do Google Play.
    • Visualizar Menu Principal, Visualizar Menu Modos de Jogo, Visualizar Estatísticas, Visualizar Loja de Poderes, Visualizar Configurações, Visualizar Ajuda - Ativam suas respectivas telas.
    • Jogar Modo de Jogo
    • Recomeçar Jogo
    • Desfazer Movimento
    • Resetar Estatística - Limpa todos os dados da tabela Estatística para aquele Usuário.
    • Comprar/Melhorar Poderes - Atualiza dados das tabelas de Poderes alterando a quantidade de Poderes e sua quantidade de rodadas ativas.
    • Alterar Configurações
    • CRUD Propaganda - Propagandas serão apresentadas em todo fim de jogo. As propagandas inicialmente serão apenas de empresas brasileiras, e com fins lucrativos. Apenas o administrador pode cadastrar/modificar e eliminar propagandas.
    • CRUD Poder/Modos de Jogo - Atualiza descrições, possibilidades de jogo e etc.
    • Observações:
      • Se o aplicativo foi interrompido antes do término do jogo, na próxima utilização o jogo será continuado e a tela do Menu Principal não será apresentada, a não ser que o usuário escolha visualizar o menu.
      • Reviews dos usuários são realizadas a partir do Google Play, e sempre após 5 jogos finalizados o jogo pergunta por uma opinião, redirecionando o jogador ao site do Google Play, até que o usuário dê seu review.


  • Depósitos:
    • Usuário - O depósito Usuário guarda todas as informações retiradas da conta do Google Play. Dados de cartão de crédito, CPF, telefone e endereço são guardados com fins de compra/melhora de poderes e etc. O campo Sexo aceita as opções M (masculino) ou F (feminino).
    • Modo de Jogo - No Modo de Jogo, os campos Poderes, Estatísticas e Poderes, são do tipo T (true) ou F (false) para sinalizar qual o tipo do jogo desejado. Não é possível colocar True em mais de um dos campos.
    • Estatísticas - Só é possível ter uma única tabela por usuário, guarda dados estatísticos.
    • Configurações - Apenas uma tabela por usuário. O depósito de Configurações aceita T ou F para os campos CorFundo, Música e Sons para representar se a cor de fundo é preta (F) ou branca (T), e se a música e os sons estão ativos. Para o campo Animação utiliza-se D (devagar), N (normal) e R (rápido) para representar a rapidez da animação de movimentação das peças.
    • Poderes - AçãoRodadas é a quantidade de rodadas de atuação do poder (podendo ser mudada na Loja de Poderes com a compra de Upgrades), AçãoBoard é o percentual do Board que sofre ação do Poder (quantidade de peças que sofrem ação de forma randômica). PowerMove aceita T (true) ou F (false) para indicar que o poder é um Power Move.
    • Propaganda - Contém dados dos dias de uso e o hiperlink que leva até o site da Empresa.
    • Empresa - Guarda dados gerais de cada empresa cadastrada.
    • Cep, Bairro, Cidade e Estado - Têm entradas cadastradas pelo Administrador com os nomes escritos com acento e primeira letra em maiúsculo.


UML


Diagrama de Classes


Diagrama de Casos de Uso


Detalhamento dos Casos de Uso


Arquivo:Detalhamento Power2048 2015.pdf

Protótipo


  • Ambiente utilizado: Android Studio 1.0.2

Arquivo:Codigo Power2048.zip