KeyFC欢迎致辞,点击播放
资源、介绍、历史、Q群等新人必读
KeyFC 社区总索引
如果你找到这个笔记本,请把它邮寄给我们的回忆
KeyFC 漂流瓶传递活动 Since 2011
 

[技术贴] AVG系列引擎研究进展... >_<

[ 12037 查看 / 28 回复 ]

寒...花了一个下午,总算写出了AVG系列的脚本压缩引擎,经过测试发现.....好像比原脚本压缩率高....)#(*$^)@#(%^

200K的文件压缩以后,比原有的压缩后的脚本还小400字节左右...不过解压后文件和原来的倒是完全一样... 不知道是我的引擎放宽了一些限制还是原引擎没有发挥足够的效果... ?_?

日文初回版 (带语音)
[注: 这个明显被插入语音的程序"偷懒了" -_-]
解压后脚本   SEEN180.TXT 298,971字节
解压前原脚本  SEEN180.PAK 336,348字节
重新打包后脚本 Text.PAK   109,666字节 (-226,682字节)

中文版 (使用 日文初回版 带语音)
解压后脚本   SEEN180.TXT 290,977字节
解压前原脚本  SEEN180.PAK 108,641字节
重新打包后脚本 Text.PAK   108,227字节 (-414字节)

日文初回版 (原版)
解压后脚本   SEEN180.TXT 286,251字节
解压前原脚本  SEEN180.PAK 105,251字节
重新打包后脚本 Text.PAK   105,238字节 (-13字节)

日文全年龄版 (原版)
[注: 这个版本大小最接近]
解压后脚本   SEEN180.TXT 286,251字节
解压前原脚本  SEEN180.PAK 105,256字节
重新打包后脚本 Text.PAK   105,244字节 (-12字节)

稍后再写一个整合打包程序,把所有的脚本解出来后重新打包,扔进AVG引擎,看看是否还能正常工作...
本主题由 版主 kameu03 于 2010/9/14 19:57:06 执行 提升/下沉主题 操作
分享 转发
飛べない翼に、意味はあるんでしょうか?
TOP

回复:[技术贴] AVG系列引擎研究进展... >_<

Visual Arts的AVG系统目前只有AVG32和AVG2K两类系统:
当然每个系统都有一些小的分支,比如AVG3216和AVG3217,(M)CI和(D)irectSound版本,都是属于AVG32类;
AVG2000、Reallive是属于AVG2K类;
有的游戏也有稍作改动,比如Planetaraian用的Kinetic,就是Reallive+加/解密引擎。

两种系统的脚本包格式稍有不同,AVG2K系统的包多了两层加密功能,不过是静态加密,已经被破解。
(据说....Kinetic好像转成了动态加密了... >_<)

但是两个系统的底层压缩解压都是同一个算法(是LZ算法的一个分支)。此算法采用活动整合字典,理论最大压缩比为8:1,最小压缩比为8:9。
对于文本和EXE文件有良好的压缩率(一般在2:1 - 4:1之间);
不过对于Entropy较高的文件则明显力不从心,生成的压缩文件会比原文件大... >_<

因此此算法不适合用来打包所有文件,目前确定使用范围为: 脚本文件/PDT文件/G00文件
飛べない翼に、意味はあるんでしょうか?
TOP

回复:[技术贴] AVG系列引擎研究进展... >_<

One用的是什么引擎? AVG32么,如果是的话,应该用我的AVG32脚本阅读器可以读出(尚未确认...)

http://www.keyfc.net/bbs/disp.asp?titleid=5978

最后两份,不是奶油蛋糕,也没有漂亮的图片,不要都去抢,确定自己有确确实实需要的人去买... >_<
这年头这里的人都有盲目抢购的倾向...难道是KP太便宜了?
飛べない翼に、意味はあるんでしょうか?
TOP

回复:[技术贴] AVG系列引擎研究进展... >_<

赫赫,要做其实不难,主要是耗时间
曾经用脚本语言做了一个执行脚本的虚拟机,用脚本执行脚本...(在用我的mIRC音乐FTP自助界面的人就知道我说的是什么)
高级脚本写起来很爽,非常接近自然语言...

顺便回楼上几位: 我有计划做AVG脚本编辑器,可以修改脚本的任何细节(文字显示,声音播放,图片特效),而且为了能够达到所见即所得,也准备内建一个模拟引擎,这样就可以即时看到所做的一切修改的效果了。

也就是说,可以自编自导一个新的AVG,也可以修改原游戏以达到KUSO的目的。(本人不为任何人使用该软件产生的一切后果负责...-_-|||)
飛べない翼に、意味はあるんでしょうか?
TOP

回复:[技术贴] AVG系列引擎研究进展... >_<

顺便说一句....其实AVG32(准)全兼容的引擎已经有人写出来了

vAVG32 是基础引擎,在其上发展出了Carbon版Mac OS X引擎和各种PDA,Palm引擎;
xKanon 是另一个独立的引擎,与vAVG32的关系未知。这个是运行于Unix/Linux系统上的AVG32引擎。

AVG2K的引擎目前正在开发中,目标系统Linux,好像Clannad已经可以运行了 (至少看到了游戏开始画面的截屏)
飛べない翼に、意味はあるんでしょうか?
TOP

回复:[技术贴] AVG系列引擎研究进展... >_<

证明热爱编程的Fan正在增多,不是好事么... 还有,楼上是在灌水?
飛べない翼に、意味はあるんでしょうか?
TOP

回复:[技术贴] AVG系列引擎研究进展... >_<

算法明显简单,写出来就是半个小时的事

但是要将其实用化就必须要对其进行OOP封装
比如我现在的这个压缩引擎对象,可以使用两种方式压缩: 块式和流式, 分别适用于文件压缩和网络传输

而且算法的效率也是一个问题,这就涉及到循环和变量的优化。
我的新版本的引擎就是因为简化了两三行语句使得整个压缩过程有了20%-200%的速度提升。
而且我在代码的范围检查部分使用了编译器指令,在理想情况下(也就是说你可以保证输入数据完全合法),可以关掉范围检查部分来编译,这样得到的代码速度还会快10%左右...
飛べない翼に、意味はあるんでしょうか?
TOP