![(Multijogador) Lutando no GameGo com Makecode Arcade: 6 etapas (Multijogador) Lutando no GameGo com Makecode Arcade: 6 etapas](https://i.howwhatproduce.com/images/002/image-5517-j.webp)
Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03
GameGo é um console portátil de jogos retro compatível com Microsoft Makecode desenvolvido pela TinkerGen STEM education. É baseado no chip STM32F401RET6 ARM Cortex M4 e feito para educadores STEM ou apenas pessoas que gostam de se divertir criando videogames retrô. Você pode seguir este tutorial e experimentar o jogo no simulador Makecode Arcade e depois executá-lo no GameGo.
Nos artigos que publicamos antes, já tentamos fazer um jogo de plataforma e um Battle City Remake. Desta vez, eu queria usar a interface Jacdac para conectar dois GameGo's e permitir que os jogadores lutassem pela supremacia em um jogo de lutador multiplayer. Infelizmente, descobri que a programação em bloco para o multijogador Jacdac está em fase beta a partir de agora e tem alguns bugs - ainda é possível fazer jogos mais simples, mas sem sorte para o meu jogo de luta. Então, neste instrutível eu publico três versões do jogo (que chamei de "Cthulhu Combat":))
- versão para um único jogador com oponente de IA simples
- versão multijogador para jogar na simulação Arcade
- versão multijogador com Jacdac (incompleta, será atualizada mais tarde)
Suprimentos
GameGo
Microsoft Makecode Arcade
Etapa 1: nas funções Start e Round_setup
![Funções On Start e Round_setup Funções On Start e Round_setup](https://i.howwhatproduce.com/images/002/image-5517-1-j.webp)
Descreverei a codificação do jogo para um jogador em detalhes e, nas próximas etapas, discutiremos como transformá-lo em
a) simulador multijogador
b) Multijogador Jacdac.
Começamos definindo o mapa de blocos em masmorras escuras e criando sprites para o jogador e o AI bot - ambos pertencerão ao tipo Player. Definimos a aceleração do eixo y para 600 - para que eles não voassem depois de pular. Também inicializamos projéteis do bot e do jogador antes de chamar a função round_setup. A função round_setup cuida da preparação de novas rodadas para nós - a razão pela qual a tornamos uma função é porque pode haver até 3 rodadas no total no jogo e queremos evitar a repetição do mesmo código. Nessa função, primeiro verificamos se algum dos jogadores tem 2 vitórias - se esta condição for avaliada como Verdadeira, o jogo acabou. Se ambos os jogadores tiverem menos de duas vitórias, incrementamos a variável round_num em um e colocamos os jogadores em seus pontos iniciais, reabastecemos suas vidas para 100 e declaramos o início de uma nova rodada.
Etapa 2: Fluxo do jogo
![Fluxo do jogo Fluxo do jogo](https://i.howwhatproduce.com/images/002/image-5517-2-j.webp)
Neste jogo, o próprio mundo é estático e o fluxo do jogo está vinculado às ações dos jogadores. Em quatro blocos definimos a maioria das regras do jogo, estes blocos são: no botão para cima pressionado, no botão para baixo pressionado, no botão A pressionado e no botão B pressionado. Vamos dar uma olhada em cada um desses blocos.
botão para cima pressionado - lógica de salto duplo. Se pressionamos o botão de salto menos de 3 vezes, definimos a velocidade do player vy em -140 (movendo para cima). Nosso jogador tem vy aceleração definida para 600, então, assim que saltarmos, nossa velocidade diminuirá rapidamente. Assim que chegar a 0 (sem se mover no eixo vertical), definimos jump_count para 0 novamente.
no botão para baixo pressionado - lógica de escudo de ataque à distância. Se o botão para baixo for pressionado, o jogador muda sua imagem para "blindado" e define a variável blindada para 1.
no botão A pressionado - disparar um projétil. Esse é bastante autoexplicativo.
no botão B pressionado - ataque corpo a corpo, semelhante ao escudo em implementação.
Definimos as imagens dos sprites dos jogadores e suas variáveis blindadas / de ataque para 0 a cada 500 ms na atualização do jogo a cada bloco de.. ms. Poderíamos ter definido temporizadores independentes para cada ação, mas para simplificar, usaremos apenas o loop de atualização do jogo principal.
As condições de vitória aqui são muito fáceis - quando a vida do jogador chega a 0, o outro jogador venceu a rodada, então armazenamos o número de vitórias por jogador em uma variável.
Finalmente, existem dois blocos que controlam o dano do ataque à distância e o dano do ataque corpo a corpo. Em cada um deles verificamos se há colisão de sprites e se a variável blindado / ataque para o jogador atacante está definida como 0/1.
Etapa 3: Jogo 1: oponente de IA
![Jogo 1: oponente de IA Jogo 1: oponente de IA](https://i.howwhatproduce.com/images/002/image-5517-3-j.webp)
No primeiro jogo, criaremos um oponente de IA relativamente simples para ser o segundo jogador. Na atualização do jogo a cada 200 ms, primeiro fazemos a verificação da distância entre o jogador e a IA - se for menor que 20, configuramos nossa IA no modo corpo a corpo aumentando a chance de ataque corpo a corpo para 30 e a chance de ataque à distância para 30. Se a distância for maior do que 20, definimos a chance de ataque corpo a corpo para zero (nenhum ponto no ataque corpo-a-corpo, já que o jogador está muito longe) e a chance de movimento para 70. Depois que as variáveis para as chances de ação forem definidas, continuamos executando essas ações com as chances especificadas. Se você tentar jogar contra esta IA simples, verá que, apesar de seu comportamento ser muito simples, vencer não é fácil - como muitas vezes no caso de oponentes controlados pelo computador, ele ganha principalmente porque pode fazer mais ações por segundo do que um jogador humano.
Se você travou durante a codificação, pode baixar o código completo em nosso repositório GitHub para este projeto e abri-lo no Makecode Arcade.
Etapa 4: Jogo 2: simulador multijogador
![Jogo 2: simulador multijogador Jogo 2: simulador multijogador](https://i.howwhatproduce.com/images/002/image-5517-4-j.webp)
![Jogo 2: simulador multijogador Jogo 2: simulador multijogador](https://i.howwhatproduce.com/images/002/image-5517-5-j.webp)
A variante do jogo para dois jogadores na simulação é muito semelhante à versão para um único jogador, exceto que substituímos o bloco de comportamento de IA por quatro blocos pressionados de botão do jogador 2 - com o conteúdo dentro desses blocos espelhando o conteúdo dos mesmos blocos para o jogador 1. Tem dê uma olhada na captura de tela para ter uma ideia melhor de quais mudanças você precisa fazer. Além disso, também precisamos adicionar mover o jogador 2 com o bloqueio de botões na função de início e alterar a tela final do jogo do jogador dois para GANHAR em vez de PERDER.
Etapa 5: Jogo 3: Multijogador Jacdac
![Jogo 3: Jacdac Multiplayer Jogo 3: Jacdac Multiplayer](https://i.howwhatproduce.com/images/002/image-5517-6-j.webp)
Encontrei uma implementação da comunidade do multijogador Jacdac com blocos de arcade Makecode neste tópico do fórum
forum.makecode.com/t/new-extension-real-mu…
Eu testei o jogo de exemplo lá (Space Invaders) e achei que estava funcionando muito bem. Infelizmente, a mecânica do jogo de Cthulhu Combat usa muitas variáveis e parece que as extensões do Real Multiplayer ainda não suportam a sincronização de variáveis - então fiz funcionar, as ações dos dois jogadores são sincronizadas entre os dispositivos, mas a vida poderia não deixe cair no dispositivo do oponente. Também há algo errado com a mecânica dos projéteis, os projéteis não parecem desaparecer após atingir a parede, o que faz com que o jogo perca a conexão após cerca de 10 projéteis serem disparados.
Você pode experimentar o multijogador baixando o arquivo-p.webp
Etapa 6: Que comece o combate de Cthulhu
![Que comece o combate de Cthulhu! Que comece o combate de Cthulhu!](https://i.howwhatproduce.com/images/002/image-5517-7-j.webp)
Ainda há muitas melhorias que podem ser feitas em nosso jogo de luta simples - por exemplo, você pode adicionar um comportamento de IA mais complicado ou usar a extensão para adicionar combos de botões e / ou sequências de animação. Boa sorte e divirta-se enquanto programa seus próprios jogos com GameGo e Makecode Arcade.
Se você fizer uma versão melhorada do jogo, compartilhe nos comentários abaixo! Para obter mais informações sobre GameGo e outros hardwares para fabricantes e educadores STEM, visite nosso site, https://tinkergen.com/ e assine nosso boletim informativo.
Recomendado:
Gabinete Bubble Bobble Arcade (Bartop): 14 etapas (com fotos)
![Gabinete Bubble Bobble Arcade (Bartop): 14 etapas (com fotos) Gabinete Bubble Bobble Arcade (Bartop): 14 etapas (com fotos)](https://i.howwhatproduce.com/images/001/image-164-j.webp)
Bubble Bobble Arcade Cabinet (Bartop): Mais um guia de construção de gabinete? Bem, eu construí meu gabinete usando, principalmente, o Galactic Starcade como modelo, mas fiz algumas alterações conforme avançava e sinto, em retrospecto, melhorar ambos a facilidade de encaixar algumas peças, e melhorar a estética
Como fazer um jogo multijogador com controladores Arduino: 6 etapas
![Como fazer um jogo multijogador com controladores Arduino: 6 etapas Como fazer um jogo multijogador com controladores Arduino: 6 etapas](https://i.howwhatproduce.com/images/001/image-1089-17-j.webp)
Como fazer um jogo multijogador com controladores Arduino: Você já se perguntou como os desenvolvedores de jogos criam jogos incríveis que as pessoas em todo o mundo gostam de jogar? Bem, hoje vou dar a vocês apenas uma pequena dica sobre isso, fazendo um pequeno jogo multijogador que será controlado por um controle Arduino
Plataforma com níveis infinitos no GameGo com Makecode Arcade: 5 etapas (com imagens)
![Plataforma com níveis infinitos no GameGo com Makecode Arcade: 5 etapas (com imagens) Plataforma com níveis infinitos no GameGo com Makecode Arcade: 5 etapas (com imagens)](https://i.howwhatproduce.com/images/001/image-2058-34-j.webp)
Platformer With Infinite Levels no GameGo Com Makecode Arcade: GameGo é um console portátil de jogos retro compatível com Microsoft Makecode desenvolvido pela TinkerGen STEM education. É baseado no chip STM32F401RET6 ARM Cortex M4 e feito para educadores STEM ou apenas pessoas que gostam de se divertir criando videogames retrô
Battle City Remake no GameGo com Makecode Arcade: 4 etapas (com imagens)
![Battle City Remake no GameGo com Makecode Arcade: 4 etapas (com imagens) Battle City Remake no GameGo com Makecode Arcade: 4 etapas (com imagens)](https://i.howwhatproduce.com/images/006/image-16950-j.webp)
Battle City Remake no GameGo com Makecode Arcade: GameGo é um console portátil de jogos retro compatível com o Microsoft Makecode desenvolvido pela TinkerGen STEM education. É baseado no chip STM32F401RET6 ARM Cortex M4 e feito para educadores STEM ou apenas pessoas que gostam de se divertir criando vídeos retro
Whack a Button Multijogador: 4 etapas
![Whack a Button Multijogador: 4 etapas Whack a Button Multijogador: 4 etapas](https://i.howwhatproduce.com/images/011/image-31159-j.webp)
Whack a Button Multijogador: Um jogo como um Whack-a-Mole.Usando LEDs e botões.Há 2 modos: - Jogador único - Multijogador No modo para um jogador, existem 3 níveis: LEVEL_1: 1 diodo por 1 segundoLEVEL_2: 2 diodos para 1 segundoLEVEL_3: 2 diodos por 0,7 segundos E para o multip