Compressione dei dati di salvataggio del gioco


9

Sto scrivendo un gioco che deve salvare molti dati dettagliati (traiettorie esatte di alcune entità) su un file esterno. Voglio risparmiare spazio su disco e larghezza di banda comprimendolo, ma non l'ho mai fatto, quindi non so se esiste un modo preferito per farlo.

Naturalmente la compressione-decompressione non dovrebbe influenzare troppo la velocità del gioco.


1
Che lingua stai usando?
Richard Marskell - Drackir,

Risposte:


8

La libreria zlib ha collegamenti per la maggior parte dei linguaggi di programmazione ed è abbastanza veloce. Tuttavia, dovresti confrontare vari algoritmi di compersione, perché un algoritmo può ottenere tassi di compressione migliori sul tuo tipo di dati rispetto al caso generale.


1

Un modo possibilmente estremo di comprimere i dati è quello di registrare solo i passaggi / input utilizzati per crearli. Qualcosa di simile a quello che fa ModNation Racer (maledici quei lunghi tempi di caricamento mentre ricrea la traccia). (Google per i video dell'editor delle tracce in ModNation Racer).

cioè se stavo immagazzinando un po 'di terreno, immagazzinerei tutte le manipolazioni a partire da una pianura piatta. cioè applicare il pennello a forma di vulcano con questa forza, qui. Applica l'operazione di livellamento del terreno su quest'area, con questa forza. Aggiungi qui il mio oggetto predefinito. Utilizzo di curve simili a curve di Bezier con "key frame" per costruire un'intera traccia / percorso di volo / qualunque cosa.

Molti altri giochi fanno questo tipo di cose non solo per il caricamento di livello, ma anche per il gameplay, rendendo il gioco deterministico, inviando solo input per i giocatori (penso che PixelJunk Shooter 2 lo faccia).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.