Obsah:

(Multiplayer) Boj na GameGo s Makecode Arcade: 6 kroků
(Multiplayer) Boj na GameGo s Makecode Arcade: 6 kroků

Video: (Multiplayer) Boj na GameGo s Makecode Arcade: 6 kroků

Video: (Multiplayer) Boj na GameGo s Makecode Arcade: 6 kroků
Video: Мультиплеер В My Summer Car | Едем БУХАТЬ 2024, Listopad
Anonim

GameGo je retro herní přenosná konzole kompatibilní s Microsoft Makecode vyvinutá TinkerGen STEM education. Je založen na čipu STM32F401RET6 ARM Cortex M4 a je vytvořen pro pedagogy STEM nebo jen pro lidi, kteří se rádi baví s vytvářením retro videoher. Můžete sledovat tento návod a vyzkoušet si hru v simulátoru Makecode Arcade a poté ji spustit na GameGo.

V článcích, které jsme publikovali, jsme si již vyzkoušeli výrobu plošinovky a předělávky Battle City. Tentokrát jsem chtěl použít rozhraní Jacdac k propojení dvou GameGo dohromady a umožnit hráčům bojovat o prvenství v multiplayerové stíhací hře. Bohužel jsem zjistil, že blokové programování pro více hráčů Jacdac je nyní ve fázi beta a má nějaké chyby - stále je možné vytvářet jednodušší hry, ale moje bojová hra nemá štěstí. V tomto pokynu tedy zveřejňuji tři verze hry (kterou jsem nazval „Cthulhu Combat“:))

- verze pro jednoho hráče s jednoduchým AI soupeřem

- verze pro více hráčů pro hraní v arkádové simulaci

- verze pro více hráčů s Jacdacem (neúplné, bude aktualizováno později)

Zásoby

GameGo

Microsoft Makecode Arcade

Krok 1: Funkce Start a Round_setup

Funkce Start a Round_setup
Funkce Start a Round_setup

Podrobně popíšu kódování hry pro jednoho hráče a poté v dalších krocích probereme, jak se do toho dostat

a) simulátor pro více hráčů

b) Jacdac pro více hráčů.

Začneme tím, že mapu dlaždic nastavíme na dark dungeon a vytvoříme skřítky pro hráče a roboty AI - oba však budou patřit k typu Player. Nastavili jsme jejich zrychlení v ose y na 600 - aby po skoku neletěli. Před voláním funkce round_setup také inicializujeme projektily z robota a hráče. Funkce round_setup se o nás stará o přípravu nového kola - důvod, proč z něj funkci děláme, je ten, že ve hře mohou být celkem až 3 kola a my se chceme vyhnout opakování stejného kódu. V této funkci nejprve zkontrolujeme, zda některý z hráčů má 2 vítězství - pokud je tato podmínka vyhodnocena jako True, pak hra skončila. Pokud mají oba hráči méně než dvě vítězství, zvýšíme proměnnou round_num o jedno a umístíme hráče na jejich startovní místa, doplníme jejich životy na 100 a vyhlásíme začátek nového kola.

Krok 2: Průběh hry

Průběh hry
Průběh hry

V této hře je svět sám o sobě statický a herní tok je spojen s akcemi hráčů. Ve čtyřech blocích definujeme většinu herních pravidel, tyto bloky jsou: stisknuté tlačítko nahoru, tlačítko dolů, tlačítko A a tlačítko B. Pojďme se podívat na každý z těchto bloků.

stisknuto tlačítko nahoru - logika dvojitého skoku. Pokud jsme stiskli tlačítko pro skok méně než 3krát, pak jsme nastavili rychlost hráče na - 140 (pohyb nahoru). Náš hráč má zrychlení vy nastavené na 600, takže jakmile skočíme, naše rychlost bude rychle klesat. Jakmile dosáhne 0 (nepohybuje se na svislé ose), nastavíme jump_count znovu na 0.

stisknuto tlačítko dolů - logika štítu útoku na dálku. Pokud je stisknuto tlačítko dolů, hráč změní svůj obrázek na „stíněné“a nastaví proměnné stíněné na 1.

na tlačítko A stisknuto - vystřelit projektil. Ten je do značné míry samozřejmý.

na tlačítko B stisknuto - útok na blízko, podobný štítu v implementaci.

Nastavili jsme obrázky spritů hráčů a jejich stíněné/útočné proměnné na 0 každých 500 ms při aktualizaci hry každých.. ms blok. Mohli jsme nastavit nezávislé časovače pro každou akci, ale kvůli jednoduchosti použijeme pouze hlavní smyčku pro aktualizaci hry.

Podmínky výhry jsou zde docela snadné - když život hráče dosáhne 0, druhý hráč vyhrál kolo, pak uložíme počet výher podle hráče do proměnné.

Nakonec existují dva bloky, které ovládají poškození na dálku a poškození na blízko. V každém z nich kontrolujeme, zda nedošlo ke kolizi sprite a zda je pro útočícího hráče nastavena proměnná stíněné/útočící na 0/1.

Krok 3: Hra 1: Soupeř AI

Hra 1: Soupeř AI
Hra 1: Soupeř AI

V první hře vytvoříme relativně jednoduchého AI soupeře jako druhého hráče. Uvnitř aktualizace hry každých 200 ms nejprve provedeme kontrolu vzdálenosti mezi hráčem a AI - pokud je menší než 20, nastavíme naši AI v režimu na blízko zvýšením šance na útok na blízko na 30 a šancí na dálku na 30. Pokud je vzdálenost vyšší než 20 nastavíme šanci útoku na blízko na nulu (žádný pint při útoku na blízko, protože hráč je příliš daleko) a přesuneme šanci na 70. Poté, co byly nastaveny proměnné pro akční šance, pokračujeme v provádění těchto akcí se specifikovanými šancemi. Pokud si sami zkusíte zahrát proti této jednoduché AI, uvidíte, že navzdory tomu, že je toto chování velmi jednoduché, vítězství nad ní není snadné - jak často v případě počítačem ovládaných protivníků vyhrává především proto, že dokáže provádět více akcí za sekundu než lidský hráč.

Pokud jste se zasekli při kódování, můžete si stáhnout celý kód do našeho úložiště GitHub pro tento projekt a otevřít ho v Makecode Arcade.

Krok 4: Hra 2: Simulátor pro více hráčů

Hra 2: Simulátor pro více hráčů
Hra 2: Simulátor pro více hráčů
Hra 2: Simulátor pro více hráčů
Hra 2: Simulátor pro více hráčů

Varianta hry pro dva hráče v simulaci je velmi podobná verzi pro jednoho hráče, kromě toho, že nahradíme blok chování AI čtyřmi bloky na tlačítku hráče 2 - obsah uvnitř těchto bloků zrcadlí obsah stejných bloků pro hráče 1. Mít podívejte se na snímek obrazovky, abyste získali lepší představu o tom, jaké změny musíte provést. Kromě toho musíme také přidat tah hráče 2 s blokováním tlačítek při startovací funkci a změnit koncovou obrazovku pro hru dvou hráčů na WIN místo LOSE.

Krok 5: Hra 3: Jacdac pro více hráčů

Hra 3: Jacdac pro více hráčů
Hra 3: Jacdac pro více hráčů

V tomto vlákně fóra jsem našel komunitní implementaci Jacdac multiplayeru s arkádovými bloky Makecode

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

Testoval jsem tam ukázkovou hru (Space Invaders) a zjistil jsem, že funguje velmi dobře. Herní mechanika hry Cthulhu Combat bohužel využívá mnoho proměnných a zdá se, že rozšíření Real Multiplayer zatím nepodporují synchronizační proměnné - takže jsem to rozehrál, akce dvou hráčů jsou synchronizovány napříč zařízeními, ale život to nedokáže Nepadne na zařízení soupeře. Také je něco v nepořádku s mechanikou střel, zdá se, že projektily nezmizí po nárazu na zeď, což způsobí, že hra ztratí spojení poté, co bylo vystřeleno asi 10 projektilů.

Hru pro více hráčů si můžete vyzkoušet stažením souboru-p.webp

Krok 6: Nechte boj Cthulhu začít

Nechť boj Cthulhu začíná!
Nechť boj Cthulhu začíná!

Na naší jednoduché bojové hře je stále možné provést mnoho vylepšení - například můžete přidat komplikovanější chování AI nebo pomocí rozšíření přidat kombinace tlačítek a/nebo animační sekvence. Hodně štěstí a zábavy při programování vlastních her pomocí GameGo a Makecode Arcade.

Pokud vytvoříte vylepšenou verzi hry, podělte se o ni v níže uvedených komentářích! Další informace o GameGo a dalším hardwaru pro výrobce a pedagogy STEM najdete na našich webových stránkách https://tinkergen.com/ a přihlaste se k odběru našeho zpravodaje.

Doporučuje: