如何探查一款网络游戏的真实在线人数?

其他类型的网络游戏不太清楚,我只说我了解的。对棋牌游戏来说,游戏所展现给玩家的在线人数数量至少要除以5以上才是真实在线人数,其他都是陪打的机器人。说真实在线人数的时候有必要说一说机器人AI是如何运作的。

机器人的智能设计对于小公司游戏运作相当重要,当游戏刚上线时,玩家数量是相当少的,如果没有陪打的机器人无法聚拢玩家,玩家数量是增长不上去的。在这个阶段机器人的比例是大大超过真实玩家,基本上可以达到10比1以上。之后可以分成两种情况:一种是AI设计比较智能,大部分玩家无法察觉机器人和玩家之间的区别,玩家数量开始慢慢增加,AI与玩家比例慢慢减少。一种是AI设计不够智能,玩家能够明显察觉机器人和玩家在操作上的区别(比如玩家一拿到大牌机器人就弃牌、机器人一拿到大牌就拼命加注)。然后玩家数量增长变得相当乏力,两三周后如果没有更新版本,玩家数量就开始负增长,直到一个人都没有。

回到楼主的话题:如何探查真实在线人数。第一,可以在不同时段上线看一下在线人数,一两天估计是无法估算的,但一两周以后,基本上能够摸清游戏的真实人数。第二,查看中高级场玩家数量,每个层级的玩家基本上都需要数倍的低级玩家支撑。第三,查看该公司的营收报告,通过比对营收的变化和在线人数显示的变化大致也能估算出来。第四,在游戏中查看交互频繁程度也可以大致估算游戏机器人的数量。比如主动与玩家交互查看回复情况,或者被动观察玩家快捷表情或快捷短语的回复情况。第五,通过app、91、360各种下载平台查看该游戏的下载量以及评论中的负面评价的数量与评价质量。
还有一些评估手段没说,因为大部分这种评估都是通过估算的方法计算游戏的真实在线人数的区间范围,就像一楼所说的这种极隐私的内部数据非公司高层是无法知晓的。非刷版期间各种统计流量网站的数量还是有一定参考价值的。棋牌公司的arpu或者arppu基本上是大致相同的,除非它在交互、充值引导、活动上有独到之处。比如2012年后半年的欢乐联网炸金花金猪吐币,以及博雅游戏近期改版后的充值引导。

网络游戏一个服务器可以容纳多少人同时在线?

大型网络游戏相对大型网站系统其差别是什么:

1) 虽然大型网络游戏产生的数据也很多,但与大型网站系统相比,差了几个数量级.
2) 网络游戏对数据的操作相对简单,基本上简单的select/update/delete就够了,基本不涉及复杂的查询和事物处理.
3) 网络游戏强调操作响应的实时性,你点击一个网页几百毫秒甚至一两秒内得到响应都是可以接受的,但对于很多网络
游戏而言超过2,300毫秒就会让人感觉玩得不顺畅.

那么网络游戏的压力主要在哪里,什么因素影响一组服务器的最大承载人数.

依我多年的开发经验,网络游戏的主要压力体现在:

1) 和场景中其它的玩家,NPC的交互产生的压力
2) AI计算导致的压力
3) 很多大型的3D游戏在服务器端需要进行一些复杂的模拟运算,例如3D碰撞.
4) 复杂的战斗计算
5) 因为大量的玩家交互而产生的数据广播

要提高一个服务器组的承载能力,必须想办法把这些计算压力均衡的分布到不同的物理节点上.

一种分布方式是将最可能产生交互的玩家分布到独立的节点上.这也是大多数网络游戏的处理方式,按单独的地图划分,如果玩家要跨越地图,则需要在服务器之间产生一次数据转移.这就是为什么回合制游戏和开房间副本类游戏承载人数比开放性大地图游戏的承载更高的原因.各副本之间的玩家都是相互独立的,不会产生频繁的交互.可以轻易的将单独副本分布到独立的节点上.

而像WOW这样的支持连续开放性大地图的游戏.比较多的方式是按功能的水平划分,例如将AI,服务端的一些模拟运算,服务端寻路等放在独立的节点上.但像战斗逻辑就不太好划分了,因为一个地图上任意两个对象都有可能在某个时间点发生交互.而交互的时候很多情况下都需要访问那个对象的数据(例如战斗,必须根据目标身上的属性,装备,buff等计算战斗伤害)