A matemática desempenha um papel central na construção de jogos. Seja para posicionar objetos em um espaço bidimensional ou tridimensional, para determinar se um personagem está olhando para outro ou como a luz deve refletir em uma superfície específica, a matemática é a base de muitas mecânicas na jogabilidade moderna. Embora muitos conceitos matemáticos usados em jogos possam parecer avançados e intimidadores, alguns permitem uma introdução mais fácil para o usuário.
Conceitos introdutórios
Posicionar objetos em uma grade bidimensional dentro de um espaço do mundo tridimensional é uma mecânica central utilizada na maioria dos jogos de estratégia e tático baseados em turnos. A matemática envolvida é mais simples do que algumas outras mecânicas de videogame baseadas em matemática, mas é central para criar muitos dos jogos mais populares já feitos.
A aleatoriedade é uma ferramenta importante na caixa de ferramentas de um designer de jogos. A aleatoriedade fornece um mecanismo para criar uma variedade de experiências de jogabilidade sem predefinir um grande número de experiências determinístico e rastrear todas elas simultaneamente. Uma das chaves para a aleatoriedade é fornecer uma quantidade razoável de variedade enquanto ainda controla fatores suficientes para que as coisas não se tornem caóticas. Isso exige estabelecer limites sobre o quão aleatórias ou ordenadas as coisas podem se tornar.
Aprendendo por meio da experiência
Neste tutorial, você aprenderá a implementar as mecânicas principais de um jogo de tabuleiro baseado em turnos no UEFN com Verse. Este jogo foi publicado como uma ilha do Fortnite chamada Batalha de Coordenadas! com Código da Ilha 6259-2097-7759.
Visão geral da jogabilidade
O jogo é um jogo de tabuleiro para dois jogadores, por rodadas. O tabuleiro de cada jogador é uma grade 5 x 5 com cinco pawns ocultos e colocados aleatoriamente. O jogador tem uma visão direta do tabuleiro inimigo com peões ocultos e uma visão menor do seu próprio tabuleiro no canto superior esquerdo da tela.
Os jogadores se alternam escolhendo uma coordenada no tabuleiro do oponente.
Quando um jogador escolhe uma coordenada, ele tem duas opções:
Revelar pawns inimigos dentro de um determinado raio da posição escolhida ou
Atacar uma posição e, potencialmente, destruir os pawns escondidos do inimigo.
O primeiro jogador a destruir todos os cinco pawns do inimigo vence.
Há um elemento informativo adicional no qual você pode optar por trabalhar no sistema de coordenadas XYZ do módulo UnrealEngine.com ou no sistema de coordenadas LUD do módulo Verse.com.
Este tutorial guia você na construção dos conceitos matemáticos que sustentam a jogabilidade. Essas mecânicas incluem:
Mapeamento entre posições no espaço do mundo tridimensional, um tabuleiro de jogo de grade bidimensional e um miniboard do tabuleiro de jogo do jogador no canto da tela
Como posicionar pawns aleatoriamente no tabuleiro
A matemática é usada para:
Posicionar dinamicamente um minitabuleiro em tempo de execução com base na posição e na rotação de uma câmera
Colocar pawns no tabuleiro de jogo
Colocar marcadores no minitabuleiro
Revelar pawns a uma distância específica de um ladrilho
Posicionar pawns aleatoriamente no tabuleiro
Construir as mecânicas
Para saber mais sobre a criação da mecânica de jogo da Batalha de Coordenadas, acesse as páginas do tutorial abaixo:
1. Visão geral dos espaços de coordenadas
Batalha de Coordenadas! usa vários espaços de coordenadas para definir a jogabilidade.
2. Definir o tabuleiro de jogo
Representar o espaço do tabuleiro como ladrilhos e gerenciar a conversão.
3. Definir e remover pawns
Adicione pawns ao tabuleiro e remova-os quando necessário.
4. Gerar o tabuleiro
Gere e coloque pawns aleatoriamente no tabuleiro.
5. Definir o minitabuleiro
Crie o minitabuleiro e coloque-o no mundo.
6. Definir marcadores do minitabuleiro
Reflita o estado do tabuleiro do jogo no minitabuleiro.
7. Construa o jogo
Crie a lógica do loop de jogo.
8. Arquivos de código completos para a Batalha de Coordenadas
Todo o código Verse para este tutorial em um só lugar útil!