Tartalomjegyzék:
- Kellékek
- 1. lépés: A Start és a Round_setup függvényekben
- 2. lépés: Játékfolyamat
- 3. lépés: 1. játék: AI ellenfél
- 4. lépés: 2. játék: Szimulátoros többjátékos
- 5. lépés: 3. játék: Jacdac Multiplayer
- 6. lépés: Kezdődjön a Cthulhu harc
Videó: (Multiplayer) Küzdelem a GameGo -n a Makecode Arcade segítségével: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
A GameGo egy Microsoft Makecode -kompatibilis, hordozható retro játékkonzol, amelyet a TinkerGen STEM oktatás fejlesztett ki. Az STM32F401RET6 ARM Cortex M4 chipen alapul, és a STEM oktatók vagy csak azok számára készült, akik szeretik a szórakozást retro videojátékok készítésében. Kövesse ezt az oktatóanyagot, és próbálja ki a játékot a Makecode Arcade szimulátorban, majd futtassa a GameGo -n.
A korábban megjelent cikkekben már kipróbáltuk a platformerjáték és a Battle City Remake készítését. Ezúttal a Jacdac felületet akartam használni, hogy összekapcsoljam két GameGo -t, és lehetővé tegyem a játékosoknak, hogy harcoljanak a fölényért egy többjátékos harcos játékban. Sajnos rájöttem, hogy a Jacdac multiplayer blokkprogramozása jelenleg béta szakaszban van, és vannak hibái - még mindig lehetséges egyszerűbb játékokat készíteni, de nincs szerencsém a harci játékomhoz. Tehát ebben az utasításban közzéteszem a játék három verzióját (amit "Cthulhu Combat" -nak neveztem:))
- egyjátékos verzió egyszerű AI ellenféllel
- többjátékos verzió az Arcade szimulációban
- többjátékos verzió Jacdaccal (hiányos, később frissítjük)
Kellékek
GameGo
Microsoft Makecode Arcade
1. lépés: A Start és a Round_setup függvényekben
Részletesen leírom az egyjátékos játék kódolását, majd a következő lépésekben megbeszéljük, hogyan lehet azt létrehozni
a) szimulátor multiplayer
b) Jacdac multiplayer.
Kezdjük azzal, hogy a csempe térképét sötét börtönbe állítjuk, és spriteket hozunk létre a játékos és az AI bot számára - mindkettő a Player fajhoz tartozik. Az y tengelyük gyorsulását 600 -ra állítottuk - így ugrás után nem repülnének. A round_setup függvény meghívása előtt inicializáljuk a lövedékeket a botból és a lejátszóból is. A round_setup függvény gondoskodik számunkra az új forduló előkészítéséről - ennek a funkciónak az az oka, hogy összesen 3 forduló lehet a játékban, és el akarjuk kerülni ugyanazon kód ismétlését. Ebben a funkcióban először azt ellenőrizzük, hogy van -e bármelyik játékosnak 2 győzelme - ha ez a feltétel igaznak minősül, akkor vége a játéknak. Ha mindkét játékos kevesebb, mint két győzelmet arat, akkor eggyel növeljük a round_num változót, és a játékosokat a kezdő helyükre helyezzük, 100 -ra feltöltjük az életüket, és kijelentjük egy új kör kezdetét.
2. lépés: Játékfolyamat
Ebben a játékban maga a világ statikus, és a játék folyamata a játékosok cselekedeteihez kötődik. Négy blokkban határozzuk meg a legtöbb játékszabályt, ezek a blokkok: a fel gomb megnyomása, a le gomb megnyomása, az A gomb megnyomása és a B gomb megnyomása. Nézzük meg mindegyik blokkot.
fel gombot nyomva - dupla ugrás logika. Ha 3 -nál kevesebb alkalommal nyomtuk meg az ugrás gombot, akkor a játékos sebességét - 140 -re állítjuk (felfelé haladva). Játékosunk 600 -ra állította a gyorsulást, így ha ugrunk, a sebességünk gyorsan csökkenni fog. Miután elérte a 0 értéket (nem mozog a függőleges tengelyen), a jump_count értéket ismét 0 -ra állítjuk.
le gomb megnyomva - távolsági támadási pajzs logika. Ha megnyomja a le gombot, a játékos a képét "árnyékolt" értékre változtatja, és az árnyékolt értéket 1 -re állítja.
az A gomb megnyomása - lövedék lövése. Ez nagyjából magától értetődő.
megnyomva a B gombot - közelharci támadás, hasonlóan a pajzshoz a megvalósításban.
A játékfrissítések képeit és azok árnyékolt/támadó változóit 500 ms -onként 0 -ra állítjuk a játékfrissítés minden.. ms blokkjában. Beállíthattunk volna minden időzítéshez független időzítőt, de az egyszerűség kedvéért csak a fő játékfrissítési ciklust használjuk.
A nyerési feltételek itt meglehetősen egyszerűek - amikor a játékos élete eléri a 0 -t, a másik játékos megnyerte a fordulót, akkor a játékosok nyereményeinek számát eltároljuk egy változóban.
Végül két blokk szabályozza a távolsági támadásokat és a közelharci támadásokat. Mindegyikben ellenőrizzük a sprite ütközést, és hogy a támadó játékos árnyékolt/támadó változója 0/1 -re van -e állítva.
3. lépés: 1. játék: AI ellenfél
Az első játékban egy viszonylag egyszerű AI ellenfelet fogunk létrehozni a második játékosnak. A játék frissítésén belül minden 200 ms -ban először ellenőrizzük a távolságot a játékos és az AI között - ha kevesebb, mint 20, akkor közelharci módba állítjuk az AI -t úgy, hogy közelharci támadási esélyét 30 -ra, távolsági támadási esélyét 30 -ra emeljük. 20 -nál nullára állítjuk a közelharci támadás esélyét (nincs pint a közelharci támadásban, mivel a játékos túl messze van), és 70 -re állítjuk az esélyt. Miután beállítottuk a cselekvési esélyek változóit, a megadott esélyekkel folytatjuk ezeket a műveleteket. Ha maga is megpróbál játszani az egyszerű AI ellen, látni fogja, hogy annak viselkedése ellenére nagyon egyszerű, győzni ellene nem könnyű - ahogyan a számítógép által vezérelt ellenfelek esetében ez gyakran nyer, mert több akciót képes végrehajtani másodpercenként, mint egy emberi játékos.
Ha elakadt a kódolás során, letöltheti a teljes kódot a projekthez tartozó GitHub -tárunkból, és megnyithatja azt a Makecode Arcade -ben.
4. lépés: 2. játék: Szimulátoros többjátékos
A szimulációban szereplő két játékos játékváltozatai nagyon hasonlítanak az egyjátékos verzióhoz, azzal a különbséggel, hogy az AI viselkedésblokkot négy, a 2 játékoson lenyomott blokkra cseréljük le - ezeken belül a tartalom tükrözi az 1. játékos azonos blokkjainak tartalmát. nézze meg a képernyőképet, hogy jobban megértse, milyen változtatásokat kell végrehajtania. Ettől eltekintve hozzá kell adnunk a 2. játékost is a gombokkal, amelyek blokkolják az indítási funkciót, és a második játékos záróképernyőjét WIN -re kell cserélni LOSE helyett.
5. lépés: 3. játék: Jacdac Multiplayer
Találtam egy közösségi megvalósítást a Jacdac multiplayerből Makecode arcade blokkokkal ebben a fórumban
forum.makecode.com/t/new-extension-real-mu…
Ott teszteltem a példajátékot (Space Invaders), és azt találtam, hogy nagyon jól működik. Sajnos a Cthulhu Combat játékmechanikája sok változót használ, és úgy tűnik, hogy a valódi többjátékos bővítmények még nem támogatják a változók szinkronizálását - szóval megértettem, hogy a két játékos műveletei szinkronizálva vannak az eszközök között, de az élet nem ne essen az ellenfelek készülékére. Valami baj van a lövedékmechanikával is, úgy tűnik, hogy a lövedékek nem tűnnek el a falnak ütközés után, ami miatt a játék elveszíti a kapcsolatot körülbelül 10 lövedék kilövése után.
Kipróbálhatja a többjátékos módot, ha letölti a-p.webp
6. lépés: Kezdődjön a Cthulhu harc
Az egyszerű harci játékunkban még sok fejlesztés érhető el - például bonyolultabb AI -viselkedést adhat hozzá, vagy bővítményt használhat gombkombók és/vagy animációs sorozatok hozzáadásához. Sok szerencsét és jó szórakozást, miközben saját játékokat programoz a GameGo és a Makecode Arcade segítségével.
Ha javított változatot készít a játékról, ossza meg az alábbi megjegyzésekben! Ha többet szeretne megtudni a GameGo -ról és más hardverekről a gyártók és a STEM oktatók számára, látogasson el honlapunkra, a https://tinkergen.com/ oldalra, és iratkozzon fel hírlevelünkre.
Ajánlott:
Platformer végtelen szinteken a GameGo -n a Makecode Arcade segítségével: 5 lépés (képekkel)
Platformer végtelen szinteken a GameGo -n Makecode Arcade segítségével: A GameGo egy Microsoft Makecode -kompatibilis, hordozható retro játékkonzol, amelyet a TinkerGen STEM oktatás fejlesztett ki. Az STM32F401RET6 ARM Cortex M4 chipen alapul, és a STEM oktatók vagy csak azok számára készült, akik szeretik a szórakozást retro videojátékok készítésében
Futtassa Steam játékát a Retro Arcade Kit -en a Raspberry Pi segítségével: 7 lépés
Futtassa Steam játékát a Retro Arcade Kit -en a Raspberry Pi segítségével: Van Steam -fiókja a legújabb játékokkal? Mit szólnál egy árkádszekrényhez? Ha igen, miért nem kombinálja mindkettőt egy csodálatos Steam Streaming játékgépbe. A Steam embereinek köszönhetően mostantól streamelheti a legújabb játékokat számítógépről vagy Ma -ról
Battle City Remake a GameGo -n a Makecode Arcade segítségével: 4 lépés (képekkel)
Battle City Remake a GameGo -n a Makecode Arcade segítségével: A GameGo egy Microsoft Makecode -kompatibilis, hordozható retro játékkonzol, amelyet a TinkerGen STEM oktatás fejlesztett ki. Az STM32F401RET6 ARM Cortex M4 chipen alapul, és a STEM -oktatók, vagy csak azok számára készült, akik szeretik a szórakozást, miközben retro videókat készítenek
Irányítsa a háztartási gépeket az Alexa segítségével az ESP8266 vagy az ESP32 segítségével: 8 lépés
Irányítsa a háztartási gépeket Alexa segítségével az ESP8266 vagy ESP32 segítségével: Hé, mi újság, srácok! Akarsh itt a CETech -től. Ez a projektem segíteni fog az életed megkönnyítésében, és úgy fogsz érezni magad, mint egy király, miután irányítottad a házban lévő eszközöket, csak parancsot adva Alexának. A legfontosabb dolog e
A spam elleni küzdelem Spamassassin, Dnsbl és Procmail használatával: 9 lépés
A spam elleni küzdelem a Spamassassin, a Dnsbl és a Procmail használatával: Saját levelezőszervert futtatok, és legtöbbször fenyő segítségével ellenőrzem az e -mailjeimet. Az évek során a fenyőbe telepítettem a levélszemét szűrőket a spamek kiküszöbölésére. De azt is ismertem, hogy a szederrel ellenőriztem az e -maileket mókusposta segítségével. Nos, a fenyő szűrőim