Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Käynnistys- ja Round_setup -toiminnot
- Vaihe 2: Pelin kulku
- Vaihe 3: Peli 1: AI -vastustaja
- Vaihe 4: Peli 2: Simulaattorin moninpeli
- Vaihe 5: Peli 3: Jacdac -moninpeli
- Vaihe 6: Anna Cthulhu -taistelun aloittaa
Video: (Moninpeli) Taistelu GameGolla Makecode Arcadella: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
GameGo on Microsoft Makecode -yhteensopiva kannettava retro -pelikonsoli, jonka on kehittänyt TinkerGen STEM -opetus. Se perustuu STM32F401RET6 ARM Cortex M4 -siruun ja on suunniteltu STEM -opettajille tai vain ihmisille, jotka haluavat pitää hauskaa retro -videopelien luomisessa. Voit seurata tätä opetusohjelmaa ja kokeilla peliä Makecode Arcade -simulaattorissa ja käyttää sitä GameGolla.
Ennen julkaisemissamme artikkeleissa yritimme jo tehdä tasohyppelypeliä ja Battle City Remakea. Tällä kertaa halusin käyttää Jacdac -käyttöliittymää kahden GameGon yhdistämiseen ja antaa pelaajien taistella ylivallasta moninpelissä. Valitettavasti huomasin, että Jacdac -moninpelin lohko -ohjelmointi on tällä hetkellä beta -vaiheessa ja siinä on joitain virheitä - yksinkertaisempia pelejä on edelleen mahdollista tehdä, mutta ei onnea taistelupelilleni. Joten tässä ohjeessa julkaisen pelin kolme versiota (jota kutsuin "Cthulhu Combatiksi":))
- yhden pelaajan versio yksinkertaisella AI -vastustajalla
- moninpeli, jota voi pelata Arcade -simulaatiossa
- moninpeliversio Jacdacin kanssa (epätäydellinen, päivitetään myöhemmin)
Tarvikkeet
GameGo
Microsoft Makecode Arcade
Vaihe 1: Käynnistys- ja Round_setup -toiminnot
Kuvailen yhden pelaajan pelin koodausta yksityiskohtaisesti ja sitten seuraavissa vaiheissa keskustelemme sen tekemisestä
a) simulaattorin moninpeli
b) Jacdac -moninpeli.
Aloitamme asettamalla laattakartan tummaksi luolaksi ja luomalla spritejä pelaajalle ja tekoälybotille - molemmat kuuluvat kuitenkin Player -lajille. Asetimme niiden y -akselin kiihtyvyyden 600: een, jotta he eivät lentäisi hyppäämisen jälkeen. Alustamme myös ammukset botista ja soittimesta ennen round_setup -toiminnon kutsumista. round_setup -toiminto huolehtii uuden kierroksen valmistelusta meille - siksi teemme siitä toiminnon, koska pelissä voi olla yhteensä jopa 3 kierrosta ja haluamme välttää saman koodin toistamista. Tässä toiminnossa tarkistamme ensin, onko jollakin pelaajista 2 voittoa - jos tämä ehto arvioidaan tosi, niin peli on ohi. Jos molemmilla pelaajilla on alle kaksi voittoa, kasvatamme round_num -muuttujaa yhdellä ja asetamme pelaajat aloituspaikoilleen, täydennämme elämänsä 100: een ja julistamme uuden kierroksen alun.
Vaihe 2: Pelin kulku
Tässä pelissä maailma itse on staattinen ja pelivirta on sidottu pelaajien toimintaan. Neljässä lohkossa määritellään useimmat pelisäännöt, nämä lohkot ovat: ylös -painiketta painettuna, alas -painiketta painettuna, A -painiketta painettuna ja B -painiketta painettuna. Katsotaanpa kutakin näistä lohkoista.
ylös -painiketta painettuna - kaksoishyppylogiikka. Jos painimme hyppypainiketta alle 3 kertaa, asetimme pelaajan nopeudeksi - 140 (liikkuu ylöspäin). Pelaajamme vy -kiihtyvyys on asetettu 600: een, joten kun hyppäämme, nopeutemme laskee nopeasti. Kun se saavuttaa 0 (ei liiku pystyakselilla), asetamme jump_count -arvon uudelleen arvoon 0.
alas -painiketta painettu - vaihteluvälin hyökkäyssuojalogiikka. Jos alaspainiketta painetaan, pelaaja vaihtaa kuvansa "suojattuksi" ja asettaa muuttujan suojatuksi arvoksi 1.
painiketta A painettuna - ammus ammutaan. Tuo on aika itsestään selvä.
painiketta B painettuna - lähitaisteluhyökkäys, samanlainen kuin kilpi toteutuksessa.
Asetimme pelaajien sprite -kuvien ja niiden suojattujen/hyökkäävien muuttujien kuvat 0: ksi 500 ms: n välein pelin päivityksen aikana.. ms -lohkossa. Olisimme voineet asettaa itsenäiset ajastimet kullekin toiminnolle, mutta yksinkertaisuuden vuoksi käytämme pelin pelin päivityssilmukkaa.
Voitto -olosuhteet ovat täällä melko helppoja - kun pelaajan elämä saavuttaa nollan, toinen pelaaja on voittanut kierroksen, tallennamme sitten pelaajien voittojen määrän muuttujaan.
Lopuksi on kaksi lohkoa, jotka hallitsevat etäisyyshyökkäyksiä ja lähitaisteluhyökkäyksiä. Kussakin niistä tarkistamme sprite -törmäyksen ja onko hyökkäävän pelaajan suojattu/hyökkäävä muuttuja asetettu arvoon 0/1.
Vaihe 3: Peli 1: AI -vastustaja
Ensimmäisessä pelissä luomme suhteellisen yksinkertaisen tekoälyvastustajan toiseksi pelaajaksi. Pelin päivityksen sisällä 200 ms välein teemme ensin etäisyyden tarkistuksen pelaajan ja tekoälyn välillä - jos se on alle 20, asetamme tekoälymme lähitaistelutilaan nostamalla sen lähitaisteluhyökkäysmahdollisuuden 30: een ja etäisyyshyökkäysmahdollisuuden 30. Jos etäisyys on suurempi yli 20 asetamme lähitaisteluhyökkäyksen mahdollisuuden nollaksi (ei pinttiä lähitaisteluhyökkäyksessä, koska pelaaja on liian kaukana) ja siirrämme mahdollisuuden 70: een. Kun toimintamahdollisuuksien muuttujat on asetettu, jatkamme näiden toimintojen suorittamista määritetyillä mahdollisuuksilla. Jos yrität itse pelata tätä yksinkertaista tekoälyä vastaan, huomaat, että huolimatta sen käyttäytymisestä on hyvin yksinkertaista, voittaminen sitä vastaan ei ole helppoa - kuten usein tietokoneohjattujen vastustajien tapauksessa se voittaa enimmäkseen, koska se voi tehdä enemmän toimintoja sekunnissa kuin ihmisen pelaaja.
Jos jumit koodauksen aikana, voit ladata koko koodin tämän projektin GitHub -arkistostamme ja avata sen Makecode Arcadessa.
Vaihe 4: Peli 2: Simulaattorin moninpeli
Pelimuunnelma kahdelle simulaattorissa olevalle pelaajalle on hyvin samanlainen kuin yksinpeliversio, paitsi että korvaamme tekoälykäyttäytymislohkon neljällä pelaajan 2 painiketta painetulla lohkolla - näiden lohkojen sisällä oleva sisältö peilaa saman lohkon sisältöä pelaajalle 1. Katso kuvakaappaus saadaksesi paremman käsityksen siitä, mitä muutoksia sinun on tehtävä. Sen lisäksi meidän on myös lisättävä siirrettävä pelaaja 2, jossa painikkeet estävät käynnistystoiminnon, ja vaihdamme pelaajan toisen pelin lopetusnäytön WIN: iin LOSE: n sijaan.
Vaihe 5: Peli 3: Jacdac -moninpeli
Olen löytänyt tämän foorumin säikeestä yhteisön toteutuksen Jacdac -moninpelistä Makecode -arcade -lohkojen kanssa
forum.makecode.com/t/new-extension-real-mu…
Testasin esimerkkipelin siellä (Space Invaders) ja huomasin sen toimivan erittäin hyvin. Valitettavasti Cthulhu Combatin pelimekaniikka käyttää paljon muuttujia ja näyttää siltä, että Real Multiplayer -laajennukset eivät vielä tue muuttujien synkronointia - joten sain sen toimimaan, kahden pelaajan toiminnot synkronoidaan laitteiden välillä, mutta elämä ei voi Älä pudota vastustajan laitteelle. Myös ammusten mekaniikassa on jotain vikaa, ammukset eivät näytä katoavan seinään osumisen jälkeen, mikä aiheuttaa pelin menettävän yhteyden noin 10 ammuksen ampumisen jälkeen.
Voit kokeilla moninpeliä lataamalla-p.webp
Vaihe 6: Anna Cthulhu -taistelun aloittaa
Yksinkertaisessa taistelupelissämme on vielä paljon parannuksia - voit esimerkiksi lisätä monimutkaisempaa tekoälykäyttäytymistä tai käyttää laajennusta painikeyhdistelmien ja/tai animaatiosarjojen lisäämiseen. Onnea ja hauskaa, kun ohjelmoit omia pelejäsi GameGon ja Makecode Arcaden avulla.
Jos teet parannetun version pelistä, jaa se alla oleviin kommentteihin! Lisätietoja GameGosta ja muista laitteista valmistajille ja STEM -opettajille käy verkkosivustollamme https://tinkergen.com/ ja tilaa uutiskirjeemme.
Suositeltava:
Kuinka tehdä moninpeli Arduino -ohjaimilla: 6 vaihetta
Kuinka tehdä moninpeli Arduino -ohjaimilla: Oletko koskaan miettinyt, kuinka pelikehittäjät luovat hämmästyttäviä pelejä, joita ihmiset ympäri maailmaa nauttivat pelaamisesta? No, tänään aion antaa sinulle vain pienen vihjeen siitä tekemällä pienen moninpelin, jota ohjaa joko Arduino -ohjaus
Hyppely, jossa on äärettömät tasot GameGossa Makecode Arcadella: 5 vaihetta (kuvilla)
Hyökkääjä, jolla on äärettömät tasot GameGolla Makecode Arcadella: GameGo on Microsoft Makecode -yhteensopiva kannettava retro -pelikonsoli, jonka on kehittänyt TinkerGen STEM -opetus. Se perustuu STM32F401RET6 ARM Cortex M4 -siruun ja tehty STEM -opettajille tai vain ihmisille, jotka haluavat pitää hauskaa luodessaan retro -videopeliä
Battle City Remake GameGossa Makecode Arcadella: 4 vaihetta (kuvilla)
Battle City Remake GameGossa Makecode Arcadella: GameGo on Microsoft Makecode -yhteensopiva kannettava retro -pelikonsoli, jonka on kehittänyt TinkerGen STEM -opetus. Se perustuu STM32F401RET6 ARM Cortex M4 -piiriin ja tehty STEM -opettajille tai vain ihmisille, jotka haluavat pitää hauskaa luodessaan retrovideota
Lyö napin moninpeli: 4 vaihetta
Whack a Button Multiplayer: Peli kuin Whack-a-Mole. LEDit ja painikkeet. Käytettävissä on 2 tilaa:-Yksinpeli-Moninpelitila, 3 tasoa: LEVEL_1: 1 diodi 1 sekunniksi LEVEL_2: 2 diodia 1 sekunti TASO_3: 2 diodia 0,7 sekunnin ajan
Stop Motionin tekeminen ja muokkaaminen: WW2 Caenin taistelu: 6 vaihetta
Stop Motionin tekeminen ja muokkaaminen: toisen maailmansodan Caenin taistelu: Caenin taistelu oli taistelu toisessa maailmansodassa, ja nyt toistan sen lego stop stop -liikkeellä, ja tässä vaihe vaiheelta kuinka tehdä ja muokata WW2 pysäytysliike