Indholdsfortegnelse:

(Multiplayer) Fighting on GameGo With Makecode Arcade: 6 trin
(Multiplayer) Fighting on GameGo With Makecode Arcade: 6 trin

Video: (Multiplayer) Fighting on GameGo With Makecode Arcade: 6 trin

Video: (Multiplayer) Fighting on GameGo With Makecode Arcade: 6 trin
Video: How to Make a Platformer Game [Part 1: Intro, sprites, movement & tile map] 2024, December
Anonim

GameGo er en Microsoft Makecode -kompatibel retro gaming bærbar konsol udviklet af TinkerGen STEM education. Den er baseret på STM32F401RET6 ARM Cortex M4 -chip og lavet til STEM -undervisere eller bare folk, der kan lide at have det sjovt med at skabe retro -videospil. Du kan følge denne vejledning og prøve spillet i Makecode Arcade -simulator og derefter køre det på GameGo.

I de artikler, vi udgav, før vi allerede forsøgte os med at lave et platformspil og en Battle City Remake. Denne gang ville jeg bruge Jacdac -interface til at forbinde to GameGo's sammen og give spillerne mulighed for at kæmpe om overlegenhed i et multiplayer -kampfly. Desværre fandt jeg ud af, at blokprogrammering til Jacdac multiplayer er i beta -fase fra nu af og har nogle fejl - det er stadig muligt at lave enklere spil, men uden held for mit kampspil. Så i denne instruerbare udgiver jeg tre versioner af spillet (som jeg kaldte "Cthulhu Combat":))

- single player version med simpel AI modstander

- multiplayer version til at spille i Arcade simulering

- multiplayer -version med Jacdac (ufuldstændig, opdateres senere)

Forbrugsvarer

GameGo

Microsoft Makecode Arcade

Trin 1: Ved start og Round_setup -funktioner

På Start- og Round_setup -funktioner
På Start- og Round_setup -funktioner

Jeg vil beskrive kodning af singleplayerspil i detaljer, og derefter diskuterer vi i de næste trin, hvordan vi gør det til

a) simulator multiplayer

b) Jacdac multiplayer.

Vi starter med at indstille flisekortet til mørkt fangehul og oprette sprites til spiller og AI -bot - begge vil dog tilhøre Player slags. Vi satte deres y -akse acceleration til 600 - så de ikke ville flyve efter at have hoppet. Vi initialiserer også projektiler fra bot og player, inden vi kalder round_setup -funktion. round_setup funktion tager sig af nye runde forberedelser for os - grunden til at vi gør det til en funktion er fordi der kan være op til 3 runder i alt i spillet, og vi vil undgå at gentage den samme kode. I den funktion kontrollerer vi først, om nogen af spillerne har 2 sejre - hvis denne betingelse vurderes som sand, så er spillet slut. Hvis begge spillere har mindre end to sejre, øger vi variablen round_num med en og placerer spillere på deres startpladser, genopfylder deres liv til 100 og erklærer begyndelsen på en ny runde.

Trin 2: Game Flow

Spil Flow
Spil Flow

I dette spil er verden i sig selv statisk, og spillestrømmen er knyttet til spillernes handlinger. I fire blokke definerer vi de fleste spilleregler, disse blokke er: ved at trykke på op -knappen, på ned -knappen, på A -knappen og på B -knappen, der trykkes. Lad os se på hver af disse blokke.

ved at trykke på op -knappen - dobbeltspring -logik. Hvis vi trykkede på hoppeknappen mindre end 3 gange, satte vi spillerens hastighed til - 140 (bevæger sig opad). Vores spiller har en acceleration på 600, så når vi hopper, falder vores hastighed hurtigt. Når den når 0 (ikke bevæger sig på den lodrette akse) sætter vi jump_count til 0 igen.

på ned -knappen trykket - varierede angreb skjold logik. Hvis der trykkes på ned -knappen, skifter spilleren sit billede til "afskærmet" og sætter variabel afskærmet til 1.

på knap A trykket - affyr et projektil. Den ene er stort set selvforklarende.

på knap B trykket - nærkampangreb, svarende til skjold i implementeringen.

Vi sætter billeder af spillernes sprites og deres afskærmede/angribende variabler til 0 hver 500 ms ind på spilopdatering hver.. ms blok. Vi kunne have indstillet uafhængige timere for hver handling, men for enkelthedens skyld vil vi bare bruge hovedspilopdateringssløjfen.

Vinderforholdene her er ret lette - når spillerens liv når 0, har den anden spiller vundet runden, vi gemmer derefter antallet af sejre efter spiller i en variabel.

Endelig er der to blokke, der styrer angrebsangreb og skader i nærkamp. I hver af dem kontrollerer vi for sprite -kollision, og hvis den afskærmede/angribende variabel for den angribende spiller er indstillet til 0/1.

Trin 3: Spil 1: AI -modstander

Spil 1: AI -modstander
Spil 1: AI -modstander

I det første spil vil vi oprette en relativt simpel AI -modstander til at være anden spiller. Inde på spilopdatering hver 200 ms foretager vi først afstandskontrollen mellem spiller og AI - hvis det er mindre end 20, sætter vi vores AI i nærkampsmodus ved at hæve dens nærkampangrebsmulighed til 30 og varierede angrebsmulighed til 30. Hvis afstanden er højere end 20 sætter vi chancen for nærkampangreb til nul (ingen halvliter i nærkampangreb, da spilleren er for langt) og flytter chancen til 70. Efter at variablerne for handlingschancer er blevet sat, fortsætter vi med at udføre disse handlinger med de angivne chancer. Hvis du prøver at spille mod denne simple AI selv, vil du se, at på trods af dens adfærd er meget enkel, er det ikke let at vinde imod det - som ofte i tilfælde af computerstyrede modstandere vinder det mest, fordi det kan udføre flere handlinger pr. Sekund end en menneskelig spiller.

Hvis du sidder fast, mens du koder, kan du downloade den fulde kode i vores GitHub -depot til dette projekt og åbne den i Makecode Arcade.

Trin 4: Game 2: Simulator Multiplayer

Spil 2: Simulator Multiplayer
Spil 2: Simulator Multiplayer
Spil 2: Simulator Multiplayer
Spil 2: Simulator Multiplayer

Spilvarianten for to spillere i simulering ligner meget singleplayerversionen, bortset fra at vi erstatter AI -adfærdsblokken med fire blokke på afspillerens 2 knapper, der trykkes på - med indhold inde i disse blokke, der afspejler indholdet af de samme blokke for spiller 1. Har et kig på skærmbilledet for at få en bedre idé om, hvilke ændringer du skal foretage. Bortset fra det skal vi også tilføje move player 2 med knapper blokere ved startfunktionen og ændre slutskærmen for spiller to game over til WIN i stedet for LOSE.

Trin 5: Spil 3: Jacdac Multiplayer

Spil 3: Jacdac Multiplayer
Spil 3: Jacdac Multiplayer

Jeg har fundet en fællesskabsimplementering af Jacdac multiplayer med Makecode arkadeblokke i denne forumtråd

forum.makecode.com/t/new-extension-real-mu…

Jeg testede eksempelspillet der (Space Invaders) og fandt ud af at det fungerede meget godt. Desværre bruger spillemekanikken i Cthulhu Combat mange variabler, og det ser ud til, at Real Multiplayer -udvidelserne ikke understøtter synkronisering af variabler endnu - så jeg fik det til at fungere, de to spillers handlinger er synkroniseret på tværs af enheder, men livet kunne ikke ikke tabe på modstandernes enhed. Der er også noget galt med projektilmekanik, projektilerne ser ikke ud til at forsvinde efter at have ramt væggen, hvilket får spillet til at miste forbindelsen, efter at cirka 10 projektiler er blevet affyret.

Du kan prøve multiplayeren ved at downloade-p.webp

Trin 6: Lad Cthulhu Combat begynde

Lad Cthulhu -kampen begynde!
Lad Cthulhu -kampen begynde!

Der er stadig mange forbedringer, der kan foretages i vores enkle kampspil - for eksempel kan du tilføje mere kompliceret AI -adfærd eller bruge udvidelse til at tilføje knapkombinationer og/eller animationssekvenser. Held og lykke, mens du programmerer dine egne spil med GameGo og Makecode Arcade.

Hvis du laver en forbedret version af spillet, kan du dele det i kommentarerne herunder! For mere information om GameGo og anden hardware til producenter og STEM -undervisere, besøg vores websted, https://tinkergen.com/ og tilmeld dig vores nyhedsbrev.

Anbefalede: