1275 подписчиков
Упаковщик - это вспомогательный софт, который позволяет взять ресурсы, которые будут использоваться приложением (в нашем случае игрой) и, как понятно из определения, сложить в один или несколько файлов.
Любое приложение, а особенно игра, имеет некоторое количество внешних ресурсов (зависимостей): звук, картинки, разметки для карт или меню, текстуры и многое другое.
Например, куда удобнее часть параметров игры вынести во внешние настройки, нежели держать внутри приложения и пересобирать исполняемый файл каждый раз, как потребовалось что-то немного изменить.
Именно по этой причине, упаковщик - это не совсем приложения типа "бери больше - кидай дальше" - это довольно умный такой обработчик, который позволяет правильно обработать входные данные и правильно их сохранить для дальнейшего использования.
Каждому упаковщику - соответствует распаковщик. Это как ключ и замок. Распаковщик должен уметь развернуть всё то, что упаковщик свернул и не только развернуть, но и суметь предоставить эти ресурсы в нужном виде, в нужное время в нужном месте.
Предположим, было упаковано видео (для воспроизведения во время какой-то заставки) и видео это довольно внушительного объёма (загрузить целиком в память не представляется возможным). Вот тут распаковщик должен уметь не просто выгрузить данные в память, а правильно и попакетно считать их из файла и предоставить для воспроизведения (аналог потокового видео).
Как можно понять, тема упаковщиков и распаковщиков - довольно непростая. В настоящий момент занимаюсь, как раз, упаковщиком. Должен заметить, подводных камней там предостаточно.
1 минута
20 января 2023