不是真的。
(大型)游戏开发过程中会产生哪些数据?大概可以分成几类。
各种文档和参考资料
包括设计文档,技术文档,美术文档,项目管理文档,测试文档,声音文档,QA文档,等等。基本上公司每个部门都会维护一套根据自己需求而专门制定的文档,图片,视频,音频等数据。
文档大小根据内容而定,严格来说这类数据并不属于游戏数据。
这类数据的存储方式根据公司运作而异,常见的有:
- IT部门搭建的内部共享硬盘
- 云存储服务,比如微软的OneNote,Google Docs,Google Drive等
- 项目管理服务,如JIRA
- 公司内部网络服务
源文件
源文件一般指第一方或第三方用来产生“起始数据”的软件所产生的数据,比较常见的有:
- Maya,3ds Max,Blender,产生模型,动画,特效,许多游戏公司也使用这些软件做一些关卡编辑
- Houdini,做各种simulation
- 第一方的关卡编辑器,描述关卡
- 第一方的特效编辑器,描述特效
- Photoshop和Substance,产生贴图
- 第一方的材质编辑器,描述材质
- 通用的音频音效录制软件
- 通用的视频录制编辑软件
- 通用的颜色调整软件
- IDE和代码编辑器,产生代码,脚本和Shader
- 第一方或第三方UI编辑器,描述UI
可以举的例子很多,之所以称这类文件为源文件,是因为这类文件是整个引擎数据流的起点,最常见的生产方法是手动编辑或程序生成。
这类文件的大小和格式不一,一个大型Maya文件可以达到上百MB,一张贴图可以轻松达到几十MB,而一个描述关卡内容的XML文件可能只有几kB。
这类文件的存储方式常见的有:
- 各种版本控制软件,比如游戏公司里最常见的Perforce
- IT部门搭建的内部共享硬盘
中间文件
源文件仅仅是引擎数据流的起点,这类文件往往对于内容的描述过于通用,需要被进一步解释,因此无法直接被使用在游戏内,原因有几点:
- 源代码必须经过编译成为机器语言
- 过多冗余数据
- 数据格式和排列不够优化
- 文本文件必须被翻译二进制格式
因为这些原因,游戏引擎接下来要对源文件进行大量且漫长的数据转换工作,在转换过程中产生的各种过度数据被统称为中间文件。
中间文件的格式,大小,存储方式,各大工作室并没有一个统一的做法,因为这个完全是由自己独特的需求和工序而定,自定义程度非常高,简单说说就是需要解决以下几点:
- 如何加快中间文件的处理过程
- 如何通过某种自定义的缓存服务来存储已经生成,并且不需要重复生成的中间文件
- 如何备份中间文件,以防数据丢失或者需要回溯到旧版本
中间文件的产生速度和体量是惊人的,一个素材在开发过程中起码要被处理几千次,每个素材每次被处理都会产生几十,成百,上千个中间文件,如果所有这些都计算在内的话,一个游戏的数据流量起码有几百上千TB。
中间文件的常见存储方式有:
- 不存储,每次处理在运行时重复生成
- IT部门搭建的内部共享硬盘
- 本地硬盘
- 某种自定义的缓存服务
游戏内文件
源文件经过中间文件的层层处理,最终会成为游戏内使用的二进制文件,通常这种二进制格式被称为游戏内素材。游戏内文件某部分是经过或多或少压缩的,比如:
- 动画数据被压缩
- 对贴图数据进行对GPU友善的Block Compression(有损压缩)
- 一些gameplay和渲染数据会进行少量压缩
- 对视频音频进行某种通用格式的压缩
但值得注意的是,这种压缩对减少游戏体量的帮助并不大,大部分情况下,游戏内文件只是源文件砍去冗余数据,重新排列组合,再经过简单压缩后被转换成和源文件对应的二进制文件。
为什么不选择引擎内解压缩呢?原因很简单,因为引擎内解压缩需要耗费计算时间,大部分情况下游戏追求效率,不允许在这方面耗费过多计算能力。
至于整个游戏的素材,基本上就是所有游戏内文件连接成的一个巨大二进制文件。在大型游戏中,这个最后连接成的二进制文件一般体量在40GB到100GB,不可能达到20TB。
游戏内文件的存储方式有:
- IT部门搭建的内部共享硬盘
- 某种自定义的文件服务器
装盘
最后就是把所有东西打包装盘了,在装盘过程中会进行打包压缩,这个压缩率可以达到40%-60%,举个例子假如装盘前你的游戏达到90GB,装盘后可能会有50GB左右,家用机在读取的时候会进行硬件解压缩。
当然也会出现游戏过大导致无法塞进整张光盘的情况,这样剩余的(关卡)内容只能通过第二张光盘或者额外下载的方式了。
总的来说,虽然游戏开发中产生的数据流体量巨大,但其实真正算作游戏内容的,只有最后一类,那就是被处理过的二进制游戏内文件。
详细讨论可以非常深入,也并非本篇回答的初衷,就聊到这吧。
来源:知乎 www.zhihu.com
作者:知乎用户(登录查看详情)
【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载
此问题还有 116 个回答,查看全部。
延伸阅读:
什么是实时光线追踪技术?它可能出现在当前的次世代主机上吗?
在游戏中,你见过哪些富有创意的技能?