De/DD/Speicher- und Ladesystem

From OpenAnno

Jump to: navigation, search

OpenAnno verwendet ein neuartiges System zum Verwalten von Spielständen. Hierbei verschmelzen die Techniken zur Aufzeichnung einer Demo und der den Spielständen.

Contents

Idee

Die grundlegende Idee hinter dem System ist, dass die Speicherung in einer Art Zeitstrahl geschieht. Dieser kann sich auch verzweigen. Außerdem lässt sich jedes Spiel auch als eine Art Video nachträglich abspielen. Zu guter Letzt bietet das System den Vorteil, dass nach einem Absturz Debugging-Infos gespeichert sind.

Das Spielgeschehen wird in Echtzeit protokolliert. An jedem Speicherpunkt wird ein neues Protokoll begonnen. Außerdem beinhaltet jeder Speicherpunkt einen aktuellen Dump. Dies hat den Vorteil, dass man nicht das komplette Log interpretieren muss, wenn das Save als Video abgespielt werden soll.

Es wird unterschieden zwischen Autosaves, Quicksave und regulären Speicherpunkten. Erstere werden nach einem einstellbaren Zeitablauf automatisch erstellt. Diese sind unbegrenzt verfügbar, werden jedoch beim Laden auf maximal 10 Slots begrenzt.. Das Quicksave ist ein einzelner Speicherpunkt, der innerhalb des Spieles jederzeit per Tastatur einfach erzeugt werden kann. Er wird immer verschoben. Reguläre Speicherpunkte sind unbegrenzt verfügbar und werden im Spielmenü angelegt. Einsteigen in das Spiel kann man theoretisch an jedem Speicherpunkt. Jedoch beschränkt der ausgewählte Schwierigkeitsgrad, wie viele Spielstände zurückliegend maximal geladen werden können. Dies bezieht sich jedoch nur auf Autosaves.

Wenn man einen weiter zurückliegenden Speicherpunkt wählt, wird beim Speichern eine "alternative Realität" geschaffen, also ein zweiter Zeitstrang, der sich am letzten gemeinsamen Speicherpunkt abgabelt. Jeder Zeitast hat seine eigenen Quick-, Auto- und Staticsaves.

Darstellung & Verwendung

Spiel laden

Der Ladedialog zeigt neben dem Zeitstreifen auch noch eine Minikarte des aktuell gewählten Slots an. Außerdem ist die aktuelle Punkteübersicht anzusehen. Die Speicherpunkte sind auf dem Ast und an den Knotenpunkten angeordnet. Diese Knoten lassen sich anklicken, woraufhin die Informationstafel aktualisiert wird. Laden lassen sich die Punkte per Button.

Spiel speichern

Autosaves werden automatisch erzeugt. Quicksaves lassen sich per Taste erstellen. Beim regulären Speichern über das Spielmenü ist es möglich, eine kurze Notiz zu jedem Speicherpunkt zu hinterlegen, die beim Laden im Infobereich angezeigt wird.

Demo-Player

Der Demoplayer zweigt zunächst einen Baum mit allen Spielständen an. Durch das anklicken des gewünschten Endpunktes, wird dieser geladen.

Im Player selbst befindet sich oben die normale Ansicht (ohne Menüs) und unten ein Player-Interface. Dieser beinhaltet alle wichtigen Buttons. Auf der Fortschritts-Leiste sind neben dem aktuellen Positionsmarker noch alle Speicherpunkte hervorgehoben. Möchte man zu einem Punkt springen, der kein Dump enthält, so erscheint in der Bildchirmmitte ein Fortschrittsfenster das zeigt, wie weit das Log vom letzten Dump bis zu diesem Punkt schon interpretiert wurde.

Technik

Log

Der Spielverlauf wird gepuffert in Echtzeit mitprotokolliert. Die Log-Datei soll ca. alle 5-10 Sekunden aktuallisiert werden, um die Festplatte zu entlasten. Solange das Spiel noch läuft, werden auch ablaufrelevante Informationen und Debugging-Infos mitgeschrieben. Dies hat den Vorteil, dass man im Falle eines Absturzes das Log an das Team senden kann, damit eine einfache Fehlerbehebung möglich ist. Sobald man den Spielstand speichert werden die Debugging-Infos entfernt. Übrig bleiben alle Spielrelevanten Informationen.

Ein Log umfasst jeweils die Periode vom Spielstart bzw. vom letzten Speicherpunkt bis zum nächsten Speicherpunkt. Nach jedem Speicherpunkt wird ein neues Log begonnen.

Personal tools