rpgviewer
或许你经常见到某些游戏安装的时候会拷贝无数小文件到你的硬盘,而某些游戏只有若干个大块头的数据文件。我们姑且称这些大块头为“档案文件”(Archive或者Package)。它里面包含了成千上万个小文件。
把小文件打包成一个单一的档案文件有若干优点。
首先,类似于我们常用的zip和rar格式,压缩打包之后,可以大大降低占用的磁盘空间。即使不进行压缩,打包之后也便于管理。
其次,打包之后可以简化游戏程序访问资源文件的步骤。我们可以直接通过ID,而不是文件名来标示文件
最后,打包在一定程度上可以提高用户提取游戏资源的成本。
比如加密文件头、使用自己设计的加密或者压缩算法处理数据等等。当然,类似的保护都是脆弱的。
一个好的游戏,应该通过提供开放的接口,使得用户能够定制游戏,甚至制作出不逊于原作的MOD,进而提高游戏本身的耐玩度,扩大收益。而不是局限在把自己的东西包裹的严严实实。
在这一点上,很多日韩的游戏与欧美游戏比较起来,实在相差甚远。
从这十几年来,不同游戏档案文件的格式来看,大致经历了以下三个阶段:
1、DOS时代
简单的把若干个小文件按顺序组合在一起。在档案文件的文件头只纪录每个文件在档案中的偏移地址等信息。
一般不会纪录文件名信息,程序中直接通过序号访问文件
2、windows单机时代
随着硬盘容量的扩展,档案文件格式也有了多样化的发展。
有的在档案中加入了文件名,程序中也利用文件名(或者文件名的Hash)进行访问。
有的开始模拟文件系统,提供层次目录结构。
档案文件中也开始包含越来越多的内容。
不过此时的游戏数据大多是静态的,并不需要增删或者更新档案中的数据。如果确实需要更新(比如出补丁包或者资料片),那么通常的做法是提供另外一个文件,然后优先从该文件读取即可。
3、网游时代
因为网游必要提供对文件更新的良好支持,此时的档案文件的内容不再是固定不变。因此设计一个灵活的,便于替换、新增文件的格式显得更为重要。
于是我们看到,广泛使用的zip格式成为不少网游的选择。其它的档案格式通常会将存放档案中每个文件信息的内容从原来的文件头移动到文件末尾,以降低新增文件时需要改动的数据量
相关阅读
除法是我们小学都会的,就是下面这个: 相信上过小学的人都知道,除法一步步是怎么除出来的,除法的结果是商。除法的几个变量是除数,被除
前言英语学习的过程,有的时候可能是需要度过一段平淡期的,有的时候,学一样东西时间长了,如果不能注入新鲜元素的话,便很快成为形式化的
概述 最近想要通过Date类的getXXX方法自定义格式化时间字符串,结果发现结果和预想的不同,主要问题在getMonth和getDay两个接口上。
1:全集团统一使用一套会计科目表:不论是控股公司还是下级单位都共享一套完整的会计科目表,各家公司在完整的会计科目表里选择自己需
一直在忙项目,终于有时间重新来总结下css。 一组嵌套的盒子,子盒子和父盒子之间想设置上边距,不能用margin-top设置。因为子盒子