Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

19.07.2013, 14:12

[C++] GameStates(Spielzustand) - Implementierungsmöglichkeiten

Guten Tag :),

da ich momentan über eine Implementierung eines Spielzustand-Automaten nachdenke, wollte ich hier gerne Anregungen sammeln, da es doch nach meiner eigenen Recherche viele Möglichkeiten gibt, diese zu realisieren.

Bisher habe ich immer mit einer Map zum Speichern, sowie einen Zeiger auf den aktuellen Stand, gearbeitet. Leider stoße ich hier bereits an Grenzen, wenn es zum Beispiel darum geht ein Zustand über den anderen zu zeichnen.

Wie geht ihr bei der Verwaltung der Spielzustände vor? Hängt es vom Genre ab? Macht es vllt. Sinn beides zu kombinieren (Stack + Map)?

Viele Grüße und danke fürs Lesen.




PS: Den Wiki-Artikel kenne ich.

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

2

19.07.2013, 14:42

Ich implementiere meine Zustände als Map. Stackimplementierungen haben bei mir bisher immer mehr Probleme als Vorteile gebracht, weil du in der Regel eh nur einen Zustand deines Spiels gleichzeitig siehst. Overlays wie Optionsmenüs würde ich extra machen.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

3

22.07.2013, 03:19

Ich sehe das genau wie TrommlBomml. States über States muss man eigentlich meist nur bei Ingame Menüs etc zeichnen. Da kann man dann intern im State noch mal Unterzustände anlegen. So habe ich es zumindest mal gelöst. Wenn du mehrere Gamestates hast welche dann intern noch mal neu verschachtelt werden müssen, dann wird es natürlich aufwendig, da du dir extrem viel Schreibarbeit einhandelst. Dabei denke ich spontan über Kompositum nach. Dadurch könntest du Zustände bauen, welche wiederum aus anderen Zuständen bestehen. Die Frage ist, ob du im Spiel selbst wirklich so aufwendige Szenarien hast. Ich habe für mich gelernt, dass man solche Dinge oft anders schöner und einfacher lösen kann. Oft reicht es die verschiedenen Screens selbst austauschbar zu machen. So tauschst du nur die aktuelle Ansicht aus und löst damit schon dein eigentliches Problem. Das hängt dann aber natürlich immer ein wenig vom aktuellen Fall ab.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige