O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

[JOGO] Tetris em Unity - Para tutorial

Iniciado por MayLeone, 03/01/2019 às 20:04

~ T E T R I S ~


Como vão? Hoje estou aqui para disponibilizar mais um de meus projetos, dessa vez uma réplica do famoso "Tetris" desenvolvido na Unity engine.
Minha intenção ao criar esse projeto foi para escrever um tutorial sobre o mesmo, mas devido à complexidade do sistema em alguns momentos, decidi gravar um vídeo ao invés de apenas escrever, porém, enquanto não faço esse vídeo-tutorial, preferi postar o jogo completo aqui no fórum.



O QUE TEM DE DIFERENTE?
E qual é a diferença entre meu tutorial de Tetris com dos outros já feitos? Básico! Meu tutorial tenta ser mais simples e básico, ao invés de usar matrizes para realizar as validações gerais no jogo (preencher linhas, mover e rotacionar através de validações em matrizes) eu decidi reunir conceitos mais básicos da própria engine (como Vectors, Raycasts e hierarquia) para criar o jogo, portanto, irei mostrar no tutorial uma abordagem diferente das que estamos acostumados a vermos, onde utilizaremos alguns conceitos da engine ao invés de um algoritmo com matriz.



Print do jogo:


Como é para apenas um tutorial, não tive a preocupação de me ater a detalhes gráficos, vejam que é tudo bem simples, mas ainda sim existe um "charme" com o sistema de variar as cores das peças entre o amarelo e o rosa. :D



MAS QUAIS SISTEMAS O JOGO POSSUI?

- Mover e rotacionar peças;
- Verificação para diferentes tipos de rotação;
- Impede a rotação se está for irregular;
- Validações de movimentos;
- Verificação de preenchimento de linhas ou múltiplas linhas;
- Score;
- Sistema de queda de peças automática;
- Descer a peça totalmente com uma tecla;
- Verificar fim de jogo;
- Gerador de peças aleatórias;
- Mostrar próxima peça;
- Sistema de pause;
- Criação automática da grade (podendo variar as dimensões de acordo com o programador);
- Alteração das cores das peças;
- Eliminação da linha preenchida;
- Simples canvas pro score

Todos os sistemas descritos acima serão ensinados nos meus tutoriais sobre o Tetris.



Quer jogar? Baixe logo abaixo:

VERSÃO 32 BITS
VERSÃO 64 BITS

Comandos:
- Teclas direcionais (esquerda e direita) movem a peça para os lados;
- Tecla "baixo" desce a peça mais rapidamente;
- Tecla "cima" rotaciona a peça;
- Tecla "Space" faz com que a peça vá para o destino de uma vez;
- Tecla "Enter" pausa e despausa o jogo.

Bom divertimento, :)

>> Código fonte no gitHub: https://github.com/mayleone1994/TETRIS

Este não vou poder acompanhar, mas com certeza vou fuçar o código quando der. Essas tabelas são bem interessantes e já faz um tempo que quero aprender a fuçar apropriadamente nelas. Uma pena o joguinho ter travado aqui, ao girar as peças, algumas ficam paradas na posição exata onde estavam.

Spoiler
[close]

Mas deve ser meu notebook. Fez milagre só de rodar. :D

Olá, Corvo! Primeiramente obrigada por testar o sistema!
Creio que o que me relatou não se caracteriza como um bug tampouco acredito ser algum tipo de problema com sua máquina, o que ocorre é que o jogo possui um sistema de verificação de rotação, caso ele detecte que uma rotação não pode ser realizada (por estar muito próximo a uma peça ou à grade) ele simplesmente não rotaciona e um áudio indicando tal ação é emitido.
Esse sistema foi criado para evitar esse tipo de rotação errônea:

Simulação de bug retirando o sistema de verificação de rotações das peças!

Caso esse não tenha sido o seu problema, gostaria que me detalhasse mais sobre isso, por favor.
Obrigada desde já.