Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Funkcje Start i Round_setup
- Krok 2: Przebieg gry
- Krok 3: Gra 1: Przeciwnik AI
- Krok 4: Gra 2: Symulator Multiplayer
- Krok 5: Gra 3: Jacdac Multiplayer
- Krok 6: Niech rozpocznie się walka Cthulhu
Wideo: (Multiplayer) Walka na GameGo z Makecode Arcade: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
GameGo to przenośna konsola do gier retro zgodna z Microsoft Makecode, opracowana przez TinkerGen STEM Education. Oparty jest na chipie STM32F401RET6 ARM Cortex M4 i jest przeznaczony dla nauczycieli STEM lub po prostu osób, które lubią dobrze się bawić tworząc retro gry wideo. Możesz śledzić ten samouczek i wypróbować grę w symulatorze Makecode Arcade, a następnie uruchomić ją na GameGo.
W artykułach, które opublikowaliśmy wcześniej, próbowaliśmy już swoich sił w tworzeniu platformówki i remake'u Battle City. Tym razem chciałem użyć interfejsu Jacdac, aby połączyć ze sobą dwa GameGo i umożliwić graczom walkę o dominację w wieloosobowej grze typu fighter. Niestety, dowiedziałem się, że programowanie blokowe dla multiplayera Jacdac jest obecnie w fazie beta i ma pewne błędy - nadal można tworzyć prostsze gry, ale nie mam szczęścia do mojej bijatyki. Tak więc w tej instrukcji publikuję trzy wersje gry (którą nazwałem "Cthulhu Combat":))
- wersja dla jednego gracza z prostym przeciwnikiem AI
- wersja dla wielu graczy do gry w symulacji Arcade
- wersja multiplayer z Jacdac (niekompletna, zostanie zaktualizowana później)
Kieszonkowe dzieci
GameGo
Microsoft Makecode Arcade
Krok 1: Funkcje Start i Round_setup
Opiszę szczegółowo kodowanie gry dla jednego gracza, a następnie w kolejnych krokach omówimy, jak to zrobić
a) symulator multiplayer
b) multiplayer Jacdac.
Zaczynamy od ustawienia mapy kafelków na dark dungeon i stworzenia sprite'ów dla gracza i bota AI - obaj będą jednak należeć do rodzaju Player. Ustawiliśmy ich przyspieszenie w osi Y na 600 - żeby nie latały po skoku. Inicjujemy również pociski od bota i gracza przed wywołaniem funkcji round_setup. Funkcja round_setup zajmuje się za nas przygotowaniem nowej rundy - dlatego robimy z niej funkcję, ponieważ w grze może być łącznie aż 3 rundy i chcemy uniknąć powtarzania tego samego kodu. W tej funkcji najpierw sprawdzamy, czy któryś z graczy ma 2 zwycięstwa - jeśli ten warunek zostanie uznany za Prawda, gra się kończy. Jeśli obaj gracze mają mniej niż dwa zwycięstwa, zwiększamy zmienną round_num o jeden i umieszczamy graczy na ich miejscach startowych, odnawiamy ich życie do 100 i deklarujemy początek nowej rundy.
Krok 2: Przebieg gry
W tej grze sam świat jest statyczny, a przebieg gry jest powiązany z działaniami graczy. W czterech blokach definiujemy większość reguł gry, te bloczki to: na wciśniętym przycisku w górę, na wciśniętym przycisku w dół, na wciśniętym przycisku A i na wciśniętym przycisku B. Przyjrzyjmy się każdemu z tych bloków.
po naciśnięciu przycisku w górę - logika podwójnego skoku. Jeśli wcisnęliśmy przycisk skoku mniej niż 3 razy, to ustawiamy prędkość gracza na - 140 (ruch w górę). Nasz gracz ma przyspieszenie vvy ustawione na 600, więc gdy skoczymy, nasza prędkość będzie szybko spadać. Gdy osiągnie 0 (nie porusza się po osi pionowej), ponownie ustawiamy jump_count na 0.
po naciśnięciu przycisku w dół - logika tarczy ataku dystansowego. Po naciśnięciu przycisku w dół gracz zmienia swój obraz na „shielded” i ustawia zmienną „shielded” na 1.
na wciśniętym przycisku A - wystrzel pocisk. To jest prawie oczywiste.
po naciśnięciu przycisku B - atak wręcz, podobny do tarczy w wykonaniu.
Ustawiamy obrazy duszków graczy i ich osłoniętych/atakujących zmiennych na 0 co 500 ms podczas aktualizacji gry co … ms blok. Mogliśmy ustawić niezależne zegary dla każdej akcji, ale dla uproszczenia użyjemy tylko głównej pętli aktualizacji gry.
Warunki wygranej są tutaj dość proste - gdy życie gracza osiągnie 0, drugi gracz wygrał rundę, następnie przechowujemy liczbę wygranych przez gracza w zmiennej.
Wreszcie są dwa bloki, które kontrolują obrażenia od ataku dystansowego i obrażenia od ataku w zwarciu. W każdym z nich sprawdzamy, czy nie ma kolizji duszków i czy zmienna osłona/atakowanie dla atakującego gracza jest ustawiona na 0/1.
Krok 3: Gra 1: Przeciwnik AI
W pierwszej grze stworzymy stosunkowo prostego przeciwnika AI, który będzie drugim graczem. W trakcie aktualizacji gry co 200 ms najpierw sprawdzamy odległość między graczem a AI - jeśli jest mniejsza niż 20, ustawiamy naszą AI w trybie walki wręcz, zwiększając jej szansę na atak wręcz do 30 i szansę na atak dystansowy do 30. Jeśli odległość jest wyższa niż 20 ustawiamy szansę na atak wręcz na zero (brak kufla w ataku wręcz, ponieważ gracz jest za daleko) i przesuwamy szansę na 70. Po ustawieniu zmiennych szans na akcje kontynuujemy wykonywanie tych akcji z określonymi szansami. Jeśli sam spróbujesz grać przeciwko tej prostej sztucznej inteligencji, zobaczysz, że pomimo jej zachowania jest bardzo proste, wygrana z nią nie jest łatwa - jak to często w przypadku przeciwników sterowanych przez komputer wygrywa głównie dlatego, że może wykonać więcej akcji na sekundę niż ludzki gracz.
Jeśli utknąłeś podczas kodowania, możesz pobrać pełny kod z naszego repozytorium GitHub dla tego projektu i otworzyć go w Makecode Arcade.
Krok 4: Gra 2: Symulator Multiplayer
Wariant gry dla dwóch graczy w symulacji jest bardzo podobny do wersji dla jednego gracza, z wyjątkiem tego, że zastępujemy blok zachowania AI czterema blokami naciśniętymi na przycisk gracza 2 - zawartość wewnątrz tych bloków odzwierciedla zawartość tych samych bloków dla gracza 1. spójrz na zrzut ekranu, aby lepiej zorientować się, jakie zmiany musisz wprowadzić. Oprócz tego musimy również dodać ruch gracza 2 z przyciskami zablokowanymi w funkcji startowej i zmienić ekran końcowy dla gracza drugiego na WYGRAĆ zamiast PRZEGRAĆ.
Krok 5: Gra 3: Jacdac Multiplayer
W tym wątku na forum znalazłem społecznościową implementację trybu wieloosobowego Jacdac z blokami arkadowymi Makecode
forum.makecode.com/t/new-extension-real-mu…
Przetestowałem tam przykładową grę (Space Invaders) i stwierdziłem, że działa bardzo dobrze. Niestety, mechanika gry w Cthulhu Combat wykorzystuje wiele zmiennych i wygląda na to, że rozszerzenia Real Multiplayer nie obsługują jeszcze synchronizacji zmiennych - więc udało mi się to zadziałać, działania dwóch graczy są synchronizowane na różnych urządzeniach, ale życie może nie nie upuszczaj na urządzenie przeciwnika. Coś jest też nie tak z mechaniką pocisków, pociski nie znikają po uderzeniu w ścianę, co powoduje, że gra traci połączenie po wystrzeleniu około 10 pocisków.
Możesz wypróbować tryb multiplayer, pobierając plik-p.webp
Krok 6: Niech rozpocznie się walka Cthulhu
Nadal istnieje wiele ulepszeń, które można wprowadzić do naszej prostej bijatyki - na przykład możesz dodać bardziej skomplikowane zachowanie AI lub użyć rozszerzenia, aby dodać kombinacje przycisków i/lub sekwencje animacji. Powodzenia i baw się dobrze podczas programowania własnych gier za pomocą GameGo i Makecode Arcade.
Jeśli stworzysz ulepszoną wersję gry, podziel się nią w komentarzach poniżej! Aby uzyskać więcej informacji o GameGo i innym sprzęcie dla producentów i nauczycieli STEM, odwiedź naszą stronę internetową https://tinkergen.com/ i zapisz się do naszego newslettera.
Zalecana:
Retro Arcade - (pełny rozmiar zasilany przez Raspberry Pi): 8 kroków
Retro Arcade - (Full Size Powered by Raspberry Pi): Najpierw chciałem podziękować za zapoznanie się z instrukcją budowania tego systemu Retro Arcade. Biorę starszą skrzynkę arcade i umieszczam ją w wolnostojącej szafce z 24-calowym monitorem panoramicznym. Pomiary w tym przewodniku są trudne do podania
DIY Fitness Tracker Inteligentny zegarek z pulsoksymetrem i tętnem - Modułowe moduły elektroniczne od TinyCircuits - Najmniejszy Arcade: 6 kroków
DIY Fitness Tracker Inteligentny zegarek z pulsoksymetrem i tętnem | Modułowe moduły elektroniczne od TinyCircuits | Smallest Arcade: Hej, co słychać, chłopaki! Akarsh tutaj z CETech.Dzisiaj mamy ze sobą kilka modułów czujników, które są bardzo przydatne w naszym codziennym życiu, ale w małej wersji samych siebie. Czujniki, które mamy dzisiaj, są bardzo małe w porównaniu do tra
Platformówka z nieskończonymi poziomami w GameGo z Makecode Arcade: 5 kroków (ze zdjęciami)
Platformówka z nieskończonymi poziomami w GameGo z Makecode Arcade: GameGo to zgodna z Microsoft Makecode przenośna konsola do gier w stylu retro, opracowana przez TinkerGen STEM Education. Opiera się na chipie STM32F401RET6 ARM Cortex M4 i jest przeznaczony dla nauczycieli STEM lub po prostu osób, które lubią bawić się przy tworzeniu gier wideo w stylu retro
Remake Battle City na GameGo z Makecode Arcade: 4 kroki (ze zdjęciami)
Battle City Remake na GameGo With Makecode Arcade: GameGo to zgodna z Microsoft Makecode przenośna konsola do gier w stylu retro, opracowana przez TinkerGen STEM Education. Opiera się na chipie STM32F401RET6 ARM Cortex M4 i jest przeznaczony dla nauczycieli STEM lub po prostu osób, które lubią bawić się przy tworzeniu gier wideo w stylu retro
Unity Multiplayer 3D Hologram Game i Hologram Projector na PC: 16 kroków (ze zdjęciami)
Unity Multiplayer 3D Hologram Game i Hologram Projector na PC: Na inspiracji Holusem lubię rozwijać wyświetlacz holograficzny bardzo tanio. Ale kiedy próbuję znaleźć gry, nie znalazłem nic w Internecie. Więc planuję stworzyć własną grę w Unity. To moja pierwsza gra w jedności. Wcześniej tworzę kilka gier we Flashu, ale