Oyun kaydetme verilerini sıkıştırma


9

Bir çok ayrıntılı veriyi (bazı varlıkların tam yörüngeleri) harici bir dosyaya kaydetmesi gereken bir oyun yazıyorum. Sıkıştırarak sürücü alanından ve bant genişliğinden tasarruf etmek istiyorum, ancak bunu hiç yapmadım, bu yüzden bunu yapmanın tercih edilen bir yolu olup olmadığını bilmiyorum.

Elbette sıkıştırma-dekompresyon oyunun hızını çok fazla etkilememelidir.


1
Hangi dili kullanıyorsun
Richard Marskell - Drackir

Yanıtlar:


8

Zlib kütüphanesi çoğu programlama dilleri için bağlantıları vardır ve oldukça hızlıdır. Bir algoritma daha iyi sıkıştırma oranları elde edebilir, çünkü Ancak, çeşitli comperssion algoritmaları karşılaştırmak gerekir sizin genel durumda daha veri türü.


1

Verileri sıkıştırmanın muhtemelen en uç noktalarından biri, yalnızca verileri oluşturmak için kullanılan adımları / girişleri kaydetmektir. ModNation Racer'ın yaptığı gibi bir şey (parçayı yeniden oluştururken bu uzun yükleme sürelerini lanetleyin). (ModNation Racer'daki parça düzenleyicinin videoları için Google).

yani eğer bir araziyi depolayacak olsaydım, düz bir ovadan başlayarak tüm manipülasyonları saklardım. yani volkan şeklindeki fırçayı bu kuvvetle uygulayın. Arazi düzeltme işlemini bu kuvvetle bu alana uygulayın. Önceden tanımlanmış nesneyi buraya ekle. Tüm pisti / uçuş yolunu / her şeyi oluşturmak için 'anahtar karelere' sahip çerçeve eğrisi benzeri eğriler kullanma.

Diğer birçok oyun sadece seviye yükleme için değil, aynı zamanda oyun için de, oyunu belirleyici yaparak, sadece oyuncu girişleri göndererek bu tür bir şey yapar (sanırım PixelJunk Shooter 2 bunu yapar).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.