Sisällysluettelo:

(Moninpeli) Taistelu GameGolla Makecode Arcadella: 6 vaihetta
(Moninpeli) Taistelu GameGolla Makecode Arcadella: 6 vaihetta

Video: (Moninpeli) Taistelu GameGolla Makecode Arcadella: 6 vaihetta

Video: (Moninpeli) Taistelu GameGolla Makecode Arcadella: 6 vaihetta
Video: Pudge V199 2024, Joulukuu
Anonim

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

Aloitus- ja Round_setup -toiminnot
Aloitus- 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

Pelin kulku
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

Peli 1: AI -vastustaja
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

Peli 2: Simulaattori moninpeli
Peli 2: Simulaattori moninpeli
Peli 2: Simulaattori moninpeli
Peli 2: Simulaattori 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

Peli 3: Jacdac -moninpeli
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

Anna Cthulhun taistelun alkaa!
Anna Cthulhun taistelun alkaa!

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: