INHOUDSOPGAWE:
- Voorrade
- Stap 1: Op die begin- en Round_setup -funksies
- Stap 2: Game Flow
- Stap 3: Game 1: AI Opponent
- Stap 4: Game 2: Simulator Multiplayer
- Stap 5: Spel 3: Jacdac Multiplayer
- Stap 6: Laat die Cthulhu -geveg begin
Video: (Multiplayer) Veg op GameGo Met Makecode Arcade: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
GameGo is 'n Microsoft Makecode -versoenbare retro -draagbare konsole wat ontwikkel is deur TinkerGen STEM education. Dit is gebaseer op die STM32F401RET6 ARM Cortex M4 -chip en is gemaak vir STEM -opvoeders of net mense wat daarvan hou om retro -videospeletjies te skep. Jy kan hierdie tutoriaal volg en die spel in Makecode Arcade -simulator probeer en dit dan op GameGo laat loop.
In die artikels wat ons gepubliseer het, het ons al probeer om 'n platformspel en 'n Battle City Remake te maak. Hierdie keer wou ek die Jacdac -koppelvlak gebruik om twee GameGo's aanmekaar te koppel en die spelers in staat te stel om oorheersing te veg in 'n multiplayer -vegvliegtuig. Ongelukkig het ek uitgevind dat blokprogrammering vir Jacdac -multiplayer tans in 'n beta -fase is en 'n paar foute het - dit is steeds moontlik om eenvoudiger speletjies te maak, maar my vegspel het geen geluk nie. Dus, in hierdie instruksies publiseer ek drie weergawes van die spel (wat ek 'Cthulhu Combat' genoem het:))
- enkel speler weergawe met 'n eenvoudige AI teenstander
- multiplayer -weergawe om in Arcade -simulasie te speel
- multiplayer weergawe met Jacdac (onvolledig, sal later opgedateer word)
Voorrade
GameGo
Microsoft Makecode Arcade
Stap 1: Op die begin- en Round_setup -funksies
Ek sal die kodering van enkelspelerspel in detail beskryf, en dan bespreek ons in die volgende stappe hoe ons dit kan maak
a) multiplayer -simulator
b) Jacdac -multiplayer.
Ons begin met die instelling van die teëlkaart in 'n donker kerker en met die skep van sprites vir die speler en AI -bot - albei behoort egter aan die speler -soort. Ons stel hul y -asversnelling op 600 - sodat hulle nie vlieg nadat hulle gespring het nie. Ons initialiseer ook projektiele van bot en speler voordat ons die round_setup -funksie bel. round_setup -funksie sorg vir ons nuwe ronde voorbereiding - die rede waarom ons dit 'n funksie maak, is omdat daar in totaal 3 rondtes in die spel kan wees en ons wil voorkom dat dieselfde kode herhaal word. In die funksie kyk ons eers of een van die spelers 2 oorwinnings het - as hierdie toestand as waar beskou word, dan is dit klaar. As albei spelers minder as twee oorwinnings het, verhoog ons die round_num -veranderlike met een en plaas spelers op hul beginpunte, vul hul lewens aan tot 100 en verklaar die begin van 'n nuwe ronde.
Stap 2: Game Flow
In hierdie spel is die wêreld self staties en die spelvloei is vasgemaak aan die optrede van spelers. In vier blokke definieer ons die meeste spelreëls; hierdie blokke is: op -knoppie ingedruk, op af -knoppie gedruk, op A -knoppie gedruk en op B -knoppie gedruk. Kom ons kyk na elkeen van hierdie blokke.
op die op -knoppie gedruk - dubbele spronglogika. As ons die springknoppie minder as 3 keer ingedruk het, stel ons die snelheid van die speler op - 140 (beweeg opwaarts). Ons speler het 'n versnelling van 600, dus sodra ons spring, neem ons snelheid vinnig af. Sodra dit 0 bereik (beweeg nie op die vertikale as nie) stel ons jump_count weer op 0.
op die af -knoppie gedruk - wisselende aanvalskildlogika. As die afknoppie ingedruk word, verander die speler sy beeld na "afgeskerm" en stel die veranderlike afgeskerm op 1.
op knoppie A gedruk - vuur 'n projektiel af. Die een is redelik selfverduidelikend.
op knoppie B gedruk - melee -aanval, soortgelyk aan die skerm in die uitvoering.
Ons stel beelde van spelers se sprites en hul afgeskermde/aanvallende veranderlikes op elke 500 ms in op die spelopdatering elke.. ms blok. Ons kon vir elke aksie onafhanklike timers ingestel het, maar vir die eenvoud sal ons net die hoof -opdateringslus gebruik.
Die wenvoorwaardes hier is redelik maklik - as die spelerslewe 0 bereik, die ander speler die ronde gewen het, stoor ons die aantal oorwinnings per speler in 'n veranderlike.
Laastens is daar twee blokke wat wisselende aanvalskade en nadeel -aanvalskade beheer. In elkeen van hulle kyk ons na sprite -botsing en of die veranderlike van die aanvallende speler op 0/1 gestel is.
Stap 3: Game 1: AI Opponent
In die eerste wedstryd sal ons 'n relatief eenvoudige AI -teenstander skep om die tweede speler te wees. Binne op die opdatering van die spel elke 200 ms, doen ons eers die afstandskontrole tussen speler en AI - as dit minder as 20 is, stel ons ons AI in die nabygeveg af deur die kans op nabygevegaanval tot 30 te verhoog en die aanvalskans tot 30 te wissel. As die afstand groter is as 20 stel ons die kans op 'n nabygevegaanval op nul (geen pint in 'n nabygevegaanval nie, aangesien die speler te ver is) en skuif die kans na 70. Nadat die veranderlikes vir aksiekanse gestel is, gaan ons voort met hierdie aksies met die gespesifiseerde kanse. As u self probeer om teen hierdie eenvoudige AI te speel, sal u sien dat ondanks sy gedrag baie eenvoudig is, is dit nie maklik om daarteen te wen nie - so dikwels as dit met rekenaarbeheerde teenstanders is, wen dit meestal omdat dit meer aksies per sekonde kan doen as 'n sekonde menslike speler.
As u vasgehou het terwyl u kodeer, kan u die volledige kode in ons GitHub -bewaarplek vir hierdie projek aflaai en dit in Makecode Arcade oopmaak.
Stap 4: Game 2: Simulator Multiplayer
Die spelvariant vir twee spelers in simulasie is baie soortgelyk aan die enkelspelerweergawe, behalwe dat ons die AI -gedragsblok met vier blokke op die speler 2 -knoppies vervang - met inhoud binne -in hierdie blokke wat die inhoud van dieselfde blokke vir speler 1. weerspieël. kyk na die kiekie om 'n beter idee te kry van watter veranderinge u moet aanbring. Afgesien daarvan moet ons ook skuifspeler 2 met knoppies by die beginfunksie byvoeg en die eindskerm vir speler twee -wedstryd verander na WEN in plaas van VERLOOR.
Stap 5: Spel 3: Jacdac Multiplayer
Ek het 'n gemeenskapsimplementering van Jacdac -multiplayer met Makecode -arcade -blokke in hierdie forum gevind
forum.makecode.com/t/new-extension-real-mu…
Ek het die voorbeeldspeletjie daar (Space Invaders) getoets en gevind dat dit baie goed werk. Ongelukkig gebruik die spelmeganika van Cthulhu Combat baie veranderlikes en dit lyk asof die Real Multiplayer -uitbreidings nog nie sinchroniseer veranderlikes ondersteun nie - so ek het begin werk, die aksies van die twee spelers word op toestelle gesinkroniseer, maar die lewe kan nie moenie op die teenstander se toestel val nie. Daar is ook iets fout met die projektielmeganika; dit lyk asof die projektiele nie verdwyn nadat hulle teen die muur getref het nie, wat veroorsaak dat die spel die verbinding verloor nadat ongeveer 10 projektiele afgevuur is.
U kan die multiplayer probeer deur die-p.webp
Stap 6: Laat die Cthulhu -geveg begin
Daar is nog baie verbeterings wat ons eenvoudige vegspel kan aanbring - u kan byvoorbeeld meer ingewikkelde AI -gedrag byvoeg of uitbreiding gebruik om knoppiekombinasies en/of animasievolgorde by te voeg. Sterkte en om pret te hê terwyl jy jou eie speletjies met GameGo en Makecode Arcade programmeer.
As u 'n verbeterde weergawe van die spel maak, deel dit dan in die kommentaar hieronder! Vir meer inligting oor GameGo en ander hardeware vir vervaardigers en STEM -opvoeders, besoek ons webwerf, https://tinkergen.com/ en teken in op ons nuusbrief.
Aanbeveel:
Hoe om 'n multiplayer -speletjie te maak met Arduino -beheerders: 6 stappe
Hoe om 'n multiplayer -speletjie te maak met Arduino -beheerders: het u al ooit gewonder hoe spelontwikkelaars ongelooflike speletjies skep wat mense wêreldwyd geniet? Wel, vandag gaan ek u net 'n klein wenk gee daaroor deur 'n klein multiplayer -speletjie te maak wat deur 'n Arduino -kontrole beheer kan word
Platformer met oneindige vlakke op GameGo met Makecode Arcade: 5 stappe (met foto's)
Platformer met oneindige vlakke op GameGo met Makecode Arcade: GameGo is 'n Microsoft Makecode -versoenbare retro -draagbare konsole wat ontwikkel is deur TinkerGen STEM -onderwys. Dit is gebaseer op die STM32F401RET6 ARM Cortex M4 -chip en is gemaak vir STEM -opvoeders of net mense wat daarvan hou om pret te hê om retro -videospeletjies te skep
Battle City Remake op GameGo With Makecode Arcade: 4 stappe (met foto's)
Battle City Remake op GameGo Met Makecode Arcade: GameGo is 'n Microsoft Makecode -versoenbare retro -draagbare konsole wat ontwikkel is deur TinkerGen STEM -onderwys. Dit is gebaseer op die STM32F401RET6 ARM Cortex M4 -chip en is gemaak vir STEM -opvoeders of net mense wat daarvan hou om pret te hê om retrovideo
Whack a Button Multiplayer: 4 stappe
Whack a Button Multiplayer: 'n Spel soos 'n Whack-a-Mole. Met behulp van LED's en knoppies. Daar is 2 modusse: -Enkelspeler-Multiplayer In enkelspelermodus is daar 3 vlakke: LEVEL_1: 1 diode vir 1 sekonde LEVEL_2: 2 diodes vir 1 sekonde LEVEL_3: 2 diodes vir 0,7 sekondes En vir die veelvoud
Hoe om 'n DIY Bartop -arcade vir twee spelers te maak met aangepaste markies, met 'n Pandora -boks: 17 stappe (met foto's)
Hoe om 'n DIY Bartop -arcade vir twee spelers te maak met aangepaste markiesmuntstukke, met behulp van 'n Pandora -boks: dit is 'n stap -vir -stap handleiding oor hoe om 'n boonste arcade -masjien vir twee spelers te bou met persoonlike muntstukke wat in die markie ingebou is. Die muntstukke sal so gemaak word dat dit slegs munte aanvaar wat die grootte van 'n kwartier of groter is. Hierdie arcade word aangedryf