Komprimieren von Spielspeicherdaten


9

Ich schreibe ein Spiel, das viele detaillierte Daten (genaue Flugbahnen einiger Entitäten) in einer externen Datei speichern muss. Ich möchte Speicherplatz und Bandbreite durch Komprimieren sparen, habe dies jedoch noch nie getan. Daher weiß ich nicht, ob es einen bevorzugten Weg gibt, dies zu tun.

Natürlich sollte die Komprimierung-Dekomprimierung die Geschwindigkeit des Spiels nicht zu sehr beeinflussen.


1
Welche Sprache benutzt du?
Richard Marskell - Drackir

Antworten:


8

Die zlib- Bibliothek enthält Bindungen für die meisten Programmiersprachen und ist recht schnell. Sie sollten jedoch verschiedene Kompensationsalgorithmen vergleichen, da ein Algorithmus möglicherweise bessere Komprimierungsraten für Ihre Art von Daten erzielt als im allgemeinen Fall.


1

Eine möglicherweise extreme Methode zum Komprimieren von Daten besteht darin, nur die Schritte / Eingaben aufzuzeichnen, die zum Erstellen der Daten verwendet wurden. So etwas wie das, was ModNation Racer macht (verfluche diese langen Ladezeiten, während es die Strecke neu erstellt). (Google für Videos des Track Editors in ModNation Racer).

dh wenn ich etwas Gelände speichern würde, würde ich alle Manipulationen ausgehend von einer flachen Ebene speichern. dh hier mit dieser Kraft den vulkanförmigen Pinsel auftragen. Wenden Sie mit dieser Kraft die Geländeglättungsoperation auf diesen Bereich an. Fügen Sie hier mein vordefiniertes Objekt hinzu. Verwenden von bezierkurvenähnlichen Kurven mit 'Keyframes', um eine gesamte Spur / Flugbahn / was auch immer zu konstruieren.

Viele andere Spiele tun dies nicht nur zum Laden von Levels, sondern auch für das Gameplay, indem sie das Spiel deterministisch machen und nur Spielereingaben senden (ich denke, PixelJunk Shooter 2 tut dies).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.