Innehållsförteckning:
- Tillbehör
- Steg 1: På Start- och Round_setup -funktioner
- Steg 2: Game Flow
- Steg 3: Spel 1: AI -motståndare
- Steg 4: Game 2: Simulator Multiplayer
- Steg 5: Spel 3: Jacdac Multiplayer
- Steg 6: Låt Cthulhu -striden börja
Video: (Multiplayer) Fighting on GameGo With Makecode Arcade: 6 Steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:37
GameGo är en Microsoft Makecode -kompatibel bärbar konsol för retrospel utvecklad av TinkerGen STEM education. Den är baserad på STM32F401RET6 ARM Cortex M4 -chip och gjord för STEM -lärare eller bara människor som gillar att ha roligt med att skapa retro -videospel. Du kan följa denna handledning och prova spelet i Makecode Arcade -simulatorn och sedan köra det på GameGo.
I artiklarna som vi publicerade innan vi redan försökte oss på att göra ett plattformsspel och en Battle City Remake. Den här gången ville jag använda Jacdac -gränssnittet för att ansluta två GameGos tillsammans och låta spelarna kämpa för överlägsenhet i ett flerspelarkämpar. Tyvärr fick jag reda på att blockprogrammering för Jacdac multiplayer är i beta -skede från och med nu och har några buggar - det är fortfarande möjligt att göra enklare spel, men ingen tur för mitt kampspel. Så i denna instruerbara publicerar jag tre versioner av spelet (som jag kallade "Cthulhu Combat":))
- enspelarversion med enkel AI -motståndare
- flerspelarversion för att spela i Arcade -simulering
- flerspelarversion med Jacdac (ofullständig, uppdateras senare)
Tillbehör
GameGo
Microsoft Makecode Arcade
Steg 1: På Start- och Round_setup -funktioner
Jag kommer att beskriva kodande enkelspelarspel i detaljer och sedan diskuterar vi i nästa steg hur vi gör det till
a) flerspelarsimulator
b) Jacdac multiplayer.
Vi börjar med att ställa in kakelkartan på dark dungeon och skapa sprites för spelare och AI -bot - båda kommer dock att tillhöra Player kind. Vi ställde in sin y -axelacceleration till 600 - så att de inte skulle flyga efter att ha hoppat. Vi initierar också projektiler från bot och spelare innan vi anropar round_setup -funktionen. round_setup -funktionen tar hand om nya förberedelser för oss - anledningen till att vi gör det till en funktion är att det kan vara så många som 3 omgångar totalt i spelet och vi vill undvika att upprepa samma kod. I den funktionen kontrollerar vi först om någon av spelarna har 2 segrar - om detta villkor utvärderas som sant, då är spelet över. Om båda spelarna har mindre än två segrar ökar vi variabeln round_num med en och placerar spelare på deras startplatser, fyller på deras liv till 100 och förklarar början på en ny omgång.
Steg 2: Game Flow
I det här spelet är själva världen statisk och spelflödet är kopplat till spelarnas handlingar. I fyra block definierar vi de flesta spelreglerna, dessa block är: uppåtknapp nedtryckt, nedknapp nedtryckt, nedtryckt A -knapp och på B -knapp tryckt. Låt oss titta på var och en av dessa block.
på upp -knappen nedtryckt - dubbelhoppslogik. Om vi tryckte på hoppknappen mindre än 3 gånger, satte vi spelarens vyhastighet till - 140 (rör oss uppåt). Vår spelare har en acceleration på 600, så när vi hoppar kommer vår hastighet att minska snabbt. När den når 0 (rör sig inte på vertikal axel) sätter vi jump_count till 0 igen.
på ned -knappen nedtryckt - varierad attacksköldlogik. Om nedknappen trycks ned ändrar spelaren sin bild till "skärmad" och ställer in variabeln skärmad till 1.
på knapp A tryckt - skjut av en projektil. Den där är ganska självförklarande.
på knapp B nedtryckt - närstridsattack, liknande sköld vid implementering.
Vi ställer in bilder på spelarnas sprites och deras skärmade/attackerande variabler till 0 var 500: e ms på speluppdatering varje.. ms block. Vi hade kunnat ställa in oberoende tidtagare för varje åtgärd, men för enkelhetens skull använder vi bara huvudspeluppdateringsslingan.
Vinstförhållandena här är ganska enkla - när spelarlivet når 0 har den andra spelaren vunnit rundan, vi lagrar sedan antalet vinster per spelare i en variabel.
Slutligen finns det två block som styr olika attackskador och närstridsattacker. I var och en av dem kontrollerar vi om det är sprite -kollision och om den skärmade/attackerande variabeln för den anfallande spelaren är inställd på 0/1.
Steg 3: Spel 1: AI -motståndare
I det första spelet kommer vi att skapa en relativt enkel AI -motståndare för att vara andra spelare. Inuti speluppdateringen var 200: e ms gör vi först avståndskontrollen mellan spelare och AI - om det är mindre än 20 ställer vi in vår AI i närkampsläge genom att höja dess närstridschans till 30 och varierade attackchans till 30. Om avståndet är högre än 20 sätter vi chansen till närstridsattack till noll (ingen pint i närstridsattack, eftersom spelaren är för långt) och flyttar chansen till 70. Efter att variablerna för actionchanser har ställts in fortsätter vi att utföra dessa åtgärder med angivna chanser. Om du försöker spela mot denna enkla AI själv kommer du att se att trots att beteendet är väldigt enkelt är det inte lätt att vinna mot det - så ofta för datorstyrda motståndare vinner det mest för att det kan göra fler handlingar per sekund än en mänsklig spelare.
Om du fastnade medan du kodade kan du ladda ner hela koden i vårt GitHub -arkiv för detta projekt och öppna den i Makecode Arcade.
Steg 4: Game 2: Simulator Multiplayer
Spelvarianten för två spelare i simulering är mycket lik enspelarversion, förutom att vi byter ut AI -beteendeblocket med fyra på spelare 2 knapptryckta block - med innehåll inuti dessa block som speglar innehållet i samma block för spelare 1. Har titta på skärmdumpen för att få en bättre uppfattning om vilka ändringar du behöver göra. Bortsett från det måste vi också lägga till flyttspelare 2 med knappar som blockerar startfunktionen och ändra slutskärmen för spelare två om till WIN istället för LOSE.
Steg 5: Spel 3: Jacdac Multiplayer
Jag har hittat en community -implementering av Jacdac multiplayer med Makecode arkadblock i denna forumtråd
forum.makecode.com/t/new-extension-real-mu…
Jag testade exemplets spel där (Space Invaders) och tyckte att det fungerade mycket bra. Tyvärr använder spelmekaniken i Cthulhu Combat många variabler och det verkar som att Real Multiplayer -tilläggen inte stöder synkroniseringsvariabler ännu - så jag fick det att fungera, de två spelarnas åtgärder synkroniseras mellan enheter, men livet kan inte tappa inte på motståndarens enhet. Det är också något fel med projektilmekanik, projektilerna verkar inte försvinna efter att ha träffat väggen, vilket gör att spelet tappar anslutningen efter att cirka 10 projektiler har skjutits.
Du kan prova flerspelaren genom att ladda ner-p.webp
Steg 6: Låt Cthulhu -striden börja
Det finns fortfarande många förbättringar som kan göras i vårt enkla kampspel - till exempel kan du lägga till mer komplicerat AI -beteende eller använda tillägg för att lägga till knappkombinationer och/eller animationssekvenser. Lycka till och ha kul medan du programmerar dina egna spel med GameGo och Makecode Arcade.
Om du gör en förbättrad version av spelet, dela det i kommentarerna nedan! För mer information om GameGo och annan hårdvara för tillverkare och STEM -lärare, besök vår webbplats, https://tinkergen.com/ och prenumerera på vårt nyhetsbrev.
Rekommenderad:
Plattform med oändliga nivåer på GameGo med Makecode Arcade: 5 steg (med bilder)
Plattform med oändliga nivåer på GameGo med Makecode Arcade: GameGo är en Microsoft Makecode -kompatibel bärbar konsol för retrospel som utvecklats av TinkerGen STEM -utbildning. Det är baserat på STM32F401RET6 ARM Cortex M4 -chip och gjord för STEM -lärare eller bara människor som gillar att ha roligt med att skapa retro -videospel
Battle City Remake på GameGo med Makecode Arcade: 4 steg (med bilder)
Battle City Remake på GameGo med Makecode Arcade: GameGo är en Microsoft Makecode -kompatibel bärbar konsol för retrospel som utvecklats av TinkerGen STEM -utbildning. Den är baserad på STM32F401RET6 ARM Cortex M4 -chip och gjord för STEM -lärare eller bara människor som gillar att ha kul att skapa retrovideo
Whack a Button Multiplayer: 4 steg
Whack a Button Multiplayer: Ett spel som en Whack-a-Mole. Med hjälp av lysdioder och knappar. Det finns två lägen: -Single-player-Multiplayer i single player mode, det finns 3 nivåer: LEVEL_1: 1 diod i 1 sekund LEVEL_2: 2 dioder för 1 sekund LEVEL_3: 2 dioder i 0,7 sekunderOch för multipeln
Unity Multiplayer 3D Hologram Game and Hologram Projector for PC: 16 Steps (with Pictures)
Unity Multiplayer 3D Hologram Game och Hologram Projector för PC: På inspirerad på Holus gillar jag att utveckla en holografisk display mycket billig. Men när jag försökte hitta spel hittade jag ingenting på webben. Så jag planerar att utveckla mitt eget spel i Unity. Detta är mitt första spel i enhet. Innan dess utvecklade jag några spel i Flash, men
Arduino: Frustrating Multiplayer Art Car: 13 Steps
Arduino: Frustrating Multiplayer Art Car: Detta är en konstbil som du kan beställa med bluetooth från din smartphone och en servo som kan styras av en bärbar dator. Alternativet är om det är kaotiskt/ frustrerande att göra för användardörren för att oroa sig för att servo