PlanetSwitch Planet3DS PlanetVita PSP.de PlanetiPhone Classics Forum

PGN-ID:[?] (Nicht eingeloggt)
Login
Registrieren
PlanetDS PlanetGameboy N-Page.de

-

Sonstiges: Entwicklertagebuch - Der Weg zum eigenen 3DS/Switch-Spiel

Michael Grönert, am 26.12.2016, Seite 6 von 15

Artikel mögen: Weitersagen:



Teil 6: GONG! Das erste Minispiel
Unser Charakter ist bereit, ein erstes Minispiel zu starten. Höchste Zeit eines zu erstellen! Ziel soll es sein, ein simples Spiel zu erstellen, damit man ein funktionierendes Exemplar hat, um andere Dinge implementieren und testen zu können. Dazu gehören beispielsweise die Verbindung und der Wechsel zwischen der Welt und den Spielen. Das Minispiel selbst soll zunächst gar nicht so wichtig sein. Wenn ich überlege, welches Spiel am einfachsten umzusetzen ist, kommt mir Pong als erstes in den Sinn. Zwei Rechtecke, die sich vertikal bewegen können, und ein Ball, der zwischen diesen hin und her geschlagen wird. Es wäre natürlich nett, wenn das Spiel etwas mehr zu bieten hätte, aber dazu kommen ja später die Entwicklungsmöglichkeiten, die mein Projekt ausmachen sollen. Also ist es beschlossene Sache: Wir programmieren ein Pong! Zwar gibt es rechtlich gesehen keine Probleme damit, einen Pong-Klon zu erstellen, aber einen eigenen Namen wollen wir uns doch leisten. Wie wäre es, wenn es statt einem „Ping“ und „Pong“ richtig scheppert? Nennen wir es fürs Erste doch einfach „GONG!“.

Das Spiel selbst ist relativ leicht implementiert: Am linken und rechten Rand des Bildschirms jeweils ein Quader, der vertikal in die Länge gezogen wird, und in der Mitte ein weiterer Quader, welcher einen schön kantigen Ball repräsentiert. Starten wir eine Runde, wird der Ball in die Richtung eines Spielers beschleunigt. Welcher der beiden das ist, wird ausgelost. Der Spieler kann durch seine eigene Bewegung den Abprallwinkel des Balls bestimmen und so versuchen, dem Gegner möglichst schwere Bälle zu schicken. Gelangt der Ball hinter einen Spieler, gibt dies einen Punkt für den anderen. Wurde eine bestimmte Punktzahl erreicht, gewinnt der Spieler. Der Gegner könnte ein zweiter menschlicher Spieler sein. Dabei denke ich gleich an den Vorteil der Joy-Cons der Nintendo Switch - diese können auf zwei Spieler aufgeteilt werden. Es wäre sogar möglich, zu zweit an einem 3DS zu spielen, auch wenn das deutlich weniger bequem wäre. Mein Projekt wäre nicht das erste, welches diese Option anbietet. Da wir aber auch alleine spielen und testen wollen, erstellen wir noch eine KI (Künstliche Intelligenz), gegen die wir antreten können.

Es lebt!
Um dem Gegner Leben einzuhauchen, braucht es nicht viel. Wir erstellen eine Methode, die in jedem Frame ausgeführt wird und den CPU(Computer-gesteuert)-Schläger in die Richtung des Balls bewegt. Dabei achten wir darauf, dass diese Bewegung nicht zu unrealistisch wirkt, indem sie auch nicht schneller vonstatten geht, als würde sie ein Mensch kontrollieren. Die CPU soll ja den gleichen Regeln unterworfen sein wie ein menschlicher Spieler. Da der Ball auf der Y-Achse (also vertikal) schneller als ein Schläger bewegt werden kann, kommt diese KI schnell an ihre Grenzen und kann leicht ausgetrickst werden. Sie sollte also vorausschauend denken lernen. Um dies zu erreichen, kann die KI berechnen, wo der Ball mit seiner aktuellen Geschwindigkeit auf der Y-Achse ankommen wird. Dadurch könnte die KI allerdings optimal spielen, würde also nie verlieren. Es gilt einen Zwischenweg zu finden, so dass man gewinnen kann, aber nicht mit Leichtigkeit.

Ich habe das gelöst, indem ich die KI nur ein paar Frames vorausschauen lasse, anstatt den Aufschlagpunkt des Balles zu berechnen. Je nachdem, wie weit die CPU in die Zukunft schauen kann, spielt sie besser. Die Voraussicht bietet sich somit an, um später für verschiedene auswählbare Schwierigkeitsgrade variierbar zu sein.


Das erste Minispiel: GONG!

Mögen die Spiele beginnen!
Schon ist unser GONG! bereit für den ersten Spielspaß! Natürlich gehört noch jede Menge Logik dazu, die im Hintergrund abläuft. Nach einem erzielten Punkt wird die nächste Runde gestartet. Dazu werden Ball und Spieler auf ihre Startpositionen zurückgesetzt. Der Spieler, gegen den der Punkt gemacht wurde, bekommt in der nächsten Runde die Ball-Angabe. Zwischen den Vorgängen sollte jeweils genug Zeit sein, damit sich ein menschlicher Spieler darauf einstellen kann. Eine Taste erlaubt es, das Spiel zu pausieren. Während einer Pause werden die Bewegungen von Ball und Spielern unterbrochen. Die Bewegungsvektoren (Richtung und Geschwindigkeit) werden gesichert und den Objekten nach Beenden der Pause wieder zugeordnet. Ein Ende nach bestimmter Punktzahl oder dergleichen gibt es noch nicht.

Entwicklungspotential
GONG! bietet noch viel Potential für Features. Wie wäre es beispielsweise mit vier statt nur zwei Spielern? Statt der Wände am oberen und unteren Bildschirmrand könnte jeweils ein weiterer Spieler mitmachen. Oder wie wäre es mit einem Doppel? Auf jeder Seite zwei Spieler, die sich entweder das Spielfeld in zwei Hälften teilen oder leicht nebeneinander versetzt die komplette Vertikale ablaufen können. Dazu sollte man eventuell auch den Schwierigkeitsgrad anheben, indem wir zwei Bälle gleichzeitig nutzen oder die Geschwindigkeit des einen Balles erhöhen. Die Spieleranzahl und Schwierigkeitsstufen sollen zu den entwickelbaren Fähigkeiten gehören. Dazu kommt dann noch die Grafik. Die simplen Quader könnten durch hübsche detailreiche und farbige Formen ersetzt werden.

Ich möchte nun zunächst wieder in die „Overworld“ zurückwechseln und eine weitere sehr wichtige Grundlage des Projekts angehen - das Inventar. In dieses Inventar möchte ich dann etwas legen, womit wir GONG! starten können, statt zu dem Start-Würfel laufen zu müssen. Das Inventar wird allerdings Gegenstand meines nächsten Tagebucheintrags.

Ihr möchtet die Auszüge aus dem Leben eines Entwicklers lieber in englischer Sprache lesen? Unter diesem Link findet ihr die englische Version dieses Tagebucheintrags!


Gehe zu Seite:
Vorherige Seite | Nächste Seite

Kommentare verstecken

- Kommentare


- Noch keine Kommentare vorhanden -

Um Kommentare zu schreiben, bitte oben einloggen oder jetzt Registrieren!