Стиснення збереження даних гри


9

Я пишу гру, в якій потрібно зберегти багато детальних даних (точних траєкторій деяких сутностей) у зовнішній файл. Я хочу заощадити простір диска і пропускну здатність, стиснувши його, але я ніколи цього не робив, тому не знаю, чи є бажаний спосіб зробити це.

Звичайно стискання-декомпресія не повинна надто впливати на швидкість гри.


1
Якою мовою ви користуєтесь?
Річард Марскелл - Дракір

Відповіді:


8

Бібліотека zlib має прив'язки для більшості мов програмування, і це досить швидко. Однак вам слід порівняти різні алгоритми комперсії, оскільки один алгоритм може досягти кращих показників стиснення для вашого типу даних, ніж для загального випадку.


1

Один, можливо, крайній спосіб стиснення даних - це запис лише кроків / входів, які використовуються для їх створення. Щось на зразок того, що робить ModNation Racer (проклинайте ті тривалі часи завантаження, коли він створює трек). (Google для відео редактора треків у ModNation Racer).

тобто якщо я зберігав якусь місцевість, я б зберігав усі маніпуляції, починаючи з рівнинної рівнини. тобто застосуйте тут кисть у формі вулкана з цією силою. З цією силою застосуйте операцію згладжування місцевості над цією ділянкою. Додайте сюди мій попередньо визначений об’єкт. Використання кривих, що нагадують безьє, з "ключами кадрів", щоб побудувати всю трасу / шлях польоту / будь-яку іншу.

Багато інших ігор роблять подібні речі не просто для завантаження рівня, але і для гри, роблячи гру детермінованою, надсилаючи лише гравці (я думаю, що PixelJunk Shooter 2 робить це).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.