Sisukord:

(Mitmikmäng) GameGo võitlus Makecode Arcade'iga: 6 sammu
(Mitmikmäng) GameGo võitlus Makecode Arcade'iga: 6 sammu

Video: (Mitmikmäng) GameGo võitlus Makecode Arcade'iga: 6 sammu

Video: (Mitmikmäng) GameGo võitlus Makecode Arcade'iga: 6 sammu
Video: MakeCode Space Destroyer MultiPlayer Demo BrainPadArcade and MeowBit 2024, November
Anonim

GameGo on Microsofti Makecode'iga ühilduv kaasaskantav retro -mängukonsool, mille on välja töötanud TinkerGen STEM haridus. See põhineb STM32F401RET6 ARM Cortex M4 kiibil ja on mõeldud STEM -i koolitajatele või lihtsalt inimestele, kellele meeldib lõbutseda retro -videomängude loomisel. Saate järgida seda õpetust ja proovida mängu Makecode Arcade'i simulaatoris ning seejärel käivitada see GameGo -s.

Enne avaldatud artiklites proovisime juba kätt platvormimängu ja Battle City Remake'i tegemisel. Seekord tahtsin kasutada Jacdaci liidest kahe GameGo ühendamiseks ja võimaldada mängijatel võidelda ülimuslikkuse eest mitme mängijaga võitlejamängus. Kahjuks avastasin, et plokkide programmeerimine Jacdaci mitme mängija jaoks on praeguse seisuga beetaversioonis ja sellel on mõningaid vigu - lihtsamaid mänge on veel võimalik teha, kuid minu võitlusmängule pole õnne. Niisiis avaldan selles juhendavas mängus kolm versiooni (mida ma nimetasin "Cthulhu Combatiks":))

- ühe mängija versioon lihtsa AI vastasega

- mitme mängijaga versioon, mida saab mängida Arcade'i simulatsioonis

- mitme mängija versioon koos Jacdaciga (mittetäielik, värskendatakse hiljem)

Tarvikud

GameGo

Microsoft Makecode Arcade

1. samm: funktsioonide Start ja Round_setup funktsioonid

Funktsioonide Start ja Round_setup funktsioonid
Funktsioonide Start ja Round_setup funktsioonid

Kirjeldan üksikasjalikult ühe mängijaga mängu kodeerimist ja seejärel arutame järgmistes sammudes, kuidas seda muuta

a) mitme mängijaga simulaator

b) Jacdaci mitme mängijaga mäng.

Alustame plaatide kaardi seadistamisega tumedale koopale ning spritide loomisega mängijale ja tehisintellekti botile - mõlemad kuuluvad siiski Player -tüüpi. Seadsime nende y -telje kiirenduseks 600 - et nad pärast hüppamist ei lendaks. Enne funktsiooni round_setup helistamist lähtestame ka robotid ja mängijad. round_setup funktsioon hoolitseb meie jaoks uue vooru ettevalmistamise eest - põhjus, miks me selle funktsiooniks muudame, on see, et mängus võib kokku olla kuni 3 vooru ja me tahame vältida sama koodi kordamist. Selles funktsioonis kontrollime kõigepealt, kas mõnel mängijal on 2 võitu - kui see tingimus on tõene, siis on mäng läbi. Kui mõlemal mängijal on vähem kui kaks võitu, suurendame round_num muutujat ühe võrra ja asetame mängijad nende alguskohtadele, täiendame nende elu 100 -ni ja kuulutame uue vooru alguseks.

2. samm: mängu voog

Mängu voog
Mängu voog

Selles mängus on maailm ise staatiline ja mänguvoog on seotud mängijate tegevusega. Neljas plokis määratleme enamiku mängureegleid, need plokid on järgmised: üles-, allanuppu, A -nuppu ja B -nuppu. Vaatame kõiki neid plokke.

sisse -nuppu vajutatud - topelthüppe loogika. Kui vajutasime hüppamisnuppu vähem kui 3 korda, seadsime mängija kiiruseks - 140 (liigub ülespoole). Meie mängijal on vy kiirendus seatud 600 -le, nii et kui me hüppame, väheneb meie kiirus kiiresti. Kui see jõuab 0 -ni (ei liigu vertikaalteljel), seadistame jump_count uuesti väärtuseks 0.

all nuppu vajutatud - ulatuslik rünnakukilbi loogika. Kui vajutate alla -nuppu, muudab mängija oma pildi varjestatuks ja seab muutuva varjestatud väärtuseks 1.

nupule A vajutatud - laske mürsk. See on üsna iseenesestmõistetav.

nupule B vajutatud - lähivõitluse rünnak, mis sarnaneb rakendamisel kilbiga.

Mängude spritide ja nende varjestatud/ründavate muutujate piltide väärtuseks määrati 0 iga 500 ms järel mängu värskendamisel iga.. ms plokk. Oleksime võinud iga toimingu jaoks määrata sõltumatud taimerid, kuid lihtsuse huvides kasutame lihtsalt mängu peamist värskendustsüklit.

Võidutingimused on siin üsna lihtsad - kui mängija elu jõuab 0 -ni, teine mängija on vooru võitnud, salvestame seejärel iga mängija võitude arvu muutuja sisse.

Lõpuks on kaks plokki, mis kontrollivad ulatuslikke rünnakukahjustusi ja lähivõitluskahjusid. Igas neist kontrollime sprite kokkupõrget ja kas ründava mängija varjestatud/ründav muutuja on seatud väärtusele 0/1.

Samm: mäng 1: AI vastane

Mäng 1: AI vastane
Mäng 1: AI vastane

Esimeses mängus loome suhteliselt lihtsa tehisintellekti vastase, et olla teine mängija. Mänguuuenduse iga 200 ms tagant kontrollime kõigepealt mängija ja tehisintellekti vahelist kaugust - kui see on alla 20, seadsime oma tehisintellekti lähivõitlusrežiimis, tõstes selle lähivõitluse rünnakuvõimaluse 30 -le ja vahemiku rünnakuvõimaluse 30. Kui kaugus on suurem kui 20 seadsime lähivõitluse rünnakuvõimaluse nulliks (pint lähivõitlusrünnakus, kuna mängija on liiga kaugel) ja liigutame võimaluse 70 -ni. Pärast tegevusvõimaluste muutujate määramist jätkame nende toimingute sooritamist määratud võimalustega. Kui proovite ise selle lihtsa tehisintellekti vastu mängida, näete, et vaatamata selle käitumisele on väga lihtne, pole selle vastu võitmine lihtne - nagu arvutiga juhitud vastaste puhul, võidab see enamasti seetõttu, et suudab teha rohkem toiminguid sekundis inimese mängija.

Kui te kodeerimise ajal kinni jäite, saate selle projekti jaoks meie GitHubi hoidlast alla laadida täieliku koodi ja avada selle Makecode Arcade'is.

Samm 4: Mäng 2: Simulaatori mitme mängijaga mäng

Mäng 2: Simulaatori mitme mängijaga mäng
Mäng 2: Simulaatori mitme mängijaga mäng
Mäng 2: Simulaatori mitme mängijaga mäng
Mäng 2: Simulaatori mitme mängijaga mäng

Mängu variant kahele mängijale simulatsioonis on väga sarnane ühe mängija versiooniga, välja arvatud see, et AI käitumisploki asendame nelja mängijaga 2 nupule vajutatud plokiga - nende plokkide sees olev sisu peegeldab mängija 1 samade plokkide sisu. pilti ekraanipildilt, et paremini mõista, milliseid muudatusi peate tegema. Peale selle peame lisama ka käigupleieri 2, mille nupud on käivitusfunktsioonis blokeeritud, ja muutma mängija kahe mängu lõppekraani LOSE asemel WIN.

Samm: mäng 3: Jacdaci mitme mängijaga mäng

Mäng 3: Jacdaci mitme mängijaga mäng
Mäng 3: Jacdaci mitme mängijaga mäng

Olen leidnud foorumilõngast kogukonna rakenduse Jacdaci mitme mängijaga koos Makecode arcade plokkidega

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

Testisin seal näidismängu (Space Invaders) ja leidsin, et see töötab väga hästi. Kahjuks kasutab Cthulhu Combati mängumehaanika palju muutujaid ja tundub, et Real Multiplayer laiendused ei toeta veel muutujate sünkroonimist - nii et sain hakkama, kahe mängija toimingud sünkroonitakse seadmete vahel, kuid elu ei saa ei lange vastaste seadmesse. Samuti on mürsumehaanikaga midagi valesti, paistab, et mürsud ei kao pärast seinale löömist, mistõttu mäng kaotab ühenduse pärast umbes 10 mürsu tulistamist.

Võite proovida mitmikmängu, laadides proovimiseks alla-p.webp

Samm: laske Cthulhu lahingul alata

Las Cthulhu võitlus algab!
Las Cthulhu võitlus algab!

Meie lihtsas võitlusmängus on veel palju täiustusi - näiteks saate lisada keerukama tehisintellekti käitumise või kasutada laiendit nupukombinatsioonide ja/või animatsioonijärjestuste lisamiseks. Õnne ja nautige mängu mängude programmeerimisel GameGo ja Makecode Arcade'i abil.

Kui teete mängust täiustatud versiooni, jagage seda allolevates kommentaarides! Lisateavet GameGo ja muu riistvara kohta tegijatele ja STEM -i koolitajatele leiate meie veebisaidilt https://tinkergen.com/ ja tellige meie uudiskiri.

Soovitan: