设为首页收藏本站

八达网

 找回密码
 注册
查看: 1723|回复: 56
打印 上一主题 下一主题

[技术贴]BWCHART类软件的统计之问题与原理[作弊贴有感]

[复制链接]

65

主题

4

好友

4万

积分

版主

大元帅

Rank: 7Rank: 7Rank: 7

战队
SCI
种族
Protoss

2009年度八达十大水友

跳转到指定楼层
1
发表于 2008-1-10 23:05 |只看该作者 |倒序浏览
刚看见aystar质疑作弊的那个帖子,来科普一下。
为什么bwchart统计资源数据会出问题呢?
首先得从rep的工作原理说起。

rep只记录游戏者的操作,这是基于一种原理:游戏者的操作一旦确定,那么游戏就可以完全的被还原。

这样可以使rep保持最小的size。

但这样会出现两个常见的问题。
第1,rep无法回放。这是一个很早就很多人问的问题。如果想解决这个技术困难,必然要加大rep所占的空间,或者增加程序计算所花费的时间,而这无疑是一个浪费。
保持现有空间,即只记录操作的情况下,是无法实现回放的。试想:你知道现在的战况,战场上所有单位的布局,运动状态,正在接受的命令,等等一切静态信息,并且知道所有时间的操作指令,你想计算出上一秒钟的战争情况,这个回朔计算且不说可否实现,即使能实现,算法也必然是极困难的。
拿一个枪兵为例,现在他在某处行军,但你无法知道他上一秒是从哪个方向走过来的,而这也许要追朔到几分钟前玩家对这个枪兵的一个命令;假设他现在是20格血,你更无法知道他是怎么失去这20格血的,因为那不仅需要回朔对方玩家的攻击命令(例如,一个龙骑a向人族基地),还必须在程序里实现这个攻击判定是否是击中这个marine的原因,甚至是否并没有命令而是该marine自己走进了某炮台的射程。换句话说,也许需要从头开始演算一遍rep,之前的每个操作都可能是现在这枪兵状态的诱因。总之,这个计算是非常困难且易出错的。

第2,统计必然失准。除了星际这款程序之外,其他程序并不能外部地再现战局。因此动用其他软件对星际rep除操作之外的一些数据做测量,是很可能出现问题的。

我在附件里发上来一个非常典型的rep,统计里显示我采集了1150个气矿,但实际我根本没有修气矿(而且1150也不能被8整除,这可是初期,没有2点的气矿),并且统计中提示我升级了很多科技,还扩张了3处基地,大家看rep便知,这都是不可能的事情。

那么问题究竟是怎么回事呢?原来bwchart在计算资源的时候,是以玩家所下达的命令来计算的。

(1)升级:在制作这场rep的过程中,我制造了ba和be,并且命令他们升级。对于星际来说,他是可以判断此时我的资源是否够升级的,但bwchart由于无法模拟游戏内容,就无法记录我这时候到底有没有资源来进行这项升级。因此,他指管记录我的升级情况。
(2)资源:他在默认了我的升级状况后,认为我应当会有这些升级所相应的资源,于是显示的资源是我下达命令花费的资源,尽管我并没有花费这些资源。造兵的原理相同。
(3)扩张:bwchart认为建造一个主基地就是扩张。但是同样由于没有实现游戏的过程,他不可能判断一个主基是否被建立。我在游戏中下达了3次建立主基的命令,并且同时操作另一个scv占住要被建立主基的位置。这样该scv就会到达指定地点后提示“无法建造”。在这个过程中,玩家是没有取消建造之类的操作的,因此bwchart也就不知道这个基地到底造没造上。他默认我都造上了,因此出现了统计的错误。
(4)类似的,bwchart也不会通过统计操作知道一个单位是否被打死,一个建筑是否被摧毁,甚至一支部队是否被造出来等等这些信息,也无法计算一个单位在给定时间到底在什么位置,状态如何等等。对于你开局时让他去采矿之后一直没有动过的一个scv,他无法判断他是一直在采,还是中间被敌人击毙了,甚至被自己人击毙等等,因此他无法从这个角度来计算资源。基于这些信息的统计必然是失实的。对于任何类似的软件,必然都有这个问题。

我想说的是,这并不是bwchart的过错。因为不可能有软件(那么小的容量,并且星际受版权保护)能实现星际的真实内容,因此,无论什么软件的统计信息都只能是一种估计,只有操作这个被直接读取的量,是准确的。

回到aystar的帖子,我想说的是,可能神族在制造部队和升级时有连按制作的习惯,这样bwchart会认为你制作了许多的部队和升级,而实际上只是一些多余的按键导致的。而这样的情况下,bwchart也会认为你使用了过多的资源,导致资源统计溢出。我并不是给神族没作弊打担保,我只是说这是一种很可能的解释。

[ 本帖最后由 SCI)_Dp_R 于 2008-1-10 23:11 编辑 ]

LastReplay333.rep

65.13 KB, 下载次数: 6

3

查看全部评分

0

主题

0

好友

2万

积分

大和

初学神族

2
发表于 2008-1-10 23:06 |只看该作者
。。。沙发
回复

使用道具 举报

629

主题

0

好友

3万

积分

大和

Jim Raynor

3
发表于 2008-1-10 23:08 |只看该作者
是的,你不到100GAS去做Tank,连续按5次,BW就记录500GAS了。
3年来证明

回复

使用道具 举报

376

主题

8

好友

7万

积分

仲裁者

DON'T PANIC

4
发表于 2008-1-10 23:08 |只看该作者
  独立思考帖
回复

使用道具 举报

5

主题

0

好友

7万

积分

仲裁者

5
发表于 2008-1-10 23:10 |只看该作者
代ay回个帖子。。感谢DPR  他正在请达人研究那场REP  如果确实没作弊 AY会自己发帖认错
아주보고싶어요  ???   By、_钢琴人族○〇
回复

使用道具 举报

22

主题

0

好友

2万

积分

大和

6
发表于 2008-1-10 23:12 |只看该作者
都不好意思说自己是搞软件的了 
从来没去想rep是怎么来的.
回复

使用道具 举报

2

主题

0

好友

1万

积分

航母

7
发表于 2008-1-10 23:12 |只看该作者
很专业
回复

使用道具 举报

866

主题

22

好友

10万

积分

黑暗执政官

闻昆吾方始,知秋珉而入林

2007年度八达十大杰出青年 2008年度八达十大水友

8
发表于 2008-1-10 23:12 |只看该作者
  原理讲得很通俗。。很好懂。。
回复

使用道具 举报

1

主题

0

好友

2万

积分

大和

super pig

9
发表于 2008-1-10 23:13 |只看该作者
好的  , 很强大   DP
回复

使用道具 举报

头像被屏蔽

2

主题

0

好友

2561

积分

禁止发言

10
发表于 2008-1-10 23:13 |只看该作者
向达人学习...
回复

使用道具 举报

0

主题

0

好友

8万

积分

仲裁者

11
发表于 2008-1-10 23:14 |只看该作者
好帖!
回复

使用道具 举报

皇太子 该用户已被删除
12
发表于 2008-1-10 23:16 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

7

主题

0

好友

5万

积分

光明执政官

该怂的时候我绝对怂

13
发表于 2008-1-10 23:16 |只看该作者
好的。。。知道了
回复

使用道具 举报

202

主题

6

好友

14万

积分

黑暗执政官

战队
[B.D]=
种族
Protoss

2013年度八达十大水友 2012年度八达十大水友 2008年度八达十大水友 2007年度八达十大杰出青年

14
发表于 2008-1-10 23:21 |只看该作者
认认真真看完了
DPR大大很强大!
回复

使用道具 举报

liuyongyy 该用户已被删除
15
发表于 2008-1-10 23:21 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

0

主题

0

好友

1万

积分

航母

假的管理员

16
发表于 2008-1-10 23:22 |只看该作者
很好,太好了.
gg/hf
回复

使用道具 举报

0

主题

0

好友

8084

积分

大象

17
发表于 2008-1-10 23:24 |只看该作者
2008-1-10 23:05, 下载次数: 0
回复

使用道具 举报

godbird 该用户已被删除
18
发表于 2008-1-10 23:26 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

0

主题

0

好友

3万

积分

大和

19
发表于 2008-1-10 23:26 |只看该作者
真是及时雨!
回复

使用道具 举报

0

主题

0

好友

13

积分

小狗

20
发表于 2008-1-10 23:27 |只看该作者
真j8强大
回复

使用道具 举报

0

主题

0

好友

785

积分

龙骑士

21
发表于 2008-1-10 23:27 |只看该作者
讲的不错
Home Edition(签名效果全开)
回复

使用道具 举报

284

主题

1

好友

1万

积分

航母

欢乐2B青年

22
发表于 2008-1-10 23:27 |只看该作者
到我这还是0啊。
回复

使用道具 举报

1

主题

0

好友

3万

积分

大和

23
发表于 2008-1-10 23:29 |只看该作者
回复

使用道具 举报

0

主题

0

好友

785

积分

龙骑士

24
发表于 2008-1-10 23:31 |只看该作者
给LZ来点补充:

BWchart是用以分析记录在.rep文件里的操作的软件, 同时绘制出表明游戏进程中资源发展的图表. 软件本身有许多局限性, 因为在一个游戏中, 星际的游戏引擎只记录下游戏者的操作. 比如说, 一个SCV采了8块钱的矿送回基地并不会记录下来, 而游戏者点击一个建筑的操作则会被记录下. 所以我们不能计算出在某个特定时间某个游戏者拥有多少资源, 但是可以 计算每时每刻他花了多少资源来建造建筑/升级/兵种. 对于建筑也一样, 不能看到游戏者有多少, 但可以知道他建造了多少. 更多的细节问题请参照FAQ.

BWchart同时提供了一个简易的replay浏览器. 功能不在于确认你硬盘上的所有rep文件, 而是可以计算出无数场游戏中繁复数据的平均值. 只要选择一个rep再点击"Refresh"按钮即可. 如果你已经有了成千上万的rep文件, 请多注意(在浏览rep时会有一个类似IE的前进栏). 当你浏览rep时, 双击就可以看到详细统计表单. 点右键可获得更多功能.

从1.01G版本开始, 你将可以看到绘有所有建筑的游戏地图, 同时也可以观察整个地图并看到不同的操作发生的位置.



:什么是APM?

Actions Per Minute=每分钟操作次数(操作的总次数以秒为最小单位记录在rep文件中). 统计中除去了游戏最开始的80秒中内的操作.

Q:哪一些操作被记录在了rep文件中?

那些游戏引擎需要用来回放游戏过程的操作都比记录了下来. 象是鼠标的点击和键盘操作. 比如以下列举的这些操作都在记录中:

-点击兵或者建筑
-使兵移动或让人族的建筑飞起
-使兵攻击/停止移动/保持hold状态/巡逻
使SCV采矿
-使用魔法(包括闪电, 瘟疫, 污染等等)
-为兵编队
-升级科技
-升级兵种的防御/攻击/护盾 等等
-把口水变成地刺
-添加任何人族的附属建筑
-把菜花变成防地塔或防空塔
-所有键盘热键
-......等等

不被统计在内的操作:
-点击小地图
-点击地图但没点到任何建筑/兵种/矿点
-F2,F3,F4等键
-按了非热键的键

Q:如何解释平均APM值?

通过研究许多rep, 平均APM值可以这样理解:

50左右: 你基本上是一个菜鸟, 差不多一星期只打一次, 而且很少使用热键

100左右:你有了一定的经验并且一直在努力提高水平. 有经验但不是很优秀的.你尽可能的多使用热键. 但是要使手速进一步提高的办法是更准确更细腻的操作控制兵, 造更多兵, 更频繁的侦察, 总而言之就是在同一时间内做更多有用的操作.

150左右:你已经掌握了充分运用鼠标键盘的所有经验. 也就是说, 你已经是一个快手, 达到了理论上合理的快速. 并不表示你是优秀的, 而是说你达到了你需要达到的速度.

200及以上:你的点击和热键使用已经超过了须要值, 但是这只是令一种游戏方式. 并不表示你比一个APM150的玩家手快. 你只是重复了更多的动作, 实际上, 如果BWchart可以除去那些重复的动作, 我们可以看到那些APM达到天文数字的人的手速会降低到150左右.

以上只是一种解释APM的角度.

Q:能否显示即时的人口数目?

在图表中已经有一个人口的曲线. 但是那并不表示"即时人口", 那是总的可支配人口数(比如一颗水晶提供8个单位可支配人口). 这是因为从rep文件里只可以读到建筑和兵的建造时间, 却没有他们被消灭的时间. 所以无法得知可支配人口的减少.

Q:在星际的结尾画面看到一场游戏中造了50个marine但是BWChart里显示造了70个. 这是为什么?

rep里记载了所有操作, 包括无用的和没有实现的操作(比如没有50块, 但你一直按着P键造农民或者没有足够的人口, 但一直按Z造XX). BWChart尽可能的识别这些无用操作, 但并不能100%的剔除.

Q:在操作数目和act/min之前的小数表示什么?

那个数字代表APM值的比率, 例如A的值是1.25, 代表他比B快1.25倍; 反之B是0.75, 他就比A慢0.75倍.

Q:在Action Distribution里有一个操作叫做"0x33", 这是什么意思?

这些用16进制表示的操作是暂时还不能被BWChart认知的, 所以用16进制的数字代表.

Q:为什么"Watch Replay"这个功能无法在我的电脑上使用?

点击"options"选项并调节繁复的参数. 包括软件在复制热键及排列操作顺序时造成的延迟. 所有如果你使用不同快捷键的BWChart, 你可以自己设置热键. 默认的顺序是SBORO*O

S = (S)ingle player 单个选手
B = (B)roodwar or Starcraft 星际
O = (O)k on the id screen 选择id
R = load (R)eplay 读rep文件
O = (O)k to select the bwchart replay directory 选择rep路径
* = equals "arrow down" to select the replay itself 等同于"arrow down"选择一个rep
O = (O)k to start the replay 开启一个rep

当你仍无法读一个rep文件, 你可尝试关闭星际. 除此之外, 当你看另一个rep时热键顺序将无法再使用.
如果选择了"auto keys", 将无法改变, 要改变的话钩掉这个选项.

Q:每次refresh rep文件, 在浏览了一些rep后都会出现非法操作的窗口, 这是怎么回事?

或许是你打开了一个已经破损的rep文件. 如果你用星际打开它可能得到 "replay is corrupted"的提示. 重新定位无法打开的rep, 直到找到包含破损rep的文件夹.

Q:我在一场游戏里的操作数是3070, 游戏时间是16:47. 大概就是182APM, 在1.00S和1.00F里是这么显示的. 但是在1.01F里它变成了154APM, 这如何解释?

因为1.01F版是从1'20开始计算操作数的.

Q:如果我想知道游戏中的选手在action list的显示项中到底是进行了哪项操作, (比如:select parameters:3591). 那么3591在这里什么意思?

那些数字是实际物体的代码. 这些代码是从一个固定的数值开始算起(从游戏开始时), 所以每次一个兵或建筑被造出来, 下一个代码就预设好了, 分配给一个新的物体, 不管是哪个选手也不管是哪个种族. 所以无法准确的指出哪个物体是指定哪个固定代码. 对建筑来说, 虽然你可以明确指出哪些兵在那里造出的, 因为要给兵营/机场编队你必须首先点击它, 或者使用热键选择它. 当然, 在游戏初期, 由于操作很少, 你可以找出哪个代码是匹配SCV/probe/drone或者主场等等, 但是并不都是如此.

Q:为什么无法在游戏进行6-7分钟后查看建筑的顺序?

只是记录了玩家在他第一次攻击前的建造建筑/升级/造兵的顺序, 所以6-7分钟后就无法看到了.
Home Edition(签名效果全开)
回复

使用道具 举报

0

主题

0

好友

342

积分

机枪兵

25
发表于 2008-1-10 23:40 |只看该作者
请问dpr个问题,我用bwchart时候发现有的人无效操作比apm还要多(正常的话无效操作怎么多也不会多过总apm的),并且我发现只要是有这种情况的用bwrepinfow打开基本是出现软件出错。我理解的是也许那个人使用了兵营编入一个队同时造兵的作弊软件。使得apm数据出现错误 对不?
回复

使用道具 举报

3

主题

0

好友

4万

积分

大和

The.Fj 欢迎加入The战队

26
发表于 2008-1-10 23:58 |只看该作者


顶....
-,-;;
回复

使用道具 举报

1

主题

0

好友

7013

积分

大象

27
发表于 2008-1-11 00:33 |只看该作者
果然很强大。
学到了。
回复

使用道具 举报

8

主题

1

好友

2万

积分

大和

FoR战队第一检漏zerg

28
发表于 2008-1-11 00:39 |只看该作者
回复

使用道具 举报

tetsu 该用户已被删除
29
发表于 2008-1-11 00:40 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

65

主题

4

好友

4万

积分

版主

大元帅

Rank: 7Rank: 7Rank: 7

战队
SCI
种族
Protoss

2009年度八达十大水友

30
发表于 2008-1-11 00:55 |只看该作者
原帖由 谷歌 于 2008-1-10 23:40 发表
请问dpr个问题,我用bwchart时候发现有的人无效操作比apm还要多(正常的话无效操作怎么多也不会多过总apm的),并且我发现只要是有这种情况的用bwrepinfow打开基本是出现软件出错。我理解的是也许那个人使用了兵营编 ...

我不太清楚这个情况,没研究过。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|八达网    

GMT+8, 2026-3-16 06:57

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部