Projeto: X - Jogo de Cartas

Domingo, 30 de Agosto de 2020

  1. Mandei a build de celular para outras pessoas testarem e em alguns celulares a tela está cortando. Eu vou precisar usar Screen Space - Camera ao invés de World Space, isso vai deixar eu redimensionar as telas pra diferentes tamanhos e ainda conseguir usar o shader do jeito que eu queria (testei isso em um outro jogo pra ver se funcionava e deu certo), no entanto não terminei de arrumar as configurações. No Screen Space - Camera, a tela ainda corta e passe boa parte do tempo pesquisando em como fazer isso do jeito certo pra vários tipos de tela com dimensões diferentes;
1 Curtida

Segunda-feira, 31 de Agosto de 2020

  1. Agora quando não existem mais cartas no deck, as cartas do cemitério são embaralhadas e colocadas no deck;
  2. Arrumei a UI, que agora é definitivamente Screen Space - Camera e não corta mais um pedaço da tela durante o teste na Engine, mas ainda preciso testar isso no celular de quem deu problema;
  3. Baixei o Lightweight RP e configurei o projeto para usar os shaders. Coloquei uma point light numa carta para testar está funcionando, mas ainda preciso testar um shader e decidir onde vou usá-los;
1 Curtida

Terça-feira, 01 de Setembro de 2020

  1. Criei dois shaders e materials, um para a carta em si e outro para o slot, configurei cada um deles;
  2. Programei para que fossem trocados os materiais em determinadas situações, então agora ao atacar um inimigo e colocar a sua carta em cima da dele, a carta brilha;
  3. Arrumei os textos das cartas depois de perceber que elas desapareciam se eu rodasse o jogo em uma tela maior, agora tudo funciona do jeito certo;

OBS: Estarei colocando um vídeo no canal do Discord hoje com o gameplay do jogo.

1 Curtida

Quarta-feira, 02 de Setembro de 2020

  1. Fiz uma revisão em todos os códigos, coloquei um pequeno cabeçalho como comentário no topo de cada Script, nele tem tem uma breve definição do que cada Script faz, também apaguei comentários desnecessários e pedaços de código inútil, coloquei alguns comentários em cima de alguns métodos com uma breve explicação;
  2. Otimizei o código do BattleManager, agora ele tem um único método para adicionar carta aos 3 slots;
  3. Comecei a fazer o método que vai pegar os dados de batalha do BattleSetup e criar inimigos de acordo com ele, mas esta longe de terminar, vou fazer isso amanhã;
1 Curtida

Quinta-feira, 03 de Setembro de 2020

  1. Modifiquei o jeito que os inimigos são criados na tela. Agora eu tenho um ScriptableObject chamado BattleSetup que o BattleManager vai pegar e ver que tipo de configuração a batalha vai ter (um inimigo, dois, três, ou um boss ou um boss com dois capangas), para cada um destes, a posição dos inimigos na tela vai mudar;
1 Curtida

Sexta-feira, 04 de Setembro de 2020

  1. Continuei trabalhando no modo como os inimigos aparecem na tela. Agora está tudo funcionando bem, é possível atacar os inimigos e eles perdem vida, além disso os cinco Setups de batalha estão bem setados;
  2. Criei uma planilha no drive onde vou montar as definições das cartas, traduções para outras línguas e definir os valores das cartas para balanceamento;
  3. Corrigi erros que apareciam no Console mas não bugavam o jogo;
1 Curtida

Sábado, 05 de Setembro de 2020

  1. Crei o PlayerBehaviou(), que por enquanto guarda só a vida e os pontos de ação do jogador, essa vida é mostrada na tela, mas o jogador ainda não tem maneiras de perder vida;
  2. Alterei o shader do inimigo para que ele brilhe quando a carta do jogador estiver em cima;
  3. Criei a carta do KnightStandard;
1 Curtida

Domingo, 06 de Setembro de 2020

  1. Agora os pontos de ação do jogador são alterados durante a batalha conforme as cartas sao usadas, e o número é atualizado na tela;
  2. Coloquei mais algumas cartas na planilha onde estou colocando os dados das cartas para fazer o balanceamento;
1 Curtida

Segunda-feira, 07 de Setembro de 2020

  1. Criei um sistema onde as cartas paravam de ser criadas e todas as cartas na mão do jogador eram destruídas depois que os pontos de ação acabavam, mas achei que não ficou bom no jogo, então estou criando outro sistema para resolver a troca de turnos de um jeito melhor;
  2. Agora quando os pontos de ação do jogador acabam, o turno muda para o do oponente, que inicia um ataque, a carta fica iluminada e o player perde vida, mas isso só funciona para um inimigo ainda, preciso fazer isso funcionar para vários;
1 Curtida

Terça-feira, 08 de Setembro de 2020

  1. Agora a transição de turnos entre o inimigo e o player está funcionando bem. A carta pisca quando ataca o jogador e o jogador já perde vida. Os inimigos atacam um de cada vez e se um deles morrer o programa checa antes de chamar o ataque;
  2. Quando é o turno do inimigo agora os slots de carta do jogador ficam mais escuros;
  3. Comecei a ver como faz uma boa animação de transição entre telas;
1 Curtida

Quarta-feira, 09 de Setembro de 2020

  1. Redimensionei as sprites do pacote Enchanted Forest para 512 x 512;
  2. Criei o GolemCardEnemy;
  3. Fiz uma tela de vitória simples, quando todos os inimigos são mortos ela aparece (por enquanto só funciona para quando tem 3 inimigos), vou adaptar isso amanhã para outras quantidades;
1 Curtida

Quinta-feira, 10 de Setembro de 2020

  1. Fiz uma tela simples para quando o jogador morre. Ela aparece quando os pontos de vida do player chegam a 0;
  2. Agora a tela de vitória aparece quando o jogador vence sem importar o número de inimigos;
  3. Coloquei o som de seleção da carta que o Saulo fez no projeto e criei um AudioManger( ) e uma classe Sounds. Ao pegar a carta ela faz o som de selecionar a carta;
1 Curtida

Sexta-feira, 11 de Setembro de 2020

  1. Fiz algumas melhorias na UI para se adaptar a diferentes resoluções de tela de celular;
  2. Comecei a montar a tela do mapa;
  3. Criei uma classe PlaceBehaviour ( ) que vai determinar o comportamento dos ícones do mapa que vão te levar a alguma sala com um evento;
  4. Mexi na planilha onde estou definindo o poder de cada carta e adicionei imagens das futuras cartas/inimigos;
1 Curtida

Sábado, 12 de Setembro de 2020

  1. Continuei fazendo a parte do mapa e a transição entre o mapa e a tela de batalha. Mas isso acarretou muitos problemas. Algumas coisas associadas ao painel da tela de batalha terão que ser objetos vazios que continuam entre todas as scenes. Estou transicionando isso, mas algumas coisas pararam de funcionar enquanto isso;
1 Curtida

MENSAGEM IMPORTANTE: Não vou mexer neste jogo de hoje 13/09/2020 até 27/09/2020 por conta da minha participação na $104 Adventure Game Challenge, que acontece nesse período. Sim, eu sei. Vai fazer muita falta entrar no fórum ou no discord e não ver as atualizações do jogo, porque eu sei que esse é o momento mais importante do dia de vocês. Ao menos, o mais especial. Mas não fiquem tristes! Very thank you to you pela atenção e até dia 28/09!

1 Curtida

Terça-feira, 22 de Setembro de 2020
EU VOLTEI.

  1. Corrigi o problema onde dava erro para ir do Mapa para a Batalha, eu só precisei colocar a criação das filas em uma função Awake ao invés de uma função Start;
  2. As cartas na mesa e no slot são limpas quando a batalha acaba;

Amanhã: Preciso embaralhar as cartas do cemitério no baralho quando a batalha acaba e lidar com as filas.

1 Curtida
  1. Criei a carta do mago;
  2. Pesquisei muito sobre como usar melhor os ScriptableObjects, tudo começou quando vi esse vídeo no Youtube, um claro presente do destino: https://www.youtube.com/watch?v=PVOVIxNxxeQ ele fala justamente sobre uma coisa que venho procurando há alguns dias. Isso porque eu estou tentando criar jeitos mais eficientes da arquitetura do jogo funcionar. Isso me levou até esse projeto no git: https://github.com/ciro-unity/UnityRoyale-Public?utm_source=YouTube&utm_medium=social&utm_campaign=evangelism_global_generalpromo_2020-09-21_better-data-scriptable-unity-royale que é uma espécie de Clash Royale. Esse por sua vez me levou até este artigo: https://blogs.unity3d.com/2017/11/20/making-cool-stuff-with-scriptableobjects/?utm_source=YouTube&utm_medium=social&utm_campaign=evangelism_global_generalpromo_2020-09-21_better-data-scriptable-objects-blog que me levou até este curso gratuito da Unity que pretendo fazer nos próximos dias ao menos pra entender como ele fez o jogo dele funcionar: https://learn.unity.com/tutorial/recorded-video-session-text-adventure-game-part-1#
1 Curtida

Quinta-feira, 24 de Setembro de 2020

  1. Coloquei o DeckBehaviour dentro de um objeto vazio. Antes disso ele estava na UI;
  2. Melhorei o método FinishBattle e criei uma função para embaralhar as cartas do cemitério no deck;
  3. Coloquei uma linha pra atualizar os pontos de ação do jogador na tela logo que a batalha começa;
  4. Criei um script MapBehaviour e coloquei em um objeto vazio chamado MapManager para controlar cada lugar e se vai estar disponível viajar para ele ou não, além de mudar a visibilidade das sprites;

Com todas essas modificações, estou conseguindo transicionar a tela de batalha e a do mapa normalmente, assim eu consigo entrar em uma fase e entrar em outra sem ter problemas.

AMANHÃ: Quero fazer os pontos do mapa ficarem disponíveis ou indisponíveis para viajar progressivamente, além de fazer algumas sprites simples para indicar os lugares do mapa.

1 Curtida

Sexta-feira, 25 de Setembro de 2020

  1. Escondi algumas várias que são públicas mas não precisam de referências pelo Inspector;
  2. Criei um MapSetup que vai guardar os dados dos vários tipos de mapa na tela;
  3. Tornei o lugar do mapa para um botão. No fim de tudo, consegui fazer uma coisa híbrida. As funções continuam nos botões, mas as referências para objetos ficam no MapManager. Os lugares tem referência ao MapManager mas essa referência é feita automaticamente através do FindGameObjectWithTag;
  4. Agora está funcionando melhor, fiz até um Prefab com o BattlePlace, assim eu posso instanciar vários botões;
1 Curtida

Sábado, 26 de Setembro de 2020

  1. Continuei trabalhando em gerar um mapa na tela com lugares para entrar e consegui gerar esse mapa, no entanto agora eu estou reconstruindo a maneira que eu fiz isso pra poder ativar e desativar os lugares pelos quais eu ainda não posso entrar.
1 Curtida