» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


 20 12
发新话题
打印

[求助] 我一直不明白游戏是如何记录流程录像信息的

比如王牌空战的回放,就是原流程回放,一点不差。
我有点好奇回放里记录的是哪些数据,是玩家本身的操作?还是包括AI的动作都记录下来?
如果只记录玩家操作,那就要求游戏AI不能有什么随机的选择,完全相同的输入必须有完全相同的输出
如果是记录所有运动数据的信息,那好像有点大

赛车类这么干倒是没问题,但是模拟飞行的活动单位狂多,算上导弹至少也上百
对PS2来说或许没什么,但是PS的王牌空战3就有全流程回放了,这一场仗的数据怎么也比PS3的GT5一次比赛要多吧


TOP

一直认为是记录下玩家和AI的操作



TOP

每单位时间记录瞬时状态机数据和移动信息就行了啊,剩下的交还AI流程。。。

一个玩家角色对应的单次更新数据至少包含位置,移动,状态机参数等,理论上含有所有非机控信息(类似随机数,玩家随机操作等不可预知因素)就够了,AI只需要获取状态机切换的点就行了,包含随机数的就把随机数存下来。。。

初始化的过程需要的记录相对多,包括镜头设置,角色基础属性,要求细的话还包括角色动画播放进度等。。。

。。。其实数据量不大的,优化好点更省。。。


TOP

当前计算机技术下所谓的随机数都是伪随机数,也就是说只要初始触发环境条件完全一样,那么接下来生成的随机数序列都是完全一致的,所以回放信息只要记下初始环境和过程按键操作就足够了,模拟器的录像回放就是这个原理。同理,比如FF12调时间大法刷开箱子成功率也是一样的道理,那个时间就是随机数序列触发种子。

TOP

只要直接记录生成后的随机数的数值,跳过记录生成随机数的过程就行了

TOP

随机数是伪随机的。
只要记录一个种子就ok。

TOP

不懂装懂, 什么叫伪随机,胡说八道,举个最简单的例子,war3每局游戏loading的时候就会生成一个随机数字,这个就是随机的,然后整个游戏的公式都是基于这个随机数字的,所以就不需要游戏记录每个触发的随机数了,所以游戏的rep都可以做得很小,只需要知道初始的那个随机数或者数串然后再加上游戏的人的输入记录就行了。
本帖最近评分记录

TOP

posted by wap, platform: UC
引用:
原帖由 @AngelKillerr  于 2011-11-10 11:13 发表
不懂装懂, 什么叫伪随机,胡说八道,举个最简单的例子,war3每局游戏loading的时候就会生成一个随机数字,这个就是随机的,然后整个游戏的公式都是基于这个随机数字的,所以就不需要游戏记录每个触发的随机数了,所 ...
前边几楼跟您说的不是一个意思吗?

TOP

引用:
原帖由 AngelKillerr 于 2011-11-10 11:13 发表
不懂装懂, 什么叫伪随机,胡说八道,举个最简单的例子,war3每局游戏loading的时候就会生成一个随机数字,这个就是随机的,然后整个游戏的公式都是基于这个随机数字的,所以就不需要游戏记录每个触发的随机数了,所 ...
电子计算机不凭借其他物理装置的话,根本没法生成随机数

TOP

posted by wap, platform: Nokia (E72)

可以通过网络获取真的随机数

TOP

posted by wap, platform: iPhone

有种叫log的东西

TOP

posted by wap, platform: UC

FF12那个调时钟造随机数刷三神器在天幻有详细教程

TOP

引用:
原帖由 大头木 于 2011-11-10 15:36 发表
posted by wap, platform: Nokia (E72)

可以通过网络获取真的随机数
这个算外部了,不是CPU计算出,而是通过线缆的物理性能,或其他。。

TOP

posted by wap, platform: iPad

真随机数还真不能随便搞一个外部发生机制,还得考虑分布。。

可以看看random.org这个网站的介绍

TOP

赛车也有

TOP

 20 12
发新话题
     
官方公众号及微博