什么占据了视频游戏的大部分存储空间?

问题描述

我最近很好奇为什么文本/代码似乎占用的存储空间如此之少,而视频游戏应用程序的大小却是巨大的。例如,像 Warzone 这样的游戏超过 100 Gb。

链接以查看地图有多大:https://www.gamesatlas.com/cod-modern-warfare/guides/call-of-duty-warzone-map-all-cod-battle-royale-locations

我做了一些研究,认为这与电子游戏中创建的复杂景观有关。这些似乎不是开发人员编写的代码行,而是为您的游戏运行创建某种 3D 环境。

Windows 或其他操作系统怎么样?下载的代码或正在下载的数据是否有完整的存储“权重”以完成应用程序?

如果大部分是代码,那么那些庞大的组织是如何编写这么多行代码来占用这么多存储空间的

解决方法

这取决于游戏。 对于 AAA 级游戏,我认为大部分是二进制数据,如纹理、模型、媒体(如视频、电影、音频)。 然后你就有了你的游戏的打包方式和很多依赖项,比如 C Redistribuable、游戏引擎、物理引擎、库等......虽然其中许多没有使用,但它们可能仍然打包在游戏中。 对于像 Minecraft 这样的一些“独立”游戏,我不会感到惊讶的是代码占用了大部分空间(或者我猜是音频?)。请注意,地图也可以比游戏大... 您可以做的是使用 Windirstats 之类的工具来检查发生了什么,但它不会找到文件夹外的依赖项。

对于代码库,我猜它主要通过游戏引擎实现自动化。

这是流放柯南的一个例子: Conan exile space

所以主要是纹理数据(GraniteSDK),游戏引擎文件115MB,可执行文件100MB(注意是Battleye反作弊打包,+游戏服务器版)。视频是 500MO ...

另一个 Minecraft 示例:Minecraft space

主要是纹理/声音数据(与我的预期相反)。

比如说,Chrome 怎么样? enter image description here 解释:我不知道:D。

最后一个:enter image description here enter image description here Python 本身并不是很大。但是所有的依赖项,它们的依赖项(dll 等)最终都非常大。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...