Game yang dikompresi menyimpan data

9

Saya sedang menulis permainan yang perlu menyimpan banyak data terperinci (lintasan yang tepat dari beberapa entitas) ke file eksternal. Saya ingin menghemat ruang drive dan bandwidth dengan mengompresnya, tetapi saya belum pernah melakukan ini, jadi saya tidak tahu apakah ada cara yang disukai untuk melakukannya.

Tentu saja kompresi-dekompresi seharusnya tidak mempengaruhi kecepatan permainan terlalu banyak.

Marco Giancotti
sumber
1
Bahasa apa yang Anda gunakan?
Richard Marskell - Drackir

Jawaban:

8

The zlib perpustakaan memiliki binding untuk kebanyakan bahasa pemrograman, dan cukup cepat. Namun, Anda harus membandingkan berbagai algoritma comperssion, karena salah satu algoritma mungkin mencapai tingkat kompresi yang lebih baik pada Anda jenis data dari pada kasus umum.

Raphael R.
sumber
1

Satu, mungkin cara ekstrem mengompresi data adalah merekam hanya langkah / input yang digunakan untuk membuatnya. Sesuatu seperti apa yang dilakukan ModNation Racer (kutukan waktu pemuatan yang lama itu saat menciptakan kembali trek). (Google untuk video editor trek di ModNation Racer).

yaitu jika saya menyimpan beberapa medan, saya akan menyimpan semua manipulasi mulai dari dataran datar. yaitu menerapkan sikat berbentuk gunung berapi dengan kekuatan ini, di sini. Terapkan operasi perataan medan di area ini, dengan gaya ini. Tambahkan objek yang sudah saya tentukan di sini. Menggunakan kurva seperti kurva bezier dengan 'key-frame' untuk membangun seluruh jalur / jalur penerbangan / apa pun.

Banyak game lain melakukan hal semacam ini tidak hanya untuk pemuatan level, tetapi juga untuk gameplay, dengan membuat game menjadi deterministik, hanya mengirimkan input pemain (saya pikir PixelJunk Shooter 2 melakukan ini).

George Duckett
sumber