Taula de continguts:
- Subministraments
- Pas 1: a les funcions d’inici i configuració rodona
- Pas 2: flux de joc
- Pas 3: Joc 1: Opositor AI
- Pas 4: Joc 2: Simulador multijugador
- Pas 5: Joc 3: Multijugador Jacdac
- Pas 6: que comenci el combat de Cthulhu
Vídeo: (Multijugador) Lluitant a GameGo amb Makecode Arcade: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
GameGo és una consola portàtil de jocs retro compatible amb Microsoft Makecode desenvolupada per TinkerGen STEM education. Es basa en el xip STM32F401RET6 ARM Cortex M4 i està dissenyat per a educadors STEM o només a persones que els agrada divertir-se creant videojocs retro. Podeu seguir aquest tutorial i provar el joc al simulador Makecode Arcade i després executar-lo a GameGo.
Als articles que vam publicar abans ja intentàvem fer un joc de plataformes i un Battle City Remake. Aquesta vegada he volgut utilitzar la interfície Jacdac per connectar dos GameGo junts i permetre als jugadors lluitar per la supremacia en un joc de combat multijugador. Malauradament, vaig descobrir que la programació de blocs per al multijugador Jacdac es troba en fase beta a partir d’ara i té alguns errors: encara és possible fer jocs més senzills, però no hi ha sort per al meu joc de lluita. Per tant, en aquest instructiu publico tres versions del joc (que vaig anomenar "Cthulhu Combat":))
- versió per a un sol jugador amb un oponent AI simple
- versió multijugador per jugar a la simulació Arcade
- versió multijugador amb Jacdac (incompleta, s'actualitzarà més endavant)
Subministraments
GameGo
Microsoft Makecode Arcade
Pas 1: a les funcions d’inici i configuració rodona
Descriviré la codificació del joc per a un jugador en detalls i, a continuació, en els passos següents discutirem com fer-ho
a) simulador multijugador
b) Multijugador Jacdac.
Comencem per configurar el mapa de rajoles a la masmorra fosca i crear sprites per al jugador i el bot AI, però, tots dos pertanyen al tipus de jugador. Vam establir l’acceleració de l’eix y a 600, de manera que no volessin després de saltar. També inicialitzem projectils des de bot i reproductor abans de trucar a la funció round_setup. La funció round_setup s'encarrega de la nova preparació de la ronda: la raó per la qual la fem és perquè hi pot haver fins a 3 rondes en total al joc i volem evitar repetir el mateix codi. En aquesta funció, primer comprovem si algun dels jugadors té 2 victòries; si aquesta condició s’avalua com a True, llavors s’ha acabat el joc. Si els dos jugadors tenen menys de dues victòries, augmentem la variable round_num en una i situem els jugadors en els seus llocs inicials, reposem la vida a 100 i declarem el començament d’una nova ronda.
Pas 2: flux de joc
En aquest joc, el món mateix és estàtic i el flux del joc està relacionat amb les accions dels jugadors. En quatre blocs definim la majoria de regles del joc, aquests blocs són: botó amunt premut, botó avall premut, botó A premut i botó B premut. Vegem cadascun d’aquests blocs.
premut el botó amunt: lògica de doble salt. Si premem el botó de salt menys de 3 vegades, establirem la velocitat de vy del jugador a - 140 (movent-se cap amunt). El nostre jugador té l'acceleració de VY a 600, de manera que un cop saltem, la nostra velocitat disminuirà ràpidament. Un cop arriba a 0 (sense moure’s per l’eix vertical) tornem a establir jump_count a 0.
premut el botó avall: lògica d'escut d'atac a distància. Si es prem el botó avall, el jugador canvia la seva imatge a "blindat" i estableix la variable blindada a 1.
al botó A premut: feu un projectil. Això s’explica pràcticament per si mateix.
al botó B premut: atac cos a cos, similar a l'escut en la implementació.
Establim les imatges dels sprites dels jugadors i les seves variables d’atac / protecció a 0 cada 500 ms en l’actualització del joc cada bloc.. ms. Podríem haver establert temporitzadors independents per a cada acció, però per simplificar, només farem servir el bucle d’actualització del joc principal.
Les condicions de victòria aquí són bastant fàcils: quan la vida del jugador arriba a 0, l’altre jugador ha guanyat la ronda i, a continuació, guardem el nombre de victòries per jugador en una variable.
Finalment, hi ha dos blocs que controlen el dany de l'atac a distància i el dany de l'atac cos a cos. En cadascun d'ells comprovem si hi ha col·lisió de sprite i si la variable d'escut / atac del jugador atacant s'estableix a 0/1.
Pas 3: Joc 1: Opositor AI
Al primer joc, crearem un adversari d’IA relativament senzill per ser el segon jugador. Dins de l’actualització del joc cada 200 ms, primer fem la comprovació de la distància entre el jugador i la IA: si és inferior a 20, configurem la nostra IA en mode cos a cos augmentant la possibilitat d’atac cos a cos a 30 i la possibilitat d’atac a distància a 30. Si la distància és més gran de 20 establim l'oportunitat d'atac cos a cos (no hi ha pinta en l'atac cos a cos, ja que el jugador està massa lluny) i passem a 70. Després de definir les variables per a les possibilitats d'acció, continuem executant aquestes accions amb les possibilitats especificades. Si proveu de jugar contra aquesta IA senzilla, veureu que tot i que el seu comportament és molt senzill, guanyar-hi no és fàcil, ja que sovint en el cas dels oponents controlats per ordinador, guanya sobretot perquè pot fer més accions per segon que un jugador humà.
Si us heu quedat bloquejats mentre codifiqueu, podeu descarregar el codi complet al nostre dipòsit GitHub per a aquest projecte i obrir-lo a Makecode Arcade.
Pas 4: Joc 2: Simulador multijugador
La variant del joc per a dos jugadors en simulació és molt similar a la versió per a un jugador, tret que substituïm el bloc de comportament AI per quatre blocs premuts amb el botó del jugador 2, amb contingut dins d’aquests blocs que reflecteix el contingut dels mateixos blocs per al jugador 1. Teniu una ullada a la captura de pantalla per tenir una millor idea dels canvis que heu de fer. A part d’això, també hem d’afegir moure el jugador 2 amb els botons bloquejats a la funció d’inici i canviar la pantalla final del joc del jugador dos a GUANYAR en lloc de PERDRE.
Pas 5: Joc 3: Multijugador Jacdac
He trobat una implementació de la comunitat del multijugador Jacdac amb blocs arcade Makecode en aquest fil del fòrum
forum.makecode.com/t/new-extension-real-mu…
Hi vaig provar el joc d’exemple (Space Invaders) i vaig trobar que funcionava molt bé. Malauradament, la mecànica del joc de Cthulhu Combat utilitza moltes variables i sembla que les extensions multijugador reals encara no admeten variables de sincronització. No deixeu anar el dispositiu dels oponents. També hi ha alguna cosa malament en la mecànica dels projectils; els projectils no semblen desaparèixer després de colpejar la paret, cosa que fa que el joc perdi la connexió després de disparar uns 10 projectils.
Podeu provar el multijugador descarregant el fitxer-p.webp
Pas 6: que comenci el combat de Cthulhu
Encara hi ha moltes millores que es poden fer en el nostre senzill joc de lluita; per exemple, podeu afegir un comportament de IA més complicat o utilitzar extensions per afegir combinacions de botons i / o seqüències d’animació. Sort i diversió mentre programes els teus propis jocs amb GameGo i Makecode Arcade.
Si feu una versió millorada del joc, compartiu-la als comentaris següents. Per obtenir més informació sobre GameGo i altres elements de maquinari per a fabricants i educadors STEM, visiteu el nostre lloc web, https://tinkergen.com/ i subscriviu-vos al nostre butlletí.
Recomanat:
Com fer un joc multijugador amb controladors Arduino: 6 passos
Com fer un joc multijugador amb controladors Arduino: mai us heu preguntat com els desenvolupadors de jocs creen jocs increïbles als quals la gent de tot el món gaudeix jugant? Bé, avui us donaré només un petit consell sobre això fent un petit joc multijugador que serà controlat per un control Arduino
Plataformes amb nivells infinits a GameGo amb Makecode Arcade: 5 passos (amb imatges)
Plataforma amb nivells infinits a GameGo amb Makecode Arcade: GameGo és una consola portàtil de jocs retro compatible amb Microsoft Makecode, desenvolupada per l'educació TinkerGen STEM. Està basat en el xip STM32F401RET6 ARM Cortex M4 i està dissenyat per a educadors STEM o simplement per a persones que els agrada divertir-se creant videojocs retro
Remake de Battle City a GameGo With Makecode Arcade: 4 passos (amb imatges)
Remake de Battle City a GameGo amb Makecode Arcade: GameGo és una consola portàtil de jocs retro compatible amb Microsoft Makecode desenvolupada per l'educació TinkerGen STEM. Es basa en el xip STM32F401RET6 ARM Cortex M4 i està dissenyat per a educadors STEM o només per a persones a qui els agrada divertir-se creant un vídeo retro
Whack a Button Multijugador: 4 passos
Whack a Button Multijugador: un joc com un Whack-a-Mole. Utilitzant LEDs i botons. Hi ha 2 modes: -Jugador individual-Multijugador en mode de jugador individual, hi ha 3 nivells: NIVELL_1: 1 díode per 1 segon NIVELL_2: 2 díodes per 1 segon NIVELL_3: 2 díodes durant 0,7 segons I per al múltiple
Arduino: Art frustrant multijugador: 13 passos
Arduino: Frustrating Multiplayer Art Car: Dit is een art-car die kunt best best with bluetooth vanaf is smartphone in een servo die bestuurt kan worden door middel van een draaiknop. Optioneel is om het chaotisch / frustrerend te maken voor de gebruiker door er voor te zorgen dat de servo i