Sadržaj:
- Supplies
- Korak 1: O funkcijama Start i Round_setup
- Korak 2: Tok igre
- Korak 3: Igra 1: AI protivnik
- Korak 4: Igra 2: Simulator za više igrača
- Korak 5: Igra 3: Jacdac za više igrača
- Korak 6: Neka Cthulhu borba počne
Video: (Više igrača) Borba na GameGo -u sa Makecode Arkadom: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
GameGo je retro prijenosna igraća konzola kompatibilna sa Microsoft Makecode -om, koju je razvilo TinkerGen STEM obrazovanje. Zasnovan je na STM32F401RET6 ARM Cortex M4 čipu i napravljen je za STEM edukatore ili samo ljude koji se vole zabavljati stvarajući retro video igre. Možete pratiti ovaj vodič i isprobati igru u Makecode Arcade simulatoru, a zatim je pokrenuti na GameGo -u.
U člancima koje smo prije objavili već smo se okušali u izradi platformerske igre i remakea Battle Cityja. Ovaj put sam htio koristiti Jacdac interfejs za povezivanje dva GameGo -a i omogućiti igračima da se bore za nadmoć u igri za više igrača. Nažalost, saznao sam da je blok programiranje za Jacdac multiplayer trenutno u beta fazi i da ima nekih grešaka - još uvijek je moguće napraviti jednostavnije igre, ali nema sreće za moju borbenu igru. Dakle, u ovom uputstvu objavljujem tri verzije igre (koju sam nazvao "Cthulhu Combat":))
- verzija za jednog igrača sa jednostavnim AI protivnikom
- verzija za više igrača za igranje u Arkadnoj simulaciji
- verzija za više igrača s Jacdacom (nepotpuna, bit će ažurirana kasnije)
Supplies
GameGo
Microsoft Makecode Arcade
Korak 1: O funkcijama Start i Round_setup
Detaljno ću opisati kodiranje igre za jednog igrača, a zatim u sljedećim koracima raspravljamo o tome kako to učiniti
a) simulator za više igrača
b) Jacdac multiplayer.
Počinjemo postavljanjem mape pločica na tamnu tamnicu i stvaranjem sprajtova za igrača i AI bota - oba će ipak pripadati vrsti igrača. Njima smo postavili ubrzanje osi y na 600 - kako ne bi letjeli nakon skoka. Također pokrećemo projektile od bota i igrača prije pozivanja funkcije round_setup. Funkcija round_setup brine se o pripremi nove runde za nas - razlog zašto je pretvaramo u funkciju je to što u igri može biti ukupno 3 kruga i želimo izbjeći ponavljanje istog koda. U toj funkciji prvo provjeravamo ima li neki od igrača 2 pobjede - ako se ovaj uvjet ocijeni kao True, igra je gotova. Ako oba igrača imaju manje od dvije pobjede, povećavamo varijablu round_num za jednu i postavljamo igrače na njihova početna mjesta, punimo im živote na 100 i proglašavamo početak nove runde.
Korak 2: Tok igre
U ovoj igri sam svijet je statičan, a tok igre je vezan za radnje igrača. U četiri bloka definiramo većinu pravila igre, a to su: pritisnuto dugme gore, pritisnuto dugme dolje, dugme A pritisnuto i dugme B pritisnuto. Pogledajmo svaki od ovih blokova.
pritisnuto dugme nagore - logika dvostrukog skoka. Ako smo pritisnuli tipku za skok manje od 3 puta, tada smo postavili brzinu vy igrača na - 140 (kretanje prema gore). Naš igrač ima ubrzanje postavljeno na 600, pa kad jednom skočimo, naša će se brzina brzo smanjivati. Kada dosegne 0 (ne pomiče se po okomitoj osi), ponovno postavljamo jump_count na 0.
pritisnuto dugme za dole - logika štita za napadni napad. Ako se pritisne tipka za dolje, igrač mijenja sliku u "zaštićenu" i postavlja varijablu zaštićenu na 1.
na dugme A pritisnuto - ispalite projektil. To je prilično razumljivo samo po sebi.
pritisnuto dugme B - napad u bliskom napadu, sličan štitu u implementaciji.
Postavljamo slike sprajtova igrača i njihovih zaštićenih/napadačkih varijabli na 0 svakih 500 ms pri ažuriranju igre svaki.. ms blok. Mogli smo postaviti nezavisne tajmere za svaku radnju, ali radi jednostavnosti koristit ćemo samo glavnu petlju za ažuriranje igre.
Uvjeti pobjede ovdje su prilično laki - kada život igrača dosegne 0, drugi igrač je osvojio rundu, tada broj pobjeda po igraču pohranjujemo u varijablu.
Konačno, postoje dva bloka koji kontroliraju oštećenja u daljinama i oštećenja u napadu u bliskom napadu. U svakom od njih provjeravamo postoji li sudar sudara i je li oklopljena/napadačka varijabla za napadačkog igrača postavljena na 0/1.
Korak 3: Igra 1: AI protivnik
U prvoj igri ćemo stvoriti relativno jednostavnog AI protivnika koji će biti drugi igrač. Unutar ažuriranja igre svakih 200 ms prvo provjeravamo udaljenost između igrača i umjetne inteligencije - ako je manje od 20, postavljamo našu AI u način rada za okršaj povećavajući njezinu šansu za napad u bliskom napadu na 30 i raspon napada na 30. Ako je udaljenost veća od 20 postavljamo šansu za napad u bliskom napadu na nulu (nema pinta u napadu u bliskom napadu, jer je igrač predaleko) i premještamo šansu na 70. Nakon što su varijable za akciju postavljene, nastavljamo s izvršavanjem ovih akcija sa navedenim šansama. Ako sami pokušate igrati protiv ove jednostavne umjetne inteligencije, vidjet ćete da je, uprkos njenom ponašanju, vrlo jednostavno pobijediti - nije jednostavno - često u slučaju s protivnicima s računarskom kontrolom pobjeđuje uglavnom zato što može izvesti više akcija u sekundi human player.
Ako ste zaglavili tijekom kodiranja, možete preuzeti cijeli kôd u našem GitHub spremištu za ovaj projekt i otvoriti ga u Makecode Arcade.
Korak 4: Igra 2: Simulator za više igrača
Varijanta igre za dva igrača u simulaciji je vrlo slična verziji za jednog igrača, osim što zamjenjujemo blok ponašanja AI sa četiri bloka na igraču pritisnuta 2 dugmeta - sa sadržajem unutar ovih blokova koji preslikavaju sadržaj istih blokova za igrača 1. Imati pogledajte snimak ekrana da biste stekli bolju ideju koje promjene trebate napraviti. Osim toga, također moramo dodati potez igrača 2 sa blokiranim gumbima na početnoj funkciji i promijeniti završni ekran za igru dva igrača na WIN umjesto LOSE.
Korak 5: Igra 3: Jacdac za više igrača
Našao sam implementaciju Jacdac multiplayer -a u zajednici sa Makecode arkadnim blokovima u ovoj temi foruma
forum.makecode.com/t/new-extension-real-mu…
Tamo sam testirao primjer igre (Space Invaders) i otkrio da radi vrlo dobro. Nažalost, mehanika igre Cthulhu Combat -a koristi mnogo varijabli i čini se da Real Multiplayer ekstenzije još ne podržavaju sinhronizacijske varijable - pa sam to uspio, radnje dva igrača se sinkroniziraju na različitim uređajima, ali život ne bi mogao Ne ispuštam na protivnički uređaj. Također nešto nije u redu s mehanikom projektila, čini se da projektili ne nestaju nakon udara u zid, što dovodi do toga da igra izgubi vezu nakon što je ispaljeno oko 10 projektila.
Možete isprobati multiplayer preuzimanjem-p.webp
Korak 6: Neka Cthulhu borba počne
Postoji još mnogo poboljšanja koja se mogu učiniti u našoj jednostavnoj borbenoj igri - na primjer, možete dodati složenije ponašanje AI -a ili koristiti proširenje za dodavanje kombinacija gumba i/ili animacijskih sekvenci. Sretno i zabavite se dok programirate svoje igre s GameGo -om i Makecode Arcade -om.
Ako ipak napravite poboljšanu verziju igre, podijelite je u komentarima ispod! Za više informacija o GameGo -u i drugom hardveru za proizvođače i STEM edukatore posjetite našu web stranicu, https://tinkergen.com/ i pretplatite se na naš bilten.
Preporučuje se:
Kako napraviti igru za više igrača s Arduino kontrolerima: 6 koraka
Kako napraviti igru za više igrača s Arduino kontrolerima: Jeste li se ikada zapitali kako programeri igara stvaraju nevjerojatne igre koje ljudi širom svijeta uživaju igrati? Pa, danas ću vam dati samo mali nagovještaj o tome stvaranjem male igre za više igrača kojom će upravljati bilo Arduino kontroler
Platformer sa beskonačnim nivoima na GameGo -u sa Makecode Arcade: 5 koraka (sa slikama)
Platformer sa beskonačnim nivoima na GameGo -u Sa Makecode Arcade: GameGo je retro prenosiva igraća konzola kompatibilna sa Microsoft Makecode -om koju je razvilo TinkerGen STEM obrazovanje. Zasnovan je na STM32F401RET6 ARM Cortex M4 čipu i napravljen je za STEM edukatore ili samo ljude koji se vole zabavljati stvarajući retro video igre
Više igrača za udaranje dugmeta: 4 koraka
Whack a Button Multiplayer: Igra poput Whack-a-Mole-a. Koristeći LED diode i dugmad. Postoje 2 načina rada: -Single player-Multiplayerin single player mode, postoje 3 nivoa: LEVEL_1: 1 dioda za 1 sekunduLEVEL_2: 2 diode za 1 sekundaLEVEL_3: 2 diode za 0,7 sekundiA za višestruko
Arduino: Frustrirajuće umjetničko vozilo za više igrača: 13 koraka
Arduino: Frustrirajuće umjetničko vozilo za više igrača: Ovo je umjetnički automobil koji je već dostupan sa bluetooth-om jer je pametni telefon i servo uređaj dostupan u najboljem redu. Optioneel je sve što vam je potrebno/ frustrirano da napravite vrata za gebruiker vrata ako ste zorgen da servo i
Arduino pong za više igrača- Ako ovo, onda ono: 5 koraka
Arduino Singleplayer Pong-Ako je ovo, onda ono: Dit arduino projekt je gebaseerd na dva 2 speng pong projekta na uputstvima (https: //www.instructables.com/id/Portable-Arduino-a …) maar dit projekt je pojedinačni igrač sa jednostavnom AI.Odgovoreno: Arduino Uno Nokia 5100 scherm. https: // ww