sexta-feira, dezembro 7

Aplicativo disponível!

Olá a todos.
Hoje marca o último dia de atividades diretamente ligadas à escola desse grupo, com a entrega das versões revisadas de documentação. Assim sendo, este blog certamente sofrerá uma significativa queda em sua atividade.
Para término de nossas atividades oficiais, gostaria de disponibilizar o produto que desenvolvemos, na forma de executáveis. Escolha o(s) que você deseja, abra a página e aperte Ctrl+S, ou vá em "File->Download" ou algo como "Arquivo->Baixar", dependendo da linguagem da sua conta do Google.
Link para o servidor de jogo -> http://tinyurl.com/GoAServer
Link para o jogo - http://tinyurl.com/GoAGame
Link para o MapMaker - http://tinyurl.com/MapMaker3
Essas provavelmente serão as últimas versões desses aplicativos por um bom tempo, a não ser que algum integrante do grupo decida continuar o desenvolvimento.
Por aqui encerro minhas atividades nesse blog, grato pela atenção.

sexta-feira, novembro 30

PTSD

Olá a todos!
Ontem (29/11/2012) o grupo PrimeEvils apresentou seu projeto aos professores Ivan e Renato. No momento, os integrantes estão se esforçando para fazer os ajustes sugeridos na documentação.
Agora que o desenvolvimento em si está parado, apresento-lhes alguns gráficos, números e informações interessantes sobre o projeto:

Total de linhas de código (ignorando html e documentos): 108814
Total de mudanças nos commits: 5435




 E por hoje é só.

domingo, novembro 25

Atualização

Olá.
Lembro-me de ter dito, na semana passada, que aquela seria a última atualização semanal antes da entrega do projeto. O projeto foi entregue em sua versão inicial, mas isso não significa que paramos de trabalhar.
Nos últimos dias, focamos na correção de problemas e adição de algumas características do jogo que antes haviam sido descartadas.
Sem mais delongas, eis o que foi feito pelos membros nessa semana:

Ogawa:
Até o dia 22/11 (entrega):
- Deu ataques a todos os mobs.
- Tornou possível colocar itens na barra de habilidades, fez com que itens na barra de habilidades tivessem sua quantidade mostrada, fez com que itens na barra quando utilizados descontassem a quantidade do inventário também e fez com que itens na barra fossem removidos quando acabassem.
- Fez com que o jogo mostrasse o dano tomado pelo jogador também. Quando o seu personagem toma dano ele é mostrado em vermelho, quando inimigos tomam dano ele é mostrado em branco.
Entre dia 23/11 e 25/11 (hoje):
- Adicionou o modo PvP (Player vs Player ou Jogador contra Jogador) ao multiplayer. Para acessá-lo, basta criar uma sala no modo PvP. Neste modo, você batalha contra até outros três jogadores em um mapa pequeno, e o personagem não é deletado quando morre.
- Alterou o modo como os itens são derrubados por monstros de modo que as chances de alguns itens aparecerem se alterem de acordo com a situação do personagem jogando. Por exemplo, se a vida do personagem está baixa poções de vida aparecem com maior frequência.
- Alterou o comportamento de chefes, de forma que quando eles atingem certos níveis de vida (50%, 25% e 12.5%) eles causem cada vez mais dano, e se movam mais rapidamente.
- Arrumou um problema no multiplayer com habilidades algumas vezes não sendo utilizadas corretamente.
- Alterou as sprites da maioria dos monstros de forma que seus ataques não acertem apenas ar.
- Melhorou a comparação de anéis nas tooltip de itens, agora o jogo sempre compara o anel a ser equipado com o anel mais fraco equipado, ao invés de sempre comparar com o anel do primeiro espaço.
- Adicionou músicas diferentes para o modo PvP.
- Arrumou um problema que fazia com que nomes dos usuários e danos tomados "pulassem" toda vez que o usuário utilizasse uma habilidade.

Lucius:
Até o dia 22/11 (entrega):
- Adicionou algumas habilidades ao jogo, incluindo habilidades de longa distância;
- Adicionou mais informação às tooltips de habilidades;
- Alterou o drag de itens do inventário para que ficasse igual ao drag de habilidades.
Entre dia 23/11 e 25/11 (hoje):
- Arrumou problemas que ocorriam quando tentando equipar e desequipar itens.

Felipe:
- Testes.

Ricardo:
- Testes.

sábado, novembro 17

Atualização Semanal

Sejam bem-vindos à última atualização semanal antes da entrega do projeto. A meros cinco dias do prazo final, é de se esperar que tudo esteja pronto, ou bem perto disso.
Felizmente esse é o caso para nós, que temos como única pendência a criação de mais habilidades para os personagens e monstros, um trabalho braçal que será terminado a tempo.

Enfim, vamos ao que foi feito pelos membros na última semana:

Ogawa:
- Fez com que todos os efeitos de itens funcionassem adequadamente;
- Adicionou todos os 370 itens do jogo, e os 40 mobs, além de determinar as chances de cada item ser derrubado por cada mob e as posições dos mobs nos mapas;
- Implementou as restrições de classe para uso de equipamentos determinados;
- Adicionou tratamento de dano no modo multiplayer;
- Alterou a progressão de experiência para saltos menos bruscos de dificuldade;
- Fez com que o jogo salve o progresso do usuário no último mapa, em que monstros ficam mais fortes a cada vez que são derrotados. Desse modo, não é mais possível para o usuário sair do jogo e voltar com os monstros novamente fracos;
- Arrumou o dano causado pelos personagens, que anteriormente só tinha seu fator aleatório recalculado quando atributos mudavam e não a cada ataque. Para refletir o fator aleatório do dano, foi alterado o mostrador de dano na janela de status do personagem, que agora indica uma faixa de dano possível;
- Alterou a fórmula de redução de dano tomado (defesa) para que dependa mais da vitalidade;
- Melhorou as tooltips de itens para que mostrassem mais informações sobre seus efeitos, quais classes podem usar o item e alterou a comparação de atributos de equipamentos para que comparações sejam feitas corretamente. Por exemplo, anteriormente se um personagem tinha um total de 10 de defesa por todos os seus equipamentos e visse uma tooltip de um equipamento para a cabeça de 6 para defesa, o jogo informaria que o jogador perderia 4 de defesa (10 - 6) mesmo se ele não tivesse nada equipado no espaço para cabeça. Agora o jogo compara o equipamento com o seu devido lugar, e informaria ao usuário que ele ganharia 6 de defesa, no exemplo;
- Arrumou um problema que fazia com que o minimapa fosse desenhado erroneamente em mapas maiores que 128x128 tiles;
- Arrumou um problema que causava erros ao tentar desequipar itens com um duplo click;
- Eliminou a possibilidade do jogador gerar um espaço de inventário infinito equipando e desequipando itens;
- Revisou toda a documentação necessária.

Lucius:
- Criou um InputHandler separado para a interface de usuário, procurando evitar que comandos do jogador passem despercebidos pelo jogo;
- Criou a árvore de habilidades e iniciou a adição de habilidades ao jogo.

Felipe:
- Finalizou os manuais de usuário do jogo e do MapMaker.

Ricardo:
- Finalizou todos os sprites de personagem.

domingo, novembro 11

Atualização Semanal

Vamos direto ao assunto. Segue o que foi realizado desde a última postagem:

Ogawa:
- Adicionados sons para quando os inimigos são atingidos;
- Dano tomado por inimigos agora é mostrado acima de suas cabeças;
- Adicionada uma barra de vida para os inimigos que aparece quando o jogador ataca um. Ela mostra a vida do inimigo e seu nome;
- O personagem agora fala que não tem MP o suficiente quando o jogador tenta utilizar uma habilidade sem ter MP o suficiente;
- Arrumado um problema que fazia com que personagens não fossem salvos automaticamente quando fechando o jogo;
- Selecionados os 396 itens que estarão presentes no jogo, e iniciada a adição deles nos mapas.

Felipe/Mano:
- Atualizado o manual de usuário do jogo.

Ricardo:
- Finalizado o cabelo do Archer;
- Criados os olhos e cabelos do Wizard.

Lucius/Victor/Eu:
- Implementado sistema de dia e noite;
- Adicionada a possibilidade de se colocar itens na barra de habilidades e utilizá-lo por lá;
- Adicionado tempo de espera em itens para evitar que os mesmos sejam utilizados rápido demais;
- Adicionado tempo de uso para habilidades - habilidades que demoram mais para serem utilizadas deixam a personagem vulnerável por mais tempo e a habilidade pode ser cancelada caso a personagem sofra um ataque antes de utilizá-la;
- Adicionadas informações gerais às habilidades (nome, descrição, custo de mana);
- Criada base para os ícones de habilidades;
- Adicionadas tooltips para a barra de habilidades;
- Criada a classe PlayableCharacter e refatorada a classe Character de modo a evitar que a classe Enemy herde atributos e métodos que nunca utilizará (exclusivos dos jogadores);
- Arrumado erro no posicionamento de animações quando a personagem se encontrava próxima as bordas do mapa.

domingo, novembro 4

Atualização Semanal

Trago a todos o que foi feito na última semana.

Ogawa:
- Alterou a música da tela de fim de jogo para uma mais apropriada.
- Adicionou a função da hotkey de mostrar os nomes dos itens, que quando ativada faz com que o jogo mostre os nomes dos itens caídos no chão acima de suas imagens.
- Organizou o código de todas as telas, diminuindo repetição (por exemplo, o desenho das caixas de diálogo que era repetido em cada tela foi externado), e facilitando o entendimento.
- Escreveu javadoc para boa parte do projeto (Servidor, Shared e a parte de telas do jogo).
- Distribuiu algumas funções da ScreenControl para novos managers (ConnectionManager, DatabaseManager e SoundManager), para diminuir a concentração de funções da classe.
- Arrumou um problema que fazia com que a altura do diálogo de opções fosse estranha em algumas telas.
- Arrumou um problema que fazia com que os itens no chão não desaparecessem se o jogador saísse do jogo e depois entrasse novamente.

Lucius:
- Criou uma classe para o mini mapa;
- Iniciou implementação da barra de habilidades (por enquanto mostra apenas a habilidade primária.

Felipe:
- Avançou no manual de usuário;
- Corrigiu algumas traduções do inglês para o português.

Ricardo:
- Continuou trabalho nos cabelos dos sprites.

domingo, outubro 28

Atualização Semanal

Olá, trago a todo agora as nossas atualizações semanais:

Ogawa:
- Adicionados os mapas restantes. Inimigos ainda não foram adicionados a todos eles.
- Adicionadas várias novas músicas. Músicas agora são separadas por grupos, e um grupo aleatório é tocado durante cada mapa, o grupo muda quando o mapa muda. Além disso, há um grupo de música que toca apenas quando um chefe aparece.
- Adicionado tratamento de drops de itens. As tabelas de drops agora são apropriadamente carregadas e utilizadas para determinar quais itens o monstro derrubará em sua morte.
- Adicionada lógica para ataques dos inimigos.
- Adicionado minimapa ao jogo. Ele mostra a posição do personagem, dos monstros, dos chefes e do portal.
- Adicionada tela de fim de jogo, e agora quando o personagem do jogador morre ele é deletado.
- Agora é possível pegar itens apenas por andar sobre eles.
- Adicionados sons para drops de itens, aparecimento de portais e para quando se anda por um portal.
- Todas as saídas e entradas dos mapas foram mapeadas.
- Barra de carregamento alterada para ser mais precisa em relação ao processo de carregamento.
- Arrumado um problema com a colisão não funcionando direito em alguns dos mapas.
- Arrumado um problema que fazia com que músicas começassem a tocar no volume máximo, e logo em seguida voltassem ao volume escolhido pelo usuário. Ainda é possível que ocorra caso o computador não seja rápido o suficiente, devido a uma restrição da biblioteca.
- Atualizou o relatório de desenvolvimento com tudo o necessário até a data de hoje.
- Revisou o que existe até agora do manual de usuário do jogo.
- O integrante sofreu de pesada intoxicação alimentar, o que o incapacitou de fazer tudo o que havia planejado para o fim de semana, o que, em consequência, pode atrasar a adição de inimigos a todos os mapas.

Ricardo:
- Finalizado os sprites de ataque do Wizard.
- Colocado olhos no Archer
- Iniciado a inserção de cabelo nos sprites do Archer

Lucius:

- Agilizado o carregamento de mapas;
- Implementada a deleção e utilização de items;
- Adicionadas mais informações nas tooltips de itens



Adiciono, também, o que falta para cada integrante fazer até o término do projeto:

Ogawa:
- Implementar projéteis
- Criar inimigos para todos os mapas
- Criar items e equipamentos
- Finalizar a documentação

Lucius:
- Terminar a adição de skills
- Adicionar a skillbar e menu de skills
- Finalizar o manual do MapMaker

Felipe:
- Fazer o manual de usuário do jogo

Ricardo:
- Finalizar os sprites