Projeto: X - Jogo de Cartas

Jogo de cartas com quests.

Início do Desenvolvimento: 13 de Agosto de 2020;
Fim do Desenvolvimento: X de X de X;

Participantes:
@KlinsmannHengles
@Saulo

Links:

1 Curtida

Sexta-feira, 14 de Agosto de 2020

  • A carta do rei é o prefab pricipal, todas as outras cartas serão uma variante dela, ou seja, alterando ela todas as outras são alteradas também;
  • Adicionei a vida na carta e ela muda de acordo com o Display;
  • Adicionei uma nova fonte, coloquei na planilha de licenças e configurei nas cartas;
1 Curtida

Sexta-feira, 14 de Agosto de 2020

  1. Criei todas as cartas cujas artes são do pacote “16x16 Fantasy RPG Characters”;
  2. Criei na Unity as animações das cartas do King e do Alchemist, além disso todos os filhos do King tem o slot de animação, mas que precisam ser feitas;
1 Curtida

Sábado, 15 de Agosto de 2020

  1. Configurei o Prefab do Rei, Arqueiro e Alquimista;
  2. Criei o BattleManager e o BattleUIManager;
  3. Criei o Painel de Batalha com o Background e o Background de Status;
  4. Agora ao colocar o mouse em cima de uma carta, aparece a descrição na tela;
  5. Criada a carta vermelha que pode ser usada para os inimigos;
1 Curtida

Domingo, 16 de Agosto de 2020

  1. Agora é possível mover as cartas com o mouse;
  2. Ao soltar a carta depois de mover ela volta para a sua posição inicial;
1 Curtida

Domingo, 16 de Agosto de 2020

  1. Agora a carta tem um CanvasGroup, e quando está sendo movida o alpha abaixa, dando transparência;
  2. Quando a carta é levada até o inimigo e solta, a carta é destruída. Isso será usado futuramente para dar dano no inimigo;
1 Curtida

Segunda-feira, 17 de Agosto de 2020

  1. O inimigo perde vida quando uma carta é dropada em cima dele;
  2. Agora as cartas possuem um ActualHealth e um InitialHealth pra manipular o dano, além de um ActualAttack e um InitialAttack pra manipular futuros efeitos;
  3. Agora a carta do inimigo atualiza o display quano uma carta carta é dropada em cima dele, para isso foi criado o EnemyDisplay();
  4. Agora a interface é um WordSpace com uma câmera, isso vai servir para quando for feito o uso de shader nas cartas;
  5. Inspector das cartas agora está melhor organizado, coloque dois [Header];
  6. Criei o script BattleSetup(), um ScriptableObject onde ficarão armazenados os dados de cada batalha, como número de inimigos, etc.
1 Curtida

Terça-feira, 18 de Agosto de 2020

  1. Display do inimigo atualiza quando inicia a batalha;
  2. Setup da Interface, tamanho do canvas agora é feito pra Android, assim como o tamanho da câmera, posição das cartas arrumada;
  3. Teste com dois inimigos (vou precisar modificar o código pra ele criar um novo ScriptableObject com base na carta que está no Inspector);
  4. Comecei a animação da barra inferior. Ao invés dela simplesmente aparecer, ela vai vir de baixo subindo até a posição que mostra, quando o mouse sair de cima ela volta pra baixo.
1 Curtida

Quarta-feira, 19 de Agosto de 2020

  1. Criei o CopyCard() que copia os dados do CardUnit em uma classe com os dados que poderão ser modificados;
  2. Alterei o código do EnemyDisplay e EnemyBehaviour pra alterar os dados desta classe com a cópia dos dados e não mais a do ScriptableObjects, com as modificações agora cada inimigo tem seus próprios dados que são modificados durante a batalha, desta maneira cada um pode ter suas variáveis alteradas sem alterar a das suas outras cópias;

No nosso canal do Discord, no projetox_um-jogo-de-cartas vou postar um vídeo com o estado atual do jogo.

1 Curtida

Quinta-feira, 20 de Agosto de 2020

  1. Corrigi um bug onde, ao abrir a Unity, na primeira vez que eu rodo o jogo, ele carrega os status errados da carta. Em todas as vezes seguintes ele carregava certo;
  2. Coloquei os slots de cartas na tela, são nesses slots que as cartas vão aparecer depois que você usa uma carta;
  3. Coloquei o Player Life na tela, é só um texto por enquanto, ainda não faz nada;
1 Curtida

Sexta-feira, 21 de Agosto de 2020

  1. Carta do inimigo é destruída quando a vida fica abaixo ou é igual a 0;
  2. Criei o DeckBehaviour que vai ter o comportamento do Deck;
  3. Destrui a cartas na scene para que elas sejam setadas no começo da batalha em uma das posições, mas vou precisar modificar outros códigos pra isso funcionar desse jeito;
1 Curtida

Sábado, 22 de Agosto de 2020

  1. Modifiquei todo o BattleUIManager e coloquei para ele alterar o StatsBackground, assim a carta não precisa mais de referência para o StatsBackground, ela só chama uma função do BattleUIManager. Então, agora a carta que é criada funciona corretamente;
  2. Corrigi um problema onde a carta não era criada na posição do slot;
  3. Agora consigo criar cartas em todos os três slots;
1 Curtida

Domingo, 23 de Agosto de 2020

  1. Agora quando uma carta é usada, uma nova carta é criada no lugar dela. Nisso eu criei o CardStatus() que vai conter os dados copiados de uma carta do CardUnit() e fiz alterações no EnemyBehaviour, que é quem chama essa função depois da carta ser destruída. O que eu preciso fazer agora é alterar o código para criar qualquer carta naquela posição, uma carta que seja sorteada entre as cartas do baralho.
1 Curtida

Domingo, 23 de Agosto de 2020
2. O Saulo me mandou a música que vai tocar durante a batalha;

1 Curtida

Segunda-feira, 24 de Agosto de 2020

  1. A trilha sonora da batalha foi colocada no jogo e está tocando assim que começa a batalha;
  2. Criei a carta Bishop;
  3. Comecei a criar o método que vai embaralhar o deck do jogador para as cartas do deck serem criadas na batalha de acordo com a ordem do deck;
1 Curtida

Terça-feira, 25 de Agosto de 2020

  1. Fiz o código que embaralha as cartas mas ele está bugado. Pesquisei na internet alguns códigos de embaralhar cartas e vou tentar implementar um deles amanhã, porque hoje começa a Moonlight GameJam e eu vou participar;
1 Curtida

Quarta-feira, 26 de Agosto de 2020

  1. O método que embaralha as cartas está funcionando corretamente;
  2. Ao embaralhar as cartas, os elementos estão sendo colocados em uma Queue;
  3. Agora ao instaciar a carta na scene, ao invés de pegar a carta no array que contém todas as cartas, ele pega o primeiro elemento da Queue e o tira da fila;

OBS: O próximo passo agora é colocar esses elementos tirados da Queue e colocar no Graveyard, assim quando não tiver mais cartas no baralho, ele embaralha as cartas do cemitério no baralho.

1 Curtida

Quinta-feira, 27 de Agosto de 2020

  1. Agora o número de cartas que restam no Deck é mostrado na interface do jogo e atualizado conforme as cartas vão sendo usadas;
  2. Comecei a fazer o sistema de mandar a carta para o cemitério, mas vou precisar mexer em mais coisas pra ele funcionar direito;
  3. Corrigi um bug onde as cartas não eram criadas;
  4. Buildei pra Android e o jogo está com um problema nele onde o dedo do jogador não carrega a carta junto, vou precisar corrigir isso.
1 Curtida

Sexta-feira, 28 de Agosto de 2020

  1. Fiquei 1h50min corrigindo o bud do drag da carta. Eu mudei completamente o jeito como a carta é guiada pelo mouse porque estou usando World Space e não Screen Space. Buildei pra Android e está funcionando corretamente agora.
1 Curtida

Sábado, 29 de Agosto de 2020

  1. Corrigi um erro que estava dando (que deixava o jogo rodar normalmente, mas aparecia o alerta), onde eu estava chamando uma variável que ainda não havia sido definida no Start() de uma classe;
  2. Agora eu sei no código o controle das cartas que estão no tabuleiro e consigo mandar elas para o cemitério depois que são usadas;
  3. Corrigi o fato de que o numero de cartas estava sendo atualizado na interface antes de eu tirar a carta da fila. Agora ela esta mostrando corretamente o numero de cartas na tela;
1 Curtida