首页 > Dota的录像文件中存的是什么样的数据可以那么小?

Dota的录像文件中存的是什么样的数据可以那么小?

很长的一局游戏,录像只有几KB,不可思议。


一堆代码。人物的行走路线,攻击步骤而已。所以只有dota专用播放器才能看。你用WMP看看试试。


作为曾经存在的网站“FCHOME.org 红白机爱好者之家”(?-2010)的一位成员,我来举个类似的例子。

我贴一个FCEUX红白机模拟器所录制的实际的游戏录像:(节选。为了展示效果,重复的行一概合并为一行)

version 3
emuVersion 22010
rerecordCount 0
palFlag 0
romFilename Zanac (U) [!]
romChecksum base64:BJ4/U4hOpWUNHb9DdR6pZQ==
guid 079315FF-2853-926A-F6C0-0208E53193D0
fourscore 0
microphone 0
port0 1
port1 0
port2 0
FDS 0
NewPPU 0
|0|........|||
|0|....T...|||
|0|........|||
|0|......BA|||
|0|.LD...BA|||
|0|..D...BA|||

其实几百KB的录像文件,在本质上就是这种操作指令的集合。这个录像中以帧为单位,从RESET开始记录了每一个时刻红白机手柄8个按键按下与否的情况。

播放录像,不过是命令模拟器原样启动游戏,把我的手柄输入原样去重复一遍。请特别注意emuVersionromChecksum这两行,指定了录制录像时使用的模拟器版本和ROM。

如果拿不出原样的游戏ROM和相同版本的模拟器,录像文件就会要么播放不出来,要么在中途出现错误——这个错误一般表现为失步、错帧,效果就是录制时活着通关,可播放时就半路撞死。

dota作为PC游戏,当然会有更加复杂的地图版本、随机数种子、网络延迟、小兵AI等附加信息。其实也有可能在录像策略上,反过来从结果入手,记录每一个单位在本次游戏中的实际表现,而不去管什么样的玩家操作产生了这些表现……但在本质上,录像文件也是这种数据集合这一点肯定是不会错的。

【热门文章】
【热门文章】