游戏服务器的开发和互联网服务器的开发的区别

avatar 2019年10月2日14:35:26 评论 36

做过游戏服务器的开发,也做过一般的互联网服务器的开发,在我看来两者的区别主要有两点.

1)游戏服务器比一般的服务器要保存更多的状态:玩家的属性这些自不必说,一般的IM服务也会有,还有一些马上就会变化的数据,比如某个玩家的生命值,发技能前后的法力值等等,这些值区别于一般的属性值如名字,ID这些的差异在于,会经常性的变化,还会参与到逻辑的计算中,比如你一个多少等级的玩家吃了什么东西之后战力值变化为多少,打在一个多少属性的玩家身上会不会被他闪避,会不会产生暴击....

游戏逻辑中的战斗技能计算是很大的一个点,我不太熟悉这块就不展开多说了.可以看到,游戏逻辑的CPU计算是非常多的.

2)游戏服务中,每个玩家不是独立存在的,而是很有可能会与其他玩家发生状态的交互,一般的服务器比如HTTP什么的,你一个请求过来查你的数据,和别人的请求是独立的,并没有什么交互.

客户端之间会有交互这一点,举最简单的例子,一个人在一个场景里面说了一句话,那么同一个屏幕的玩家也需要能够看到他说的这句话.此时游戏服务器就需要判断,多远的距离以内的玩家,会认定为是"同屏幕"的玩家,需要向这些玩家广播这个玩家说的这句话.

这个广播就比较麻烦了.首先,计算哪些玩家在"同屏幕",就是我们在第一点提到的玩家身上某些经常变化的属性需要做的运算,在这里需要根据玩家的坐标,找出来跟在同屏幕的玩家,用到的是AOI的概念,感兴趣的可以看看云风的 BLOG: 开发笔记 (13) : AOI 服务的设计与实现 .另外,找到了这些需要接收这个消息的玩家之后,将消息转发给它们又是一个IO密集的操作,假如场景中有10个人,那么一句话就需要同时广播给另外9个人,假如有100人,1000人呢,量就更大了.所以同样的一个硬件配置的服务器,可能跑Nginx可以同时处理上万的链接,但是对于一个游戏服务器就只有1,2千了,就是因为游戏服务器是一个CPU密集而且IO密集的服务器类型.

2019阿里云服务器拼团优惠活动「Hi拼团」开启,云主机拼团购买可享2折优惠折扣,最便宜的云服务器只要99元一年:

服务器拼团优惠

 

  • 活动:「Hi拼团」
  • 优惠力度:云服务器优惠2折,最低199元/年
  • 活动时间:2019年5月14日至2020年3月31日
  • 服务器配置:服务器配置:T5云服务器(1核1G/1核2G/2核4G5M)、N4云服务器2核4G3M、网络增强云服务器2核4G5M、网络增强云服务器2核8G5M、网络增强云服务器4核8G;

 

活动地址:

代金券:阿里云2000元代金券红包免费领取
活动地址:阿里云「Hi拼团」服务器拼团特惠

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: