Montag, 28. April 2014

Ingame-Menüs, sowie speichern & laden von Speicherständen

Das Ingame-Menü
Ingame-Menü statt Hauptmenü:
In den letzten Tagen habe ich das Ingame-Menü, fertig gestellt. Nach dem drücken von Escape wechselt man nicht mehr in das Hauptmenü, sondern in das neue Ingame-Menü.

Bisherige Funktionen:
Dort kann man dann das Spiel speichern, einen vorhandenen
Spielstand laden oder ins Hauptmenü wechseln.
Es finden zudem Abfragen zum überschreiben eines
Dialog zum speichern eines Spielstandes.
Man kann einen existierenden überschreiben
oder einen neuen Speicherstand erstellen.
existierenden Speicherstandes und zum speichern beim beenden des Spieles statt.

Hauptmenü:
Im Hauptmenü ( dazu wird es noch einen eigenen Post geben ), kann man ebenfalls einen Spielstand laden, den letzten weiterspielen oder ein neues Spiel anfangen.

Technisches:
Das ganze läuft über eine statische Klasse.
Wenn man zum Hauptmenü zurück möchte
wird man gefragt, ob man nicht lieber
vorher speichern möchte.
Die Methoden ( Update() und Draw() ) werden nach dem drücken von Escape statt der des Gamescreens ausgeführt. Zuvor wird noch ein letztes mal der Hintergrund gerendert, als Bild zwischengespeichert und ein wenig bearbeitet.
Die einzelnen Unterpunkte ( Spiel speichern, die Abfragen, etc. ) befinden sich alle in dieser Klasse und werden durch Bool'sche Werte an/aus geschaltet, welche dann nur noch in der Update() bzw. Draw() Methode abgefragt werden.

Speicherstände:
Die Speicherstände werden verschlüsselt in den Dateien mit ihrem Namen gespeichert. Zudem sind alle Namen, sowie der Name des zuletzt gespeicherten Spielstandes ( für "Spiel fortsetzen" ), in der properties.txt aufgelistet, in der zukünftige Einstellungen gespeichert werden.

mfg
Hauke


Kommentare:

  1. Interresante Idee den aktuellen Screen noch einmal zu rendern und quasi als Background für das Ingame Menu zu nehmen.

    In wie fern verschlüsselt Ihr den die Speicherstände, und warum?

    AntwortenLöschen
    Antworten
    1. Danke, ja ich wollte erst einen rein schwarzen Hintergrund nehmen, aber das war dann noch ein wenig "langweilig" ;)

      Also der genaue Verschlüsselungsalgorithmus bleibt ntürlich geheim, es handelt sich jedoch lediglich um eine bitweise Verschiebung ( also nicht kompliziertes ) der Daten. Wir machen das einfach, damit man sich nichts cheaten kann ( sind wir strikt gegen, auch wenn es einigen Spaß machen sollte ).

      Löschen
  2. :D Okay ich verstehe was du meinst. Plant ihr das/die Gebiet/e von Anfang an frei begehbar oder wird der Spieler sich nur in in bestimmten Gegenden bewegen können?

    AntwortenLöschen
    Antworten
    1. Also am Anfang ist der Spieler ja im Norden und dort kann er sich ( bevor er gejagt und vertrieben wird ) sich rein theoretisch frei bewegen ( er könnte also auch schon in den Süden gehen, auch wenn die Leute dort ihn wahrscheinlich nicht mögen werden ;). Später, wenn man dann im Süden ist, kann man sich auch dort komplett frei bewegen und rein theoretisch auch wieder in den Norden, ins Feindesgebiet, gehen ( auch hier werden sie einen nicht mögen ;). Das ganze wird von Anfang an so sein ( wie in den The Elder Scrolls Teilen ). Levelbegrenzungen oder ähnliches wird es nicht geben.

      Löschen