O ZLIB pode ser uma boa resposta, mas se você estiver ciente das pessoas que estão abrindo seus bens, também poderá criar seu próprio formato de arquivo para armazenar seus bens, embora não seja tão difícil assim.
Aqui está como você pode fazer isso.
Está em C, mas não deve ser tão difícil de aprender, pois C # é parecido com C e C ++.
Obviamente, as pessoas que ainda possuem mais conhecimento podem pegar seus recursos, você pode adicionar pouca criptografia, se quiser, sem muito esforço.
Isso pode ser muito útil, mas apenas juntará seus arquivos. Para compressão também, você tem duas opções.
Crie todo o arquivo de recursos, compactá-lo e enviá-lo.
Este método é fácil, mas não muito bom; descompacte tudo se desejar usar apenas um recurso.
Compacte todos os recursos e adicione-os compactados ao arquivo de recurso.
Isso também é bom, você terá um pequeno aumento no tamanho ao lado do método 1, porque cada arquivo é compactado separadamente, mas é melhor se você quiser flexibilidade.
Cada método tem suas próprias desvantagens, você deve escolher sabiamente. Geralmente, se o seu jogo possui um número bastante baixo de recursos, o método 1 deve ser melhor. Se você tiver MUITOS, o método 2 deve se adequar a você, porque o tamanho de todos os recursos juntos sobrecarregará o ganho extra.
Para bibliotecas de compactação, você tem:
- O meio mais famoso, Zlib
- Aquele com a descompressão mais rápida, LZO
- A excelente taxa de compactação, 7-Zip
Eu iria com o LZO se eu quiser acesso rápido ao jogo, para que você não tenha medo de descompactar em tempo real, o 7-Zip se eu quiser que os arquivos sejam encolhidos MUITO ou o próprio Zlib, se eu quiser uma proporção e tamanho de descompressão equilibrados.
A escolha é sua: D
Ah, é claro que existem outros algoritmos para compactar dados, e você pode encontrá-los no Google .