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 16 von 17

Artikel mögen: Weitersagen:



Teil 16: Einbauen von Pairs in GameMaster
Letztes Mal haben wir ein neues Spiel implementiert, bei dem es Aufgabe ist, Kartenpaare zu finden. Dieses haben wir in einem unabhängigen Projekt umgesetzt und als eigenständiges Spiel veröffentlicht. Jetzt wollen wir dieses als zweites Minispiel in unser GameMaster Projekt einbauen. Leider ist es nicht damit getan, alle Dateien in das Zielprojekt zu kopieren - es sind etliche Anpassungen nötig und natürlich wünschen wir auch weitere neue Funktionen.


Lokales Spiel mit vier Spielern und 20 Karten

Die nötigen Anpassungen
Zum Glück haben wir von Anfang an eingeplant, das neue Spiel in unser Projekt einbauen zu können und es entsprechend aufgebaut. Es gibt ein Controller-Objekt, welches für alle Logik benötigt wird, und Spieler-Objekt. Diese beiden können von den entsprechenden Äquivalenten in GameMaster erben und dadurch automatisch etliche benötigte Eigenschaften übernehmen, so dass es beispielsweise von außen möglich ist, das Spiel zu starten und zu beenden. Weitere Objekte wie die Spielkarte können nahezu ohne Änderung übernommen werden, während die erbenden noch einige Anpassungen benötigen.

Wie auch unser bisheriges Minispiel „Gong“ wollen wir bis zu vier Spieler erlauben, lokal wie auch im Netzwerkspiel, statt der bisher vorgesehenen zwei Spieler. Dazu kommt ganz neu die Möglichkeit, das Spiel aufzuleveln und weiter zu entwickeln, was die grundlegende Eigenschaft eines Minispiels in unserem Projekt ist. Es muss also festgelegt werden, für welche Aktionen wie viele Erfahrungspunkte verteilt werden sollen und welche Neuerungen man damit freischalten können möchte. Nur ein lokaler menschlicher Spieler soll Erfahrung erhalten, während er gegen CPU Spieler antritt. Je höher der Schwierigkeitsgrad eingestellt ist, um so mehr Punkte soll man erhalten. Jedes gefundene Paar soll eine kleine Menge geben und ein Sieg deutlich mehr. Es wäre auch schön, wenn man im Spiel gegen Menschen Erfahrung erhalten könnte, doch wäre Mogeln so zu einfach. Damit ein Spieler nicht absichtlich verliert, um dem anderen mehr Erfahrung zu bescheren, müsste dieser im Gegenzug an Erfahrung einbüßen. Doch selbst dann könnte der Gegenüber einfach seinen Spielstand neu laden, nachdem seine Erfahrung gesunken ist. Um dem entgegenzuwirken, müsste man den Spielstand in einem Onlinespiel auf dem Server verwalten, was ich aktuell leider nicht bieten kann. Außerdem wäre dies dann wieder in lokalen Offlinespielen unmöglich.

Entwickeln neuer Optionen
Damit die errungene Erfahrung in Verbesserungen umgesetzt werden kann, benötigt auch „Pairs“ einen Fähigkeitenbaum. Dieser wird ähnlich zu dem von „Gong“ umgesetzt. Man hat die Möglichkeit, die Schwierigkeitsgrade und eine höhere Anzahl an Spielern zu „erlernen“. Angemessen für dieses Spiel ist das Entwickeln der Fähigkeiten schönere Karten zu haben - etwa Bilder statt Muster - und eine höhere Anzahl an Karten, die es aufzudecken gilt, was wiederum zu mehr Erfahrung führen soll. Daraus folgt, dass verschiedene Kartenarten gezeichnet bzw. erstellt werden müssen und dass die Anzahl an Karten verändert werden können muss. Ich war mir lange nicht sicher, ob solche erlernbaren Optionen verstellbar sein sollen, oder ob beispielsweise die höhere Kartenanzahl Pflicht ist, nachdem sie einmal erlernt wurde. Schließlich habe ich für solche Dinge ein zusätzliches Optionenmenü umgesetzt, welches im Hauptmenü eines Minispiels zu finden ist, sobald man auf mindestens eine Option Zugriff hat. Allerdings ist dies nicht sehr benutzerfreundlich und ich habe mit dem Gedanken gespielt, dies mit in dem Menü unterzubringen, in dem man die Spieleranzahl auswählen kann. Dieses Spielermenü nimmt aber auf einem 3DS bereits den gesamten Platz auf dem Bildschirm ein, weswegen wieder eine weitere Lösung nötig wäre - mehrere Tabs oder Scrolling. Eine andere Alternative wäre, die Fähigkeit direkt im Fähigkeitenbaum aktivieren und deaktivieren zu können. Dies wäre zwar intuitiv und platzsparend, würde aber trotzdem eine eventuell sonst unnötige Navigation zu diesem weiteren Menü erfordern. Letzten Endes habe ich - wie gesagt - die Variante mit dem Optionsmenü umgesetzt, in welchem bereits zwei Einstellungen zu finden sind, sofern man sie erlernt hat. Neben der Möglichkeit, ein Kartenset aus den anfangs verfügbaren Mustern und Fotos auszuwählen, kann man die Anzahl der Karten von 12 auf 20 erhöhen.


Entwickle Optionen, um weitere Grafiken und mehr Karten auf einmal nutzen zu können

„Pairs“ bietet eine Kartensammlung an - einen Menüpunkt unter dem man sehen kann, welche Karten man bereits als Paar aufgedeckt hat. Dieses musste neu in die Menüstruktur unserer Minispiele eingearbeitet werden und dies so allgemein, dass es problemlos von anderen Spielen wiederverwendet werden kann. Zuvor wurden diese gesammelten Karten in Form ihrer Dateinamen als Liste in einer Textdatei gespeichert und von dort geladen. Um unserem GameMaster Speicher-Prinzip zu entsprechen, wurde dies komplett ersetzt. Es wird nur noch eine Bitmap gespeichert, sprich eine einzige Zahl, die in Binärschreibweise jeder vorhandenen Karte eine Eins und ansonsten eine Null zuordnet. Die Bilddateien der Karten enden alle mit einer Nummer (etwa card0.png bis card42.png) welche eindeutig den Positionen dieser Bits zugeordnet werden kann. Anstatt einer Textdatei mit bis zu 42 Zeilen Text, ergibt sich also eine Zahl mit maximal 42 Stellen (binär). Dies spart natürlich Platz und ist auch schneller gespeichert und geladen.


Ein paar der Muster und Fotos, die gesammelt werden können

Immer das größte Problem - Netzwerkspiele
Die größte Herausforderung sind mal wieder die Netzwerkspiele. Bisher konnten wir Positionen und Ausrichtungen von Spielern synchronisieren, etwas das uns bei einem Kartenspiel gar nichts bringt. Stattdessen gibt es völlig neue Kommandos, die sich vermutlich nicht zur Wiederverwendung in anderen Spielen eignen. Der Ersteller des Netzwerkspiels sendet allen Teilnehmern eindeutige Identifikationsnummern der verdeckten Karten in der Reihenfolge wie sie auch erstellt werden. So kann man sicherstellen, dass alle Spieler auch mit denselben Karten spielen. Außerdem muss sichergestellt werden, dass auch nur der Spieler Karten umdrehen kann, der gerade an der Reihe ist. Von Gong kann übernommen werden wie die Punkte gezählt werden. Ob es sich um „geschossene Tore“ oder aufgedeckte zueinander passende Karten handelt, kann den vorhandenen Funktionen egal sein.

Sicher hat dieser Tagebucheintrag wieder nur die Oberfläche der Aufgaben und Probleme angekratzt, doch dies sollte für einen Eindruck genügen. Das nächste Mal beschäftigen wir uns mit „Statistiken“ - das sich Merken von verschiedenen Daten wie der Spieldauer oder Anzahl der gewonnen Spiele, warum dies nötig ist und wozu es nützlich sein kann. Bis zum nächsten Mal!


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

ANZEIGE:
Kommentare verstecken

- Kommentare


- Noch keine Kommentare vorhanden -

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