Wie bereits erwähnt, ist dies eine perfekte Anwendung für eine Zustandsmaschine.
Im Wesentlichen haben Sie eine Art Baumstruktur. Jedes Blatt / jeder Knoten enthält Informationen zum aktuellen Status und Regeln für den Übergang zum nächsten Status. Jeder Knoten kann mehrere Ausgänge enthalten, je nachdem, wie komplex Ihr Plot / Play Flow sein soll.
Ein gutes, sehr loses Analogon dazu ist ein Choose Your Own Adventure- Buch. Jede Seite enthält einen Text, der einen Teil der Geschichte beschreibt und Entscheidungen, die der Spieler treffen kann. Jede Entscheidung führt zu einer anderen Seite. Einige Seiten verweisen möglicherweise auf zuvor besuchte Seiten usw.
Die alten textbasierten Abenteuerspiele wie Zork und Leather Goddesses of Phobos und die berüchtigten Sierra * Quest-Spiele ( SpaceQuest mit Roger Wilco, dem Raumpfleger, ist einer meiner Favoriten ) verwendeten eine sehr einfache Version dieses Systemtyps. Jeder Raum auf einer Karte war ein Staat, mit Ausgängen, die mit anderen Staaten oder Räumen verbunden waren. Das Erfassen eines Elements setzt ein Flag in einem globalen Statusobjekt. Jeder Raum prüfte diese Flags, um festzustellen, welche Charaktere oder Gegenstände in jedem Raum verfügbar waren.
Daher können Ihre Status als Klasse oder Struktur implementiert werden, die jeweils Eigenschaften für Folgendes aufweisen:
Asset-Liste - Liste der Zeiger auf Hintergrundgrafiken und alles andere, was Sie zur Anzeige des Raums / Status / Levels benötigen.
Teilnahmebedingungen - Erfolge, die bereits erreicht sein müssen, um ein Level zu betreten
Ausgänge - Links zu jedem möglichen "nächsten" Ausgang. Nord, Süd, Ost und West sind einige Beispiele dafür, aber Sie können auch Tür1, Teleport usw. einschließen. Wenn Sie versuchen, einen Raum zu verlassen oder feststellen, dass ein Ausgang / eine Tür "offen" ist, kann Ihr Spiel den nächsten Zustand überprüfen um zu sehen, ob die Einstiegsbedingungen erfüllt sind, und um die Art und Weise zu ändern, in der der Ausstieg auf dem Bildschirm angezeigt wird, oder um zu verhindern, dass sich der Spieler in diese Richtung bewegt.
Wenn Sie sich etwas einfallen lassen möchten, können Sie eine andere Version eines Staates mit unterschiedlichen Zugangsbedingungen einbinden, wodurch sich die Art und Weise ändert, in der der Raum dem Spieler präsentiert wird, oder die Aktionen, die in diesem Raum verfügbar sind.
Ihr Startbildschirm, Tod / Spiel über dem Bildschirm usw. können Zustände innerhalb des Systems sein, ähnlich wie Sie zwischen den Menübildschirmen navigieren können. In der Tat, wenn Sie ein solches Menüsystem haben, können Sie es dafür verwenden. Anstelle von Auf- / Abwärtspfeilen und "Enter" zum Navigieren in einem Menü würden Sie nach bestimmten Ereignissen im Spielbereich suchen, z.
Überlegen Sie aus Sicht des Administrators, ob Sie von der Erstellung eines Verwaltungstools profitieren können, mit dem Sie den Zustandsautomaten erstellen können. Fügen Sie Räume zu einer Karte hinzu, erstellen Sie Verknüpfungen zwischen ihnen, weisen Sie Assets wie Hintergrundbilder usw. zu. Dies ist wahrscheinlich zu viel für Ihren ersten Versuch. Es ist zu einfach, sich in die Erstellung von Admin-Tools zu vertiefen und das Spiel nie zu beenden. Denken Sie daran - Sie schreiben keine Middleware, sondern ein Spiel.
Hoffe das hilft.