SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Projeto de um jogo em 3D... (Estou pensando em mudar a engine dele)
script animator
Meu objeto me atravessa quando esta girando.
Limitar area de movimento da Camera
particulas e som iniciarem e pararem com o tempo!!??
Jogador por nome dentro do jogo
[TUTORIAL] FPS Camera e movimento
Como faço Load Scene aleatorio?
Nao consigo alterar o valor da variavel de outro script
Tutorial script para passar de fase por pontos.
usar resultado em text de fórmula e multiplicar por um valor
Como verificar se foi meu player que tocou no CUBO?
Opinião sobre um projeto (Burst Task)
sistema de valores com mensagem por faixa
player apontar a arma para o centro da tela
Verificar espaco se ocupado ou nao e limitar as instancias!!
Como faço para saber o ping na Photon engine?
Objeto atravessando colisor
Camera tremer ao pressionar tecla
Mover objeto depois de instanciado ate o player
[TUTORIAL] Unity 5 - Sistema Completo de PORTAS E CHAVES
Troca de Material por input
Imagem do celular no jogo!
[TUTORIAL] Camera de visão noturna (Night vision) na Unity 5
Unity - Trigger detectando os dois personagens - ERRO!
Ajuda com respawn do inimigo
[TUTORIAL] Banco de dados || MySQL
[RESOLVIDO] Qual é o nome desse efeito?
Spawn SlenderMan
Temporizador/Cronometro/TimerEvents
Como resolver este erro na Play store do google?
Como criar uma onda
INTERCALAÇÃO ENTRE 2 ATAQUES DE UM INIMIGO
Duvida com codigo toutch
[RESOLVIDO] Dúvida sobre menu
Ajuda c#
Camer Touch Mobile sem atrapalhar os botoes UI
[RESOLVIDO]Erro: Your project path contains non-ASCII characters....
script 2D double jump erro no 2 pulo que não pla ou pula alto demais
[TUTORIAL] Unity 5 - Pulo Duplo (Double Jump) para 2D e 3D
[RESOLVIDO]Operação com toggle group
Instanciar jogadores num array de transform - Photon Multiplayer
Como posso fazer um botão de ligar um GameObject aleatorio?
Como eu passo os valores de direção pro animator ?
Sistema de Escala de Renderização sem URP ou HDRP
[RESOLVIDO] Efeito de distorcer/esticar/borrar a imagem do jogo
ajuda: desenvolver sistema de inventario/mochila
[RESOLVIDO] [Character Controller] o Capsula Collider Dele é Só pra Bonito??
[RESOLVIDO] Instanciar obj filho que muda textura com botaoUIi!
[RESOLVIDO] Qual a melhor forma de configurar resolução para mobile?
Spawnar se tiver mesa disponivel
[RESOLVIDO] Ajuda com iluminação
[RESOLVIDO] Erro Som.
script para Mouse Look
operação com inputfield
[RESOLVIDO] Erro Material C#
[RESOLVIDO] Script para detecção de inimigos
Salvar Dados Binários no Servidor e Reabrir em jogo - Unity
[RESOLVIDO] Dúvida com o Novo Input System
Carregamento de caixas
ANIMAÇÃO EM MESH
Como ativar um gameobjet com uma tag especifica?
[TUTORIAL] Resolver bug dos reflexos, Unity 5.5+
Ajuda para criar um botão continuar.
ao buildar para android o jogo tem compotamento diferente
NavMeshAgent
[RESOLVIDO] Alguem pode me ajudar? [Gradle error, o que fazer?]
Como Modificar ossos de animações via script
Bug com Rig humanoide
[RESOLVIDO] Manipular quantidade de casas em uma string
Duas canvas
[RESOLVIDO] Chamar uma void depois de fazer uma animação
Textura está bugada ficando branco em uma parte
Como ver dos 2 lados de um plane ou quad?
script para zumb
Como fazer a movimentação de um skate?
Desativar e ativar Player
Como reconhecer que o botão de volume foi pressionado (Mobile)
Duvida ao alterar o idioma em textos automaticos
[TUTORIAL] Mover, girar e lançar objetos com o MOUSE (Unity 2017, atualizado)
[RESOLVIDO] Chamar metodo em todo os players - Unity multiplayer
modelos de braços 3d
Desenhar em 2D e ao mesmo tempo 3D (estilo draw climber)
OnTriggerEnter/Exit não é identificada
Vários personagens diferentes
[RESOLVIDO] NavMeshAgent
Como fazer para aparecer poucas resoluções no meu menu de opções.
Jogo estilo clash of clans
[TUTORIAL] Criando jogo de cartas com I.A (C# e Visual Studio) - Parte 01
PITCH para aceleração de carro. Como que faço mesmo?
Sistema de Yu-Gi-Oh! - ATT [2020]
[ASSET] Script Arma Completo Incluso Recuo. Incluso outros Scripts
Somar int, como faz pra ele adicionar o valor que eu quero.
Bug? no animator
Duvida Material c#
Unity Admob Erro
Unity - Lentidão e Aceleração alteradas do nada!!!
Como faço para mudar o valor de uma float gradualmente
[TUTORIAL] Criando um simples Multiplayer [UNITY 5]
Hoje à(s) 9:46 am
Hoje à(s) 9:37 am
Ontem à(s) 5:43 pm
Ontem à(s) 11:10 am
Ontem à(s) 9:12 am
Qui Jun 10, 2021 11:45 pm
Qui Jun 10, 2021 8:31 pm
Qui Jun 10, 2021 4:45 pm
Qui Jun 10, 2021 4:41 pm
Qui Jun 10, 2021 4:38 pm
Qui Jun 10, 2021 1:51 pm
Qua Jun 09, 2021 7:23 pm
Qua Jun 09, 2021 2:45 pm
Qua Jun 09, 2021 11:19 am
Qua Jun 09, 2021 12:30 am
Ter Jun 08, 2021 11:50 pm
Ter Jun 08, 2021 6:23 pm
Ter Jun 08, 2021 4:36 pm
Ter Jun 08, 2021 2:57 am
Seg Jun 07, 2021 8:33 pm
Seg Jun 07, 2021 2:02 pm
Seg Jun 07, 2021 1:06 pm
Seg Jun 07, 2021 11:11 am
Dom Jun 06, 2021 9:36 pm
Dom Jun 06, 2021 6:41 pm
Dom Jun 06, 2021 1:49 pm
Sab Jun 05, 2021 4:59 pm
Sab Jun 05, 2021 1:00 am
Sex Jun 04, 2021 10:14 pm
Sex Jun 04, 2021 7:02 pm
Sex Jun 04, 2021 1:57 pm
Qui Jun 03, 2021 11:11 pm
Qui Jun 03, 2021 10:06 pm
Qui Jun 03, 2021 4:41 pm
Qui Jun 03, 2021 11:25 am
Qua Jun 02, 2021 6:21 pm
Qua Jun 02, 2021 2:51 pm
Qua Jun 02, 2021 2:10 pm
Ter Jun 01, 2021 3:53 pm
Ter Jun 01, 2021 3:44 pm
Ter Jun 01, 2021 2:18 pm
Seg Maio 31, 2021 9:49 pm
Seg Maio 31, 2021 7:35 pm
Seg Maio 31, 2021 12:13 pm
Dom Maio 30, 2021 11:24 pm
Dom Maio 30, 2021 10:13 pm
Dom Maio 30, 2021 3:16 pm
Sab Maio 29, 2021 1:39 pm
Sab Maio 29, 2021 12:10 pm
Sex Maio 28, 2021 6:16 pm
Sex Maio 28, 2021 4:31 pm
Sex Maio 28, 2021 3:51 pm
Sex Maio 28, 2021 9:17 am
Qui Maio 27, 2021 11:03 pm
Qui Maio 27, 2021 3:45 pm
Qua Maio 26, 2021 3:29 pm
Qua Maio 26, 2021 2:03 pm
Ter Maio 25, 2021 2:38 pm
Ter Maio 25, 2021 10:51 am
Seg Maio 24, 2021 11:02 pm
Seg Maio 24, 2021 4:17 pm
Seg Maio 24, 2021 12:33 am
Dom Maio 23, 2021 9:54 pm
Dom Maio 23, 2021 4:35 pm
Sab Maio 22, 2021 12:22 pm
Sab Maio 22, 2021 9:18 am
Sab Maio 22, 2021 12:20 am
Sex Maio 21, 2021 8:53 pm
Qui Maio 20, 2021 8:21 pm
Qui Maio 20, 2021 6:29 pm
Qui Maio 20, 2021 6:11 pm
Qui Maio 20, 2021 9:37 am
Qua Maio 19, 2021 3:02 pm
Qua Maio 19, 2021 12:35 am
Ter Maio 18, 2021 10:57 pm
Ter Maio 18, 2021 9:04 pm
Ter Maio 18, 2021 7:33 pm
Ter Maio 18, 2021 7:22 pm
Ter Maio 18, 2021 6:05 pm
Ter Maio 18, 2021 6:00 pm
Ter Maio 18, 2021 5:26 pm
Ter Maio 18, 2021 4:00 pm
Ter Maio 18, 2021 3:07 pm
Ter Maio 18, 2021 2:55 pm
Ter Maio 18, 2021 10:23 am
Seg Maio 17, 2021 2:03 pm
Seg Maio 17, 2021 11:36 am
Dom Maio 16, 2021 5:48 pm
Dom Maio 16, 2021 9:34 am
Sab Maio 15, 2021 10:47 pm
Sab Maio 15, 2021 9:43 pm
Sab Maio 15, 2021 8:33 pm
Sab Maio 15, 2021 6:06 pm
Sex Maio 14, 2021 7:42 pm
Sex Maio 14, 2021 2:08 pm
Sex Maio 14, 2021 10:50 am
Sex Maio 14, 2021 2:12 am
Qui Maio 13, 2021 11:39 pm
Qui Maio 13, 2021 8:01 pm
NoctisDregon
Phirdy
diegopds
TigerStudios
capim22
capim22
Alessa1120
JulioWinchester
JulioWinchester
JulioWinchester
eduardonog30
jhonih00010
poyser
eduardonog30
gui78h3
Pokedlg
Charlesoff
Charlesoff
JulioWinchester
capim22
hancyaragon
Mozinhas2
Fagner
MarcosSchultz
WLCS22
paulo.andrade
Celerom
Neyuriki
ItzDoog
MatheusEleodoro
JulioWinchester
Joana
loucoporjogo
loucoporjogo
Pokedlg
Mozinhas2
Fagner
eduardonog30
Phirdy
Phirdy
eduardonog30
DevFrustrada
Jäger
danisanca
Franttyck
Rangel Oblivion
marcoemayelli
rafaelsmoreiras
Pokedlg
verme1311
thgsousa342
Charlesoff
Pokedlg
SERGIOCS
eduardonog30
Pokedlg
danisanca
CleiMac
RenatoBarreto
Pokedlg
Franttyck
MayLeone
NerdGuin
lauderson
Matrirxp
hellside
verme1311
hendrick22
Charlesoff
MayLeone
Magnatah
jeancvo3
marbiel18
Crash Psycho
verme1311
Mozinhas2
Triskal
Pokedlg
BlesseD
alexandrecbb
DevFrustrada
edu63
darkrj
Fabio157
mayconrp14
hellside
jeancvo3
TigerStudios
MajorH
RodrigoPrivilegium
MajorH
Felipe42
Fagner
WLCS22
Fagner
nando07
WLCS22
MayLeone
RGT2020

Sistema de Yu-Gi-Oh! - ATT [2020]

Ir em baixo

TUTORIAL Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por MayLeone Qui Jun 27, 2019 1:14 am

Sistema de Yu-Gi-Oh! - ATT [2020] Tenor

Olá pessoal, como vão? Há exatamente um mês eu iniciei o desenvolvimento de um sistema de batalhas ao estilo Yu Gi Oh, mais precisadamente seguindo as regras e design do game para PS1: Yu-Gi-Oh Forbidden Memories.

O sistema foi iniciado com a adição de cartas num banco de dados SQLite, e dentro do Unity a única coisa que ele fazia era instanciar essas cartas do banco para a cena, contendo as informações de cada carta como: pontos de ataque, pontos de defesa, nome da carta, e a imagem dela que era renderizada na Unity através do componente SpriteRenderer.

O vídeo do início da proposta pode ser visualizado logo abaixo:




Porém, com o passar das semanas, o sistema foi ganhando forma e hoje conta com diversas classes para gerenciar cada aspecto do projeto.
No final das contas, o sistema está assim atualmente (27/07/19):






O sistema conta com diversas classes integradas para fazer com que todo o eco-sistema funcione, algumas delas são as seguintes:



>> Banco de dados:
- Sistema de leitura e acesso ao banco de dados para criar os decks de cartas (maiores informações no primeiro vídeo acima);


- Graças à flexibilidade do SQLite, é possível construir de forma simples e direta os decks de cada jogador, basta adicionar à tabela de 'Jogadores' um novo registro de jogador, e ir adicionando ou removendo as cartas registradas no banco de dados para cada jogador, assim é possível criar diversos decks diferentes, com as cartas que desejar!


>> Deck Manager:
Classe responsável por gerenciar tudo o que for associado aos decks dos jogadores:


- Gerenciamento dos decks através de pilhas(stacks);
- Adição de informações das cartas do banco de dados para as pilhas de decks;
- Gerenciamento da quantidade de cartas no deck;
- Embaralhamento do deck ao iniciar a partida através do algoritmo: Fisher-Yates Shuffle.


>> Draw Manager:
Classe responsável por manipular o sistema de Draw (compra) de cartas do jogo.
Essa classe é parcial e foi dividida em duas: 


- Draw Manager Amount:
- Responsável por gerenciar quantas cartas deverão ser instanciadas do deck para a mão dos jogadores, possibilitando instanciar as cinco cartas iniciais, quanto qualquer quantidade subsequente, como por exemplo, ao se utilizar de alguma carta com efeito similar ao Pot Of Greed.
Basta apenas passar como argumento da função de Draw da classe, a quantidade de cartas que deseja instanciar, que o sistema fará automaticamente a compra dessas cartas.


- Também responsável por verificar se o jogador possui cartas suficientes para comprar, e caso não, encerra a jogada fazendo com que o jogador que não tenha mais cartas para comprar, perca.


Por ser uma classe pequena, posso mostrá-la aqui de ante-mão:


Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace YuGiOhManager{
 
 public static partial class DrawManager{

  private const float timeToAnimation = 0.3F;

  public static IEnumerator DrawCards(int amount, bool isMainPlayer = true){

   var currentDeck = isMainPlayer ? DeckManager.deck : DeckManager.deckAI;

   for (int i = 0; i < amount; i++) {
    if (currentDeck.Count > 0) {
     yield return new WaitForSeconds (timeToAnimation);
     InstantiateInScene (isMainPlayer);
    } else {
     DialogueUI.ShowDialogue ((isMainPlayer ? "Player 1" : "Player 2") + " doesn't have enough card to draw. Lose!");
     GameManager.gameOver = true;
     yield break;
    }
   }
  }
 }
}


- Draw Manager Instance:
Essa classe é responsável por instanciar de fato as cartas na cena, carregando as informações fornecidas do banco de dados.
São muitos processos como: Verificar se a carta a ser instanciada é uma carta do main player ou do bot, passar as informações do banco de dados para os prefabs das cartas, gerenciar o local da mão que essa carta será instanciada, e etc.

>> Hand Manager:
Essa classe fica ao encargo de gerenciar tudo o que diz respeito às cartas na mão do jogador.

- Função que retorna qual "mão" está sendo avaliada (cartas na mão do main player ou do bot);

- Função de Sort Hand (reorganizar as cartas na mão, assim que uma carta é escolhida para ser jogada no campo);

- Função que remove a carta da mão e coloca no tabuleiro, assim que a carta é escolhida.

Essa classe também é muito importante para o sistema de Inteligência Artificial escolher qual carta ela irá jogar de sua mão para o campo.

>> Board Manager:
Nesta classe estão as funções responsáveis por manipular as cartas que estão em campo (no tabuleiro).

- Verificar se o campo está vazio;

- Verificar se o campo está cheio;

- Verificar qual melhor local para colocar a carta em campo;

- Retorna qual campo está sendo analisado (de qual jogador);

- Sistema de Replace Card (substituição). Quando o campo está cheio, deve-se substituir uma carta já existente no tabuleiro por uma selecionada da mão.

>> Battle Manager:
Essa classe tem a responsabilidade de gerenciar tudo o que for relacionado ao sistema de batalha.

- Define as cartas que estão batalhando;

- Define quem está atacando e quem está sendo atacado;

- Verifica quem perdeu ou ganhou a batalha;

- Desconta os pontos de vida do perdedor;

- Verifica possíveis empates;

- Chama a classe de animação de batalha;

- Destrói do campo a carta perdedora da batalha;

- Sistema de atacar pontos de vida diretamente.

>> Battle Animation Manager:
A classe "Battle Manager", como disto acima, é responsável por gerenciar a batalha do jogo, mas a parte dofeedback visual dessa batalha fica à cargo da classe: "Battle Animation Manager". Então essa classe é responsável por ativar as animações na cena de acordo com o tipo da batalha.
Quem atacou ganhou da carta atacada? Quem atacou perdeu da carta atacada? Foi empate? Não houve nada? Ataque direto aos pontos de vida? Todas essas animações são gerenciadas através de uma enumeração de ações, de acordo com a batalha que ocorreu e as cartas envolvidas na mesma.
É através dessa classe também que são mostrados os pontos de vidas descontados na tela.

>> Change Turn Manager:
Essa classe faz o papel de gerenciar de quem é a vez, e de encerrar a mesma, quando algum jogador solicitar, chamando os eventos necessários para "reiniciar" a vez do próximo jogador.
Também é responsável por chamar a classe da Inteligência Artificial para que ela possa jogar, caso esteja na vez dela.

>> State Manager:
Aqui não se trata de uma classe em específico, mas sim de um escopo do namespace "YuGiOh System", para armazenar as enumerações que serão utilizadas em todas as classes do sistema, como as enumerações das fases do turno (Draw Phase, Main Phase, Battle Phase, End Phase), o estado atual da carta (OnHand, OnBoard), enumerações dos estados das batalhas (já citados anteriormente), delegados para gerenciar eventos do sistema, e etc.

>> UI Manager:
Essa classe gerencia as informações que serão visualizadas na UI da Unity, como as imagens da carta selecionada, seus pontos e nome.
Seu evento de mostrar essas informações na UI é disparado através de uma outra classe chamada "Mouse Manager" que é um componente do prefab das cartas, que detecta se o cursor do mouse está sobre a carta, assim, caso esteja, as informações daquela carta são mostradas em cada componente da UI, como os de ImageText.

>> Game Manager:
Essa classe é algo mais generalizada, que visa armazenar informações globais do jogo e não de algo específico como as classes Managers anteriores.

- Armazena os pontos de vida dos jogadores;
- Os turnos dos jogadores;
- Se é o primeiro turno ou não;
- A fase atual;
- Se é game over;
- Se alguma animação de batalha está sendo executada;
- Se a caixa de diálogos está ativada;
- Armazena as cartas atuais que estão sendo selecionadas para alguma ação.

>> Outras classes:
Além dessas classes que gerenciam o sistema, há outras classes mais específicas, como a classe que ativa as caixas de diálogos, o sistema de animações das compras de cartas, as ações de cada carta na mão (Set Up, Set Down e Cancel), as ações das cartas no tabuleiro (Battle, Change Mode, Cancel), inicialização das informações da partida, Mouse Manager, superclasse responsável por receber as informações do banco de dados, e etc.




>> Inteligência Artificial (I.A)


Sistema de Yu-Gi-Oh! - ATT [2020] Artificial-Intelligence




Como o projeto não é online, se fez necessário a inserção de um sistema de I.A básico para jogar contra o jogador principal.
Essa I.A foi muito inspirada no bot dos primeiros oponentes do já citado Yu-Gi-Oh Forbidden Memories do PS1, ou seja, com uma tática ofensiva, tendo a prioridade em atacar seus pontos de vida e destruir as suas cartas, apesar de ela possuir algumas cartas defensivas em seu deck.


A I.A foi dividida em dois scripts: Um que decide qual é a melhor carta para selecionar na mão e jogar no tabuleiro, de acordo com diversos fatores influenciáveis em suas decisões, tais como: A carta que desejo selecionar é capaz de vencer de alguma carta no campo do oponente? Existe alguma carta no MEU campo que já dá conta do recado? É melhor eu me defender? Descarto a carta mais fraca da mão? Ataco os pontos de vida diretamente? e etc.


O outro script é responsável por fazer a I.A decidir qual a sua melhor ação com suas cartas já em campo, como: Vai batalhar? Se sim, contra qual carta do oponente? Vai só se defender? Mudar a posição de batalha de alguma carta? E assim por diante...


No final de vários e vários testes, apesar de uma I.A básica, ela atende bem as expectativas, procurando sempre fazer a melhor jogada que a traga mais benefícios.


>> O que pretendo implementar no futuro?
O sistema está completo com tudo que planejei desde a sua concepção, mas isso não irá me impedir de implementar novos recursos posteriormente.
Alguns que tenho em mente são:


- Adição de cartas do tipo "Spell" e "Trap";


Deck Viewer, ou seja, um visualizador para as cartas do seu deck;


- Mais inimigos, com decks diferentes, ou seja, vai surgir a necessidade de criar um sistema de seleção de personagens.


>> Onde o sistema vai ser disponibilizado?
Build para jogar e testar a DEMO e código fonte: Clique aqui!


Última edição por MayLeone em Qua Jan 29, 2020 7:10 pm, editado 6 vez(es)
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 2329
REPUTAÇÃO : 516
Áreas de atuação : Unity & C#
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por Giwn Qui Jun 27, 2019 1:44 am

Muito brabo! faz o tutorial!

Giwn
Membro
Membro

Masculino PONTOS : 1573
REPUTAÇÃO : 12
Idade : 17
Áreas de atuação : Programação e Modelagem
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por NKKF Qui Jun 27, 2019 2:46 pm

Inspiração em desenvolver e programar.. :')
NKKF
NKKF
ProgramadorMaster

Masculino PONTOS : 3467
REPUTAÇÃO : 541
Idade : 16
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] Aad8pUi

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por rafaelllsd Sex Jun 28, 2019 3:38 am

Curto muito o jogo e gostaria de ver os tutoriais, só fiquei com dúvida em 2 coisas:
-A partir de qual versão da unity vai servir o tutorial.
-E se é necessário ter algum tipo de conhecimento em SQLite.
rafaelllsd
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 3956
REPUTAÇÃO : 496
Idade : 20
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.

Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] Aad8pUi

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por artplayer Sex Jun 28, 2019 5:22 am

É divertido trabalhar com bd, mas pra ser sincero não curto a ideia de trabalhar com banco direto na unity. 
Mas é muito útil se você precisar acessar o banco externamente através de um webrequest ou alguma api pra mascarar o Sql, dados de acesso ao banco e etc.
artplayer
artplayer
Instrutor

Masculino PONTOS : 2862
REPUTAÇÃO : 412
Idade : 36
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] Aad8pUi

https://artplayergames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por MayLeone Sex Jun 28, 2019 2:46 pm

@Giwn
Farei!!

@NKKF
:')

@rafaelllsd
- A partir do Unity 5
- Na verdade não precisa saber muito não, basta ter uma noção básica de banco de dados (query e construção de tabelas) porque o resto eu vou explicar tudo com detalhes no tutorial.

@artplayer
Sim. Eu apenas queria um local para registrar as cartas sem ter que fazer isso com milhões de prefabs pela Unity.
Pensei em usar JSON para armazenar as informações das cartas, mas percebi que ia escrever bem mais, por isso optei pelo SQLite, mas só com o propósito de guardar as propriedades das cartas do jogo.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 2329
REPUTAÇÃO : 516
Áreas de atuação : Unity & C#
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por Callyde Jr Sex Jun 28, 2019 9:17 pm

Parabens MayLeone muito bom
Claro que um tutorial vai ser bom por que desse modo ou outros modo de jogo teremos ideias inovadoras.
Callyde Jr
Callyde Jr
Programador

Masculino PONTOS : 3883
REPUTAÇÃO : 437
Idade : 42
Áreas de atuação : Iniciante em modelagem Blender,Sketchup
Programador
Idealista

Meu Canal
https://www.youtube.com/ch
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] WvDYdlf

http://unnygames.000webhostapp.com/

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por MayLeone Sab Jun 29, 2019 8:19 pm

@Callyde Jr escreveu:Parabens MayLeone muito bom
Claro que um tutorial vai ser bom por que desse modo ou outros modo de jogo teremos ideias inovadoras.
 Estou pensando em fazer sim!!
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 2329
REPUTAÇÃO : 516
Áreas de atuação : Unity & C#
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por MayLeone Dom Jun 30, 2019 4:56 pm

Update:

1. Coloquei pra instanciar as cartas da AI viradas pra baixo;
2. Refatorei o código pra caramba, pra ficar melhor no tutorial e para ter suporte para mais decks futuros;
3. Animação da compra das cartas mais dinâmica;
4. + Cartas adicionadas ao jogo (incluindo pro deck da AI):

MayLeone
MayLeone
Instrutor

Feminino PONTOS : 2329
REPUTAÇÃO : 516
Áreas de atuação : Unity & C#
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por MayLeone Sab Jul 27, 2019 4:21 pm

Tópico atualizado.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 2329
REPUTAÇÃO : 516
Áreas de atuação : Unity & C#
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por SteveRogers Sab Jul 27, 2019 5:24 pm

Simplesmente perfeito! obrigado por compartilhar.
ps: você fica muito bem de laranja.
SteveRogers
SteveRogers
ProgramadorMaster

Masculino PONTOS : 1290
REPUTAÇÃO : 102
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] Aad8pUi

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por MayLeone Seg Jul 29, 2019 12:47 am

@SteveRogers escreveu:Simplesmente perfeito! obrigado por compartilhar.
ps: você fica muito bem de laranja.
Olá! Que bom que gostou tanto assim! Amanhã estarei postando o código no Git!!
E eu também me gostei de laranja xD
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 2329
REPUTAÇÃO : 516
Áreas de atuação : Unity & C#
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por MayLeone Ter Ago 13, 2019 4:26 pm

Como prometido, link de download para jogar a DEMO (64 bits):

https://mega.nz/#!lawUGSJa!9UtT2OEqbuTisNxzZMaoJY-DshpNBUXDFm1VVNch9To

Código open source no github (ainda vou melhorar algumas coisas no code, usem para estudos):

https://github.com/mayleone1994/YuGiOh-System/tree/master/YuGiOh_System/Assets/Scripts

Essas são as versões que tem no vídeo, em breve adiconarei as spells e traps, o deck viewer e o character select.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 2329
REPUTAÇÃO : 516
Áreas de atuação : Unity & C#
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por MayLeone Ter Dez 03, 2019 6:55 pm

ATUALIZAÇÕES - 03/12

E aí pessoal, como vão? Depois de muitos meses sem mexer no projeto, hoje finalmente eu pude dar aquela atualizada que eu mais gostaria de dar (agora com PC novo é só alegria). Confira abaixo as novidades:

1. Seleção de Personagens:
Com a seleção de personagens agora é possível jogar contra outros oponentes além daquele de testes! Isso significa que você terá mais possibilidades de jogadores para desafiar, decks diferentes e cartas novas!!
O sistema te possibilita criar decks diferentes para cada jogador, dessa forma, você pode ter vários oponentes diferentes para duelar contra, pois a AI é genérica e vai saber lidar com qualquer deck que ela tiver disponível.
Os personagens adicionados na versão DEMO foram:




  • Shade (O jogador padrão de AI do primeiro teste
  • Rex Raptor e seu deck de zumbi + dinossauros
  • Weevil Underwood e seu deck de insetos
  • Mai Valentine e seu deck de Harpias e Fadas
  • Bandit Keith e seu deck de feras
  • Yami Bakura e seu deck defensivo e dark
  • Pegasus e seu deck apelativo xD
  • Isis Ishtar e seu deck de água
  • Seto Kaiba e seu deck dragão (sim, tem o Blue Eyes)
  • Heishin e seu deck imbatível (não dá pra ganhar dele, que sacanagem né)



Screenshoot da seleção de personagens:
Spoiler
Sistema de Yu-Gi-Oh! - ATT [2020] V3kpOwm






2. Mais opções de ações:
Além de setar suas cartas para cima ou para baixo e cancelar a ação na DrawPhase, o jogador também pode agora ler a descrição da carta selecionada e o mais legal de tudo: Descartar a carta também!  Sistema de Yu-Gi-Oh! - ATT [2020] Capitarickas
Com o sistema de descarte é possível eliminar cartas da sua mão que você julgue "inúteis" e na próxima vez que você comprar, você ganhará novas cartas referente à quantidade de cartas descartas. Por exemplo: Se descartar 3 cartas, na próxima rodada você comprará novas 3 cartas.
Esse sistema é similar do que já temos no Yu-Gi-Oh Forbbiden Memories, mas nesse caso o jogador descarta as cartas fundido elas erradamente de propósito.

Para abrir a janela das novas opções, clique na carta com o lado direito do mouse!

Screenshoot das novas opções:
Spoiler
Sistema de Yu-Gi-Oh! - ATT [2020] DUpJFzw






3. Cartas de Spells!!
Essa sem dúvidas era a notícia que eu mais gostaria de anunciar para vocês! Agora o sistema conta com cartas mágicas (spells) para serem jogadas e terem seus efeitos ativados, mudando totalmente o rumo da partida!
Todo o sistema já está pronto pra receber as spells (adição ao board, ativação do seu respectivo efeito, prefab da carta e etc).
Para testes eu já criei duas spells: Raigeki e Dark Hole e elas já estão com seus efeitos criados e funcionando ingame!!  Sistema de Yu-Gi-Oh! - ATT [2020] Wow Sistema de Yu-Gi-Oh! - ATT [2020] Wow
Por enquanto apenas o player principal pode ativar spells, pois para a AI ainda preciso fazer um algoritmo para ela "pensar" qual o melhor momento para ativar a spell na partida, mas em breve estarei fazendo isso.

Screenshoots da spell no jogo:

Sistema de Yu-Gi-Oh! - ATT [2020] 3vlV6VE

Dark Hole ativado:
Sistema de Yu-Gi-Oh! - ATT [2020] C6xJWeR






O que tem por vir:
Mas as novidades não param por aí! Ainda pretendo melhorar algumas decisões da AI para deixar ela mais precisa, adicionar outras cartas spells além dessas duas, colocar a possibilidade de cartas Traps e Fields, fazer um sistema de Deck Viewer e possibilitar a AI de jogar cartas mágicas e descartar cartas da mão.

Em breve mais atualizações e links para download.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 2329
REPUTAÇÃO : 516
Áreas de atuação : Unity & C#
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por MayLeone Sex Dez 20, 2019 8:41 pm



Olá pessoal, quanto tempo que não posto nada por aqui, não?
Pois bem, hoje trago a vocês um novo vídeo do meu sistema de YGO na Unity, dessa vez com um novo personagem (Rex Raptor e seu deck Zombie/Dinosaur/Rock) e com a adição das cartas mágicas, equipamentos e fields! Também uma pequena reformulação no layout de batalha: agora mostra-se a descrição das cartas na interface gráfica abaixo da imagem da carta, o nome do Field ativo, o botão de "End Turn" está num local mais apropriado, e o Tipo da carta é mostrado na interface gráfica agora ("Dragon", "Pyro" e etc).
Também foi adicionado um sistema de descarte caso você queira se livrar de cartas que julga ser "inúteis no momento" e assim, na próxima rodada você terá cartas novas referente a quantidade de cartas descartadas anteriormente.
A inteligência artificial também foi melhorada com relação a algumas escolhas, ficou mais rápida para "pensar", ela também pode jogar cartas mágicas, fields ou equipar seus monstros (então cuidado!), agora ela também ataca com cartas defensivas se achar necessário
e vários bugs foram corrigidos em torno dela (assim espero).
No momento da batalha, os pontos de ataque ou defesa dos monstros são mostrados atualizados, ou seja, conforme os acrescimos e decrescimos devido a cartas de fields, equipamentos ou outras cartas mágicas. Monstros que tiveram seus pontos aumentados aparecem com os mesmos em VERDE na interface gráfica, e decrementados aparecem em VERMELHO.
Além de Rex Raptor, foram adicionados outros personagens ao sistema com decks diferentes: Weevil Underwood, Mai Valentine, Bandit Keith, Yami Bakura, Isis Ishtar, Seto Kaiba, Max Pegasus e Heishin. Portanto, agora temos um sistema simples de seleção de personagens.
Em breve irei adicionar as cartas armadilhas (Traps) e um Deck Viewer, portanto aguarde por atualizações e links para download!
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 2329
REPUTAÇÃO : 516
Áreas de atuação : Unity & C#
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por MayLeone Qua Jan 29, 2020 7:09 pm

Novidades - 2020

Alô! Como tem passado? Primeiramente um feliz ano novo super atrasado.
Hoje trago novidades para o projeto, não andei trabalhando muito nele nesses últimos dias por conta de uns problemas pessoais, mas temos atualizações mesmo assim:

1. Cartas traps (armadilhas) adicionadas ao projeto, finalmente   Sistema de Yu-Gi-Oh! - ATT [2020] Rd4l6h9
Agora é possível jogar essas cartas para impedir o ataque do seu inimigo ou que alguma carta dele venha a campo!
A AI também pode jogar cartas de armadilha, então redobre o cuidado!
Assim como no Forbbiden Memories, as armadilhas se ativam automaticamente na ordem em que elas foram colocadas em campo.

Traps adicionadas ao banco de dados:

Sistema de Yu-Gi-Oh! - ATT [2020] J86C2v1Sistema de Yu-Gi-Oh! - ATT [2020] BnMxktaSistema de Yu-Gi-Oh! - ATT [2020] O9yj69oSistema de Yu-Gi-Oh! - ATT [2020] 1l44NEUSistema de Yu-Gi-Oh! - ATT [2020] Lyc40sESistema de Yu-Gi-Oh! - ATT [2020] KXqZtcb

2. Também fiz com que as cartas que estejam batalhando fiquem em evidência antes que a animação de batalha ocorra ou as traps sejam ativadas, dessa forma o jogador terá noção de quais cartas foram selecionadas pela AI para batalhar, por exemplo.

3.  Sistema de Yu-Gi-Oh! - ATT [2020] Headphones Músicas e efeitos sonoros adicionados, chega de ficar tudo mudo!

4. Também adicionei um scrollbar na interface gráfica onde mostra a descrição da carta, caso o texto da mesma fique muito grande:

Sistema de Yu-Gi-Oh! - ATT [2020] I4colfv

5. Sem dizer os bugs corrigidos e refatorações no código que eu fiz, então acho que por hoje está bom! :D
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 2329
REPUTAÇÃO : 516
Áreas de atuação : Unity & C#
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por Shinoob Sab Maio 02, 2020 7:15 am

Bom, primeiramente meus parabéns. Você é fera na programação. Estou aprendendo C# em Unity. Foi mt bom conhecer seu projeto. É sempre bom aprender. Obrigado

Shinoob
Iniciante
Iniciante

Masculino PONTOS : 417
REPUTAÇÃO : 0
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por MayLeone Sab Maio 02, 2020 9:55 pm

Obrigada, Shinoob! Fico feliz que tenha gostado do projeto. Ainda pretendo retomar o trabalho nele, mas atualmente estou ocupada.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 2329
REPUTAÇÃO : 516
Áreas de atuação : Unity & C#
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] Aad8pUi

http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por darknecron Sab Set 05, 2020 8:29 am

Parabéns pelo projeto é uma boa base para aprender coisas novas xD
darknecron
darknecron
Iniciante
Iniciante

PONTOS : 1387
REPUTAÇÃO : 3
Áreas de atuação : Unity & C#
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] WvDYdlf

Voltar ao Topo Ir em baixo

TUTORIAL Re: Sistema de Yu-Gi-Oh! - ATT [2020]

Mensagem por MajorH Sab Maio 15, 2021 9:43 pm

Como faço para baixar as atualizações? amei o jogo  Smile
MajorH
MajorH
Iniciante
Iniciante

PONTOS : 29
REPUTAÇÃO : 0
Respeito as regras : Sistema de Yu-Gi-Oh! - ATT [2020] WvDYdlf

Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão neste fórum:
Você não pode responder aos tópicos neste fórum