Innholdsfortegnelse:
- Rekvisita
- Trinn 1: På Start- og Round_setup -funksjoner
- Trinn 2: Spillflyt
- Trinn 3: Spill 1: AI -motstander
- Trinn 4: Game 2: Simulator Multiplayer
- Trinn 5: Spill 3: Jacdac Multiplayer
- Trinn 6: La Cthulhu -kampen begynne
Video: (Flerspiller) Kamp på GameGo med Makecode Arcade: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
GameGo er en Microsoft Makecode -kompatibel bærbar spillkonsoll for retro utviklet av TinkerGen STEM education. Den er basert på STM32F401RET6 ARM Cortex M4 -brikken og laget for STEM -lærere eller bare folk som liker å ha det gøy med å lage retro -videospill. Du kan følge denne opplæringen og prøve spillet i Makecode Arcade -simulatoren og deretter kjøre det på GameGo.
I artiklene vi publiserte før prøvde vi allerede å lage et plattformspill og en Battle City Remake. Denne gangen ønsket jeg å bruke Jacdac -grensesnittet for å koble to GameGo -er sammen og la spillerne kjempe om overlegenhet i et kampspill med flere spillere. Dessverre fant jeg ut at blokkeringsprogrammering for Jacdac multiplayer er i beta -fase fra nå av og har noen feil - det er fortsatt mulig å lage enklere spill, men uten hell for kampspillet mitt. Så i denne instruksjonsboken publiserer jeg tre versjoner av spillet (som jeg kalte "Cthulhu Combat":))
- enkeltspillerversjon med enkel AI -motstander
- flerspillerversjon for å spille i Arcade -simulering
- flerspillerversjon med Jacdac (ufullstendig, oppdateres senere)
Rekvisita
GameGo
Microsoft Makecode Arcade
Trinn 1: På Start- og Round_setup -funksjoner
Jeg vil beskrive koding av enkeltspillerspill i detaljer, og deretter diskuterer vi i neste trinn hvordan vi gjør det til
a) flerspiller i simulatoren
b) Jacdac flerspiller.
Vi starter med å sette flisekartet til mørkt fangehull og lage sprites for spiller og AI -bot - begge vil tilhøre Player type. Vi setter akselerasjonen til y -aksen til 600 - slik at de ikke flyr etter å ha hoppet. Vi initialiserer også prosjektiler fra bot og spiller før vi kaller round_setup -funksjonen. round_setup -funksjonen tar seg av ny rundeforberedelse for oss - grunnen til at vi gjør den til en funksjon er fordi det kan være så mange som 3 runder totalt i spillet, og vi vil unngå å gjenta den samme koden. I den funksjonen sjekker vi først om noen av spillerne har 2 seire - hvis denne tilstanden vurderes som True, så er spillet over. Hvis begge spillerne har mindre enn to seire, øker vi round_num -variabelen med en og plasserer spillerne på startplassene, fyller livene opp til 100 og erklærer begynnelsen på en ny runde.
Trinn 2: Spillflyt
I dette spillet er verden i seg selv statisk og spillflyten er knyttet til spillernes handlinger. I fire blokker definerer vi de fleste spillereglene, disse blokkene er: på opp -knappen trykkes, ned -knappen trykkes, på A -knappen trykkes og på B -knappen trykkes. La oss se på hver av disse blokkene.
på opp -knappen trykket - dobbel hopp -logikk. Hvis vi trykket på hoppknappen mindre enn 3 ganger, satte vi spillerens hastighet til - 140 (beveger seg oppover). Spilleren vår har vy -akselerasjon satt til 600, så når vi hopper, vil hastigheten minke raskt. Når den når 0 (ikke beveger seg på vertikal akse) setter vi jump_count til 0 igjen.
på ned -knappen trykket - varierte angrep skjold logikk. Hvis du trykker på ned -knappen, endrer spilleren bildet til "skjermet" og setter variabelen skjermet til 1.
på knapp A trykket - skyte et prosjektil. Den er ganske så selvforklarende.
på knapp B trykket - nærkampangrep, lik skjold i implementeringen.
Vi setter bilder av spillernes sprites og deres skjermede/angripende variabler til 0 hver 500 ms inn på spilloppdatering hver.. ms blokk. Vi kunne ha angitt uavhengige tidtakere for hver handling, men for enkelhets skyld bruker vi bare hovedspilloppdateringsløyfen.
Seierforholdene her er ganske enkle - når spillerens liv når 0, har den andre spilleren vunnet runden, vi lagrer deretter antall seire etter spiller i en variabel.
Til slutt er det to blokker som kontrollerer angrepskader og nærkampangrep. I hver av dem sjekker vi om det er sprite -kollisjon, og om den skjermede/angripende variabelen for den angripende spilleren er satt til 0/1.
Trinn 3: Spill 1: AI -motstander
I det første spillet vil vi lage en relativt enkel AI -motstander for å være andre spiller. Inne på spilloppdateringen hver 200 ms foretar vi først avstandskontrollen mellom spiller og AI - hvis det er mindre enn 20 setter vi AI i nærkampsmodus ved å øke sjansen for nærkampangrep til 30 og angrepsangrep til 30. Hvis avstanden er høyere enn 20 setter vi sjansen til nærkampangrep til null (ingen halvliter i nærkampangrep, siden spilleren er for langt) og flytter sjansen til 70. Etter at variablene for handlingssjanser er satt, fortsetter vi disse handlingene med de angitte sjansene. Hvis du prøver å spille mot denne enkle AI selv, vil du se at til tross for atferden er veldig enkel, er det ikke lett å vinne mot det - så ofte som med datastyrte motstandere vinner det hovedsakelig fordi det kan utføre flere handlinger per sekund enn en menneskelig spiller.
Hvis du sitter fast mens du koder, kan du laste ned hele koden i vårt GitHub -depot for dette prosjektet og åpne den i Makecode Arcade.
Trinn 4: Game 2: Simulator Multiplayer
Spillvarianten for to spillere i simulering ligner veldig på enspillersversjon, bortsett fra at vi erstatter AI -atferdsblokken med fire på spilleren 2 knappetrykkede blokker - med innhold inne i disse blokkene som speiler innholdet i de samme blokkene for spiller 1. Har en titt på skjermbildet for å få en bedre ide om hvilke endringer du må gjøre. Bortsett fra det må vi også legge til flytte spiller 2 med knapper som blokkerer på startfunksjonen og endre sluttskjermbildet for spiller to -spillet til WIN i stedet for LOSE.
Trinn 5: Spill 3: Jacdac Multiplayer
Jeg har funnet en fellesskapsimplementering av Jacdac multiplayer med Makecode arkadeblokker i denne forumtråden
forum.makecode.com/t/new-extension-real-mu…
Jeg testet eksempelspillet der (Space Invaders) og syntes det fungerte veldig bra. Dessverre bruker spillmekanikken til Cthulhu Combat mange variabler, og det ser ut til at Real Multiplayer -utvidelsene ikke støtter synkroniseringsvariabler ennå - så jeg fikk det til å fungere, de to spillernes handlinger er synkronisert på tvers av enheter, men livet kan ikke ikke slipp på motstandernes enhet. Det er også noe galt med prosjektilmekanikk, det ser ikke ut til at prosjektilene forsvinner etter å ha truffet veggen, noe som får spillet til å miste forbindelsen etter at omtrent 10 prosjektiler har blitt avfyrt.
Du kan prøve flerspilleren ved å laste ned-p.webp
Trinn 6: La Cthulhu -kampen begynne
Det er fortsatt mange forbedringer som kan gjøres i vårt enkle kampspill - for eksempel kan du legge til mer komplisert AI -oppførsel eller bruke utvidelse til å legge til knappkombinasjoner og/eller animasjonssekvenser. Lykke til og ha det gøy mens du programmerer dine egne spill med GameGo og Makecode Arcade.
Hvis du lager en forbedret versjon av spillet, del det i kommentarene nedenfor! For mer informasjon om GameGo og annen maskinvare for produsenter og STEM -lærere, besøk vårt nettsted, https://tinkergen.com/ og abonner på vårt nyhetsbrev.
Anbefalt:
Plattformspill med uendelige nivåer på GameGo med Makecode Arcade: 5 trinn (med bilder)
Plattformspill med uendelige nivåer på GameGo med Makecode Arcade: GameGo er en Microsoft Makecode -kompatibel retro spillkonsoll utviklet av TinkerGen STEM education. Den er basert på STM32F401RET6 ARM Cortex M4 -brikken og laget for STEM -lærere eller bare folk som liker å ha det gøy med å lage retro videospill
Battle City Remake på GameGo With Makecode Arcade: 4 trinn (med bilder)
Battle City Remake på GameGo With Makecode Arcade: GameGo er en Microsoft Makecode -kompatibel retro spillkonsoll utviklet av TinkerGen STEM education. Den er basert på STM32F401RET6 ARM Cortex M4 -brikken og laget for STEM -lærere eller bare folk som liker å ha det gøy med å lage retrovideo
Hvordan lage en 2 -spiller DIY Bartop Arcade med egendefinerte Marquee Coin Slots, ved hjelp av en Pandoras eske: 17 trinn (med bilder)
Hvordan lage en 2 -spiller DIY Bartop Arcade med egendefinerte Marquee Coin Slots, ved hjelp av en Pandoras eske: Dette er en trinnvis opplæring om hvordan du bygger en 2 -spiller bar topp arkademaskin som har tilpassede myntspor innebygd i partiet. Myntautomatene vil bli laget slik at de bare godtar mynter på størrelse med kvartaler og større. Denne arkaden er drevet
Kryssfiner Arcade koffert med Retropie: 10 trinn (med bilder)
Kryssfiner Arcade Suitcase With Retropie: Da jeg var liten, hadde vennene våre 8 -biters Nintendo, og det var det kuleste på jorden. Helt til jeg og broren min fikk sega megadrive i julegave. Vi sov ikke fra julaften til nyttårsaften, vi bare lekte og likte det godt
LED Pixel Art Frame med Retro Arcade Art, appstyrt: 7 trinn (med bilder)
LED Pixel Art Frame med Retro Arcade Art, App Controlled: LAG EN APP -KONTROLLERT LED ART -FRAME MED 1024 LEDS DET VISER RETRO 80 -tallet ARCADE GAME ART PartsPIXEL Makers Kit - $ 59Adafruit 32x32 P4 LED Matrix - $ 49.9512x20 tommers akrylark, 1/8 " tomme tykk - Gjennomsiktig lett røyk fra Tap Plastics