当前位置: 首页 > windows应用技巧 > 正文

游戏的极限压缩–常见的高压版

以前的高压版游戏,都是要经过无数遍的解压(当然还包括了文件格式转换,比如图

片格式转换(jpg->bmp),声音格式转换(ogg->mp3,ogg->wav)….

随着游戏加密技术的发展,现在的游戏可没以前那么容易解开了,资源也没那么容易搞定,不过压缩技术也在进

目前市面上主流的高压版游戏都是经过多层压缩的(当然以前也是)..

首先准备的软件

1:Precomp (只需要这两个文件precomp.exe,packjpg_dll.dll)

2:FreeArc(其实也就是只需要个arc.exe)

打包步骤:

1:使用一个压缩格式对需要压缩的文件(通常就是game啦)进行打包,注意这里的打包指的是无压缩打包

就是说使用压缩软件把分散的游戏文件打包成一个单个的文件,你可以7za,winzip,winrar,freearc都可以

常见的集中于7za打包和freearc打包,个人倾向于freearc打包,

命令行指令:

arc a -m0 [打包后的文件名].arc [需要打包的文件夹完整|相对路径]

-m0:指的是无压缩量打包,详见freearc的文档

例如:arc a -m0 k1.arc “e:\game” 即将e盘的game文件夹打包成一个单独的文件k1.arc

打完后的文件大小应该和源文件夹大小一致!

2:使用precomp对打包文件进行预压缩(啥叫预压缩呢,简单的说就是分析文件,将已经压缩的数据流,解压出

来,便于真正压缩时能获得更高的压缩量,所以预压缩后文件会变大,甚至会变成原来的2倍大)

命令行指令:

precomp.exe -slow -v k1.arc

-slow:尽量分析数据流多释放些数据

-v:显示执行信息(不想看就省略)

k1.arc:当然就是刚才打包的文件咯

执行后生成k1.pcf文件(这就是预压缩后的实际文件)

3:使用freearc对与压缩文件进行压缩,当然尽量压小些的话,压缩参数就要高些,同时压缩时间也越长

命令行指令:

arc a -mx “game.arc” “k1.pcf”

a:添加压缩包

-mx:和前面的-m0是同一种参数,mx指最大压缩量,压缩和解压时使用的内存最大

(经过反复的测试,发现机器的内存值越大,压缩量越高,所以在支持4G以上内存的64位OS上压缩量可以达到最

大,当然在2g内存下使用一些特殊的参数也能提高一些压缩量,我的参数arc a -mlzma:767m -di -lc-

–cache10m -i2 “game.arc” “k1.pcf”        -di:显示压缩信息,-i2:di的辅助参数,显示更多信息,-lc-最大压缩

内存使用量, -mlzma=767m 使用lzma算法的最大内存占用值,767是我在2g内存下测试的极限值,再大内存就

不够用了,大家可以根据自己机器的实际情况自行测试这个值的大小)

好了经过漫长的等待后文件就压缩好了,通常游戏中的过场动画是没什么压缩量的,所以大家经常看到游戏主

程序和动画分开下载的情况

这样的压缩结果可能比一般winrar压缩,7z压缩小的多,但是由于多层压缩,压缩时间上并没有什么优势…

所以再次向制作高压游戏的大大们致敬~辛苦了~

简单说一下解压,解压很简单了

一般写个批处理啥的,执行相关的命令即可

arc.exe x -y game.arc

x:解压

-y确认选项全选y

解出k1.pcf

precomp.exe -r k1.pcf

-r:还原预解压的文件

还原出k1.arc

arc.exe x -y k1.arc

解压完成了

也可以使用用INNO 的LZMA压缩方法

INNO 是一个安装程序制作软件 属于硬盘版制

把游戏直接压缩

如果游戏中有WAV文件

转换成了OGG格式

这样可以比原来小1/10

安装的时候转换回去

PRECOMP的预压缩软件可以把一些大文件里的BMP PNG JPG 这些图形格式按照他的编码重新编码

这样你看到的压缩出来的文件会比你原文件大很多

但是这个大很多的文件可以用7-ZIP或者WINRAR 或者FREEARC压缩的比你直接用同样的压缩原文件小

当然这样的压缩方式会使安装时间多出很多

本文固定链接: https://www.zhzx.info/archives/224 | 赵泽鑫'S Blog

该日志由 zhzx3638 于2011年08月08日发表在 windows应用技巧 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 游戏的极限压缩–常见的高压版 | 赵泽鑫'S Blog
【上一篇】
【下一篇】

游戏的极限压缩–常见的高压版:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!