Obsah:

(Multiplayer) Boj v GameGo s Makecode Arcade: 6 krokov
(Multiplayer) Boj v GameGo s Makecode Arcade: 6 krokov

Video: (Multiplayer) Boj v GameGo s Makecode Arcade: 6 krokov

Video: (Multiplayer) Boj v GameGo s Makecode Arcade: 6 krokov
Video: How To Make A Combat System In Roblox Studio 2023 2024, November
Anonim

GameGo je retro herná prenosná konzola kompatibilná s Microsoft Makecode vyvinutá spoločnosťou TinkerGen STEM education. Je založený na čipe STM32F401RET6 ARM Cortex M4 a je vyrobený pre pedagógov STEM alebo len pre ľudí, ktorí sa radi zabávajú vytváraním retro videohier. Môžete postupovať podľa tohto tutoriálu a vyskúšať si hru v simulátore Makecode Arcade a potom ju spustiť na GameGo.

V článkoch, ktoré sme publikovali predtým, sme si už vyskúšali výrobu plošinovky a Battle City Remake. Tentokrát som chcel použiť rozhranie Jacdac na spojenie dvoch GameGo dohromady a umožniť hráčom bojovať o prvenstvo v multiplayerovej bojovej hre. Nanešťastie som zistil, že blokové programovanie pre viacerých hráčov Jacdac je v súčasnosti v beta fáze a má niekoľko chýb - stále je možné vytvárať jednoduchšie hry, ale v mojej bojovej hre nie je šťastie. V tomto návode teda zverejňujem tri verzie hry (ktorú som nazval „Cthulhu Combat“:))

- verzia pre jedného hráča s jednoduchým AI súperom

- verzia pre viacerých hráčov na hranie v arkádovej simulácii

- verzia pre viacerých hráčov s Jacdacom (neúplná, bude aktualizovaná neskôr)

Zásoby

GameGo

Arkáda Microsoft Makecode

Krok 1: O funkciách Štart a Round_setup

Funkcie Štart a Round_setup
Funkcie Štart a Round_setup

Podrobne popíšem kódovanie hry pre jedného hráča a potom v ďalších krokoch prediskutujeme, ako sa do nej dostať

a) simulátor pre viacerých hráčov

b) Jacdac multiplayer.

Začíname s nastavením dlaždice na dark dungeon a vytvorením sprajtov pre hráčov a AI robotov - obaja však budú patriť k typu Player. Zrýchlenie osi y sme nastavili na 600 - aby po skoku nelietali. Pred volaním funkcie round_setup tiež inicializujeme projektily z robota a prehrávača. funkcia round_setup sa stará o prípravu na nové kolo - dôvod, prečo ho robíme ako funkciu, je ten, že v hre môžu byť celkovo až 3 kolá a my sa chceme vyhnúť opakovaniu rovnakého kódu. V tejto funkcii najskôr skontrolujeme, či niektorý z hráčov dosiahol 2 víťazstvá - ak je tento stav vyhodnotený ako pravdivý, hra sa skončila. Ak majú obaja hráči menej ako dve víťazstvá, zvýšime premennú round_num o jedno a umiestnime hráčov na ich štartové miesta, doplníme ich životy na 100 a vyhlásime začiatok nového kola.

Krok 2: Tok hry

Tok hry
Tok hry

V tejto hre je svet samotný statický a herný tok je viazaný na akcie hráčov. V štyroch blokoch definujeme väčšinu pravidiel hry. Ide o tieto bloky: stlačené tlačidlo hore, tlačidlo nadol, tlačidlo A a tlačidlo B. Pozrime sa na každý z týchto blokov.

stlačené tlačidlo hore - logika dvojitého skoku. Ak sme tlačidlo skoku stlačili menej ako 3 -krát, potom sme nastavili rýchlosť hráča vy - 140 (pohyb nahor). Náš hráč má zrýchlenie vy nastavené na 600, takže akonáhle vyskočíme, naša rýchlosť sa bude rýchlo znižovať. Akonáhle dosiahne 0 (nepohybuje sa na zvislej osi), znova nastavíme jump_count na 0.

stlačené tlačidlo nadol - logika štítu útoku na diaľku. Ak stlačíte tlačidlo nadol, hráč zmení svoj obrázok na „tienený“a nastaví premenné tienenie na 1.

na tlačidlo A stlačené - vystreliť projektil. Ten je do značnej miery samovysvetľujúci.

na stlačené tlačidlo B - útok na blízko, podobný implementácii štítu.

Obrázky sprajtov hráčov a ich tienených/útočných premenných sme nastavili na 0 každých 500 ms pri aktualizácii hry každých.. ms blok. Mohli sme nastaviť nezávislé časovače pre každú akciu, ale kvôli jednoduchosti použijeme iba hlavnú slučku aktualizácie hry.

Podmienky výhry sú tu veľmi jednoduché - keď život hráča dosiahne 0, druhý hráč vyhral kolo, potom uložíme počet výhier podľa hráča do premennej.

Nakoniec existujú dva bloky, ktoré riadia poškodenie pri útoku na diaľku a pri útoku na blízko. V každom z nich kontrolujeme, či nedochádza k zrážke sprite a či je premenná tieneného/útočného útočníka nastavená na 0/1.

Krok 3: Hra 1: Odporca AI

Hra 1: Odporca AI
Hra 1: Odporca AI

V prvej hre vytvoríme relatívne jednoduchého súpera AI ako druhého hráča. V aktualizácii hry každých 200 ms najskôr vykonáme kontrolu vzdialenosti medzi hráčom a AI - ak je kratšia ako 20, nastavíme našu AI v režime na blízko zvýšením šance na útok na blízko na 30 a šancou na útok na diaľku na 30. Ak je vzdialenosť väčšia ako 20 nastavíme šancu útoku na blízko na nulu (žiadna pintu pri útoku na blízko, pretože hráč je príliš ďaleko) a posunieme šancu na 70. Potom, ako boli nastavené premenné pre akčné šance, pokračujeme vo vykonávaní týchto akcií so špecifikovanými šancami. Ak sa pokúsite hrať proti tejto jednoduchej AI sami, uvidíte, že napriek tomu, že je správanie veľmi jednoduché, víťazstvo nad ňou nie je jednoduché - ako často v prípade počítačom ovládaných protivníkov víťazí predovšetkým preto, že dokáže vykonať viac akcií za sekundu než ľudský hráč.

Ak ste pri kódovaní uviazli, môžete si stiahnuť úplný kód z nášho úložiska GitHub pre tento projekt a otvoriť ho v Makecode Arcade.

Krok 4: Hra 2: Simulátor pre viacerých hráčov

Hra 2: Simulátor pre viacerých hráčov
Hra 2: Simulátor pre viacerých hráčov
Hra 2: Simulátor pre viacerých hráčov
Hra 2: Simulátor pre viacerých hráčov

Herný variant pre dvoch hráčov v simulácii je veľmi podobný verzii pre jedného hráča, okrem toho, že blok správania sa AI nahradíme štyrmi blokmi stlačenými na tlačidle hráča 2 - pričom obsah týchto blokov zrkadlí obsah rovnakých blokov pre hráča 1. Majte pohľad na snímku obrazovky vám poskytne lepšiu predstavu o tom, aké zmeny je potrebné vykonať. Okrem toho musíme tiež pridať presun hráča 2 s blokovaním tlačidiel pri štartovacej funkcii a zmenu koncovej obrazovky pre hru dvoch hráčov na WIN namiesto LOSE.

Krok 5: Hra 3: Jacdac pre viacerých hráčov

Hra 3: Jacdac pre viacerých hráčov
Hra 3: Jacdac pre viacerých hráčov

V tomto vlákne fóra som našiel komunitnú implementáciu Jacdac multiplayeru s arkádovými blokmi Makecode

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

Testoval som tam uvedenú ukážkovú hru (Space Invaders) a zistil som, že funguje veľmi dobre. Bohužiaľ, herná mechanika Cthulhu Combat používa veľa premenných a zdá sa, že rozšírenia Real Multiplayer zatiaľ nepodporujú synchronizačné premenné - tak som to rozbehol, akcie dvoch hráčov sú synchronizované medzi zariadeniami, ale život nemôže Nehodí na zariadenie súpera. Tiež nie je niečo v poriadku s mechanikou projektilov, zdá sa, že projektily nezmiznú po náraze na stenu, čo spôsobuje, že hra stratí spojenie po vystrelení asi 10 projektilov.

Hru pre viacerých hráčov si môžete vyskúšať tak, že si stiahnete súbor-p.webp

Krok 6: Nechajte boj Cthulhu začať

Nech boj Cthulhu začne!
Nech boj Cthulhu začne!

Na našej jednoduchej bojovej hre je stále možné vykonať veľa vylepšení - napríklad môžete pridať komplikovanejšie správanie AI alebo pomocou rozšírenia pridať kombá tlačidiel a/alebo sekvencie animácií. Veľa šťastia a zábavy pri programovaní vlastných hier pomocou GameGo a Makecode Arcade.

Ak vytvoríte vylepšenú verziu hry, podeľte sa o ňu v nižšie uvedených komentároch! Viac informácií o GameGo a inom hardvéri pre tvorcov a pedagógov STEM nájdete na našej webovej stránke https://tinkergen.com/ a prihláste sa k odberu nášho spravodajcu.

Odporúča: