Inhaltsverzeichnis:

(Multiplayer)Kämpfen auf GameGo mit Makecode Arcade - Gunook
(Multiplayer)Kämpfen auf GameGo mit Makecode Arcade - Gunook

Video: (Multiplayer)Kämpfen auf GameGo mit Makecode Arcade - Gunook

Video: (Multiplayer)Kämpfen auf GameGo mit Makecode Arcade - Gunook
Video: How To Know If You Can Play Pro Video Games For A Living 2024, November
Anonim

GameGo ist eine Microsoft Makecode-kompatible tragbare Retro-Gaming-Konsole, die von TinkerGen STEM Education entwickelt wurde. Es basiert auf dem STM32F401RET6 ARM Cortex M4-Chip und wurde für MINT-Lehrer oder einfach nur Leute entwickelt, die Spaß daran haben, Retro-Videospiele zu erstellen. Sie können diesem Tutorial folgen und das Spiel im Makecode Arcade-Simulator ausprobieren und dann auf GameGo ausführen.

In den Artikeln, die wir zuvor veröffentlicht haben, haben wir uns bereits an einem Plattformspiel und einem Battle City-Remake versucht. Dieses Mal wollte ich die Jacdac-Schnittstelle verwenden, um zwei GameGos miteinander zu verbinden und es den Spielern zu ermöglichen, in einem Multiplayer-Kämpferspiel um die Vorherrschaft zu kämpfen. Leider habe ich festgestellt, dass sich die Blockprogrammierung für Jacdac-Multiplayer derzeit im Beta-Stadium befindet und einige Fehler aufweist - es ist immer noch möglich, einfachere Spiele zu erstellen, aber kein Glück für mein Kampfspiel. Also, in diesem anweisbaren veröffentliche ich drei Versionen des Spiels (die ich "Cthulhu Combat" nannte:))

- Einzelspieler-Version mit einfachem KI-Gegner

- Multiplayer-Version zum Spielen in der Arcade-Simulation

- Multiplayer-Version mit Jacdac (unvollständig, wird später aktualisiert)

Lieferungen

GameGo

Microsoft Makecode Arcade

Schritt 1: Bei Start- und Round_setup-Funktionen

On Start- und Round_setup-Funktionen
On Start- und Round_setup-Funktionen

Ich werde die Codierung von Einzelspieler-Spielen im Detail beschreiben und dann in den nächsten Schritten besprechen, wie man es in ein

a) Simulator-Multiplayer

b)Jacdac-Mehrspieler.

Wir beginnen damit, die Kachelkarte auf einen dunklen Dungeon zu setzen und Sprites für Spieler und KI-Bots zu erstellen – beide werden jedoch zur Spielerart gehören. Wir haben ihre Y-Achsen-Beschleunigung auf 600 gesetzt - damit sie nach dem Springen nicht fliegen würden. Wir initialisieren auch Projektile von Bot und Spieler, bevor wir die round_setup-Funktion aufrufen. Die round_setup-Funktion kümmert sich für uns um die Vorbereitung neuer Runden - der Grund, warum wir daraus eine Funktion machen, ist, dass es insgesamt bis zu 3 Runden im Spiel geben kann und wir vermeiden möchten, dass derselbe Code wiederholt wird. In dieser Funktion prüfen wir zuerst, ob einer der Spieler 2 Siege hat - wenn diese Bedingung als Wahr bewertet wird, ist das Spiel vorbei. Wenn beide Spieler weniger als zwei Siege haben, erhöhen wir die Variable round_num um eins und setzen die Spieler auf ihre Startplätze, füllen ihre Leben auf 100 auf und erklären den Beginn einer neuen Runde.

Schritt 2: Spielfluss

Spielablauf
Spielablauf

In diesem Spiel ist die Welt selbst statisch und der Spielfluss ist an die Aktionen der Spieler gebunden. In vier Blöcken definieren wir die meisten Spielregeln, diese Blöcke sind: bei gedrückter Auf-Taste, bei gedrückter Ab-Taste, bei gedrückter A-Taste und bei gedrückter B-Taste. Schauen wir uns jeden dieser Blöcke an.

auf Auf-Taste gedrückt - Doppelsprunglogik. Wenn wir die Sprungtaste weniger als dreimal gedrückt haben, setzen wir die Geschwindigkeit des Spielers auf -140 (nach oben). Unser Spieler hat die vy-Beschleunigung auf 600 eingestellt. Sobald wir also springen, nimmt unsere Geschwindigkeit schnell ab. Sobald es 0 erreicht (keine Bewegung auf der vertikalen Achse), setzen wir jump_count wieder auf 0.

bei gedrückter Abwärtstaste - Fernkampf-Angriffsschildlogik. Wenn die Abwärtstaste gedrückt wird, ändert der Spieler sein Bild auf "abgeschirmt" und setzt die Variable abgeschirmt auf 1.

auf Knopf A gedrückt - ein Projektil abfeuern. Das ist ziemlich selbsterklärend.

auf Knopf B gedrückt - Nahkampfangriff, ähnlich dem Schild in der Ausführung.

Wir setzen die Bilder der Sprites der Spieler und ihrer abgeschirmten/angreifenden Variablen alle 500 ms im Spielupdate alle.. ms-Blocks auf 0. Wir hätten für jede Aktion unabhängige Timer einstellen können, aber der Einfachheit halber verwenden wir nur die Haupt-Update-Schleife des Spiels.

Die Gewinnbedingungen hier sind ziemlich einfach - wenn das Spielerleben 0 erreicht, hat der andere Spieler die Runde gewonnen, wir speichern dann die Anzahl der Gewinne pro Spieler in einer Variablen.

Schließlich gibt es zwei Blöcke, die Fernkampfangriffsschaden und Nahkampfangriffsschaden kontrollieren. In jedem von ihnen prüfen wir, ob Sprite-Kollisionen vorliegen und ob die Shielded/Atacking-Variable für den angreifenden Spieler auf 0/1 gesetzt ist.

Schritt 3: Spiel 1: KI-Gegner

Spiel 1: KI-Gegner
Spiel 1: KI-Gegner

Im ersten Spiel werden wir einen relativ einfachen KI-Gegner als zweiten Spieler erstellen. Innerhalb des Spielupdates führen wir alle 200 ms zuerst die Distanzprüfung zwischen Spieler und KI durch - wenn sie weniger als 20 beträgt, setzen wir unsere KI in den Nahkampfmodus, indem wir ihre Nahkampfangriffschance auf 30 und die Fernkampfangriffschance auf 30 erhöhen. Wenn die Entfernung größer ist als 20 setzen wir die Nahkampfangriffschance auf Null (kein Pint im Nahkampfangriff, da der Spieler zu weit entfernt ist) und verschieben die Chance auf 70. Nachdem die Variablen für die Aktionschancen gesetzt wurden, fahren wir mit den angegebenen Chancen fort, diese Aktionen auszuführen. Wenn Sie selbst versuchen, gegen diese einfache KI zu spielen, werden Sie feststellen, dass trotz ihres sehr einfachen Verhaltens der Sieg nicht einfach ist - wie oft bei computergesteuerten Gegnern gewinnt sie hauptsächlich, weil sie mehr Aktionen pro Sekunde ausführen kann als eine KI menschlicher Spieler.

Wenn Sie beim Codieren stecken geblieben sind, können Sie den vollständigen Code in unserem GitHub-Repository für dieses Projekt herunterladen und in Makecode Arcade öffnen.

Schritt 4: Spiel 2: Simulator-Multiplayer

Spiel 2: Simulator-Multiplayer
Spiel 2: Simulator-Multiplayer
Spiel 2: Simulator-Multiplayer
Spiel 2: Simulator-Multiplayer

Die Spielvariante für zwei Spieler in der Simulation ist der Einzelspieler-Version sehr ähnlich, außer dass wir den KI-Verhaltensblock durch vier bei Spieler 2 gedrückte Blöcke ersetzen - wobei der Inhalt in diesen Blöcken den Inhalt der gleichen Blöcke für Spieler 1 widerspiegelt Sehen Sie sich den Screenshot an, um eine bessere Vorstellung davon zu bekommen, welche Änderungen Sie vornehmen müssen. Abgesehen davon müssen wir auch Spieler 2 bewegen mit Schaltflächen zum Blockieren der Startfunktion hinzufügen und den Endbildschirm für das Spiel von Spieler 2 auf WIN statt auf LOSE ändern.

Schritt 5: Spiel 3: Jacdac Multiplayer

Spiel 3: Jacdac-Multiplayer
Spiel 3: Jacdac-Multiplayer

Ich habe in diesem Forenthread eine Community-Implementierung von Jacdac-Multiplayer mit Makecode-Arcade-Blöcken gefunden

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

Ich habe das Beispielspiel dort getestet (Space Invaders) und fand es sehr gut. Leider verwendet die Spielmechanik von Cthulhu Combat viele Variablen und es scheint, dass die Real Multiplayer-Erweiterungen das Synchronisieren von Variablen noch nicht unterstützen - also habe ich es zum Laufen gebracht, die Aktionen der beiden Spieler werden geräteübergreifend synchronisiert, aber das Leben könnte nicht funktionieren nicht auf das Gerät des Gegners fallen lassen. Außerdem stimmt etwas mit der Projektilmechanik nicht, die Projektile scheinen nach dem Auftreffen auf die Wand nicht zu verschwinden, was dazu führt, dass das Spiel die Verbindung verliert, nachdem etwa 10 Projektile abgefeuert wurden.

Sie können den Multiplayer ausprobieren, indem Sie die.png-Datei aus unserem GitHub-Repository herunterladen, um ihn auszuprobieren - sobald die Jacdac-Block-API ausgereift ist, werde ich diesen Teil des Artikels mit funktionierendem Code aktualisieren.

Schritt 6: Lass den Cthulhu-Kampf beginnen

Lasst den Cthulhu-Kampf beginnen!
Lasst den Cthulhu-Kampf beginnen!

Es gibt noch viele Verbesserungen, die an unserem einfachen Kampfspiel vorgenommen werden können - zum Beispiel können Sie komplizierteres KI-Verhalten hinzufügen oder Erweiterungen verwenden, um Tastenkombinationen und / oder Animationssequenzen hinzuzufügen. Viel Glück und Spaß beim Programmieren eigener Spiele mit GameGo und Makecode Arcade.

Wenn Sie eine verbesserte Version des Spiels erstellen, teilen Sie sie in den Kommentaren unten mit! Weitere Informationen zu GameGo und anderer Hardware für Hersteller und MINT-Lehrer finden Sie auf unserer Website https://tinkergen.com/ und abonnieren Sie unseren Newsletter.

Empfohlen: