熟悉WOW的朋友请帮忙看下这个问题

cchentao 2009-10-28 05:46:36
今天面试的时候,面试官问了我一个问题:为什么WOW中要有施法条机制,为什么CS中就没有,请从技术的角度上分析
我的回答是能在一定程度上缓解延迟带来的不良体验,并从WOW施法条的工作原理来给出解释。面试官说我思路是对的,但是还不是我说的那样。各位大哥对这个问题有没有什么看法,交流一下吧~
...全文
344 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
iceofst 2010-02-02
  • 打赏
  • 举报
回复
个人认为施法条的设计在更大程度上是为了策划的需求,但是如果要从技术上来解释的话也未尝不可。
先必需从两款游戏的联网工作方式来说。
cs没玩过几回,大概记得是如同魔兽争霸一样,一个玩家建主机,其他玩家进主机的局域网游戏方式。即使是在vpn或者类vpn的环境下工作,以主机玩家的电脑当临时服务器的情况也不会改变。在这种情况下,服务器的负荷就不会是关键因素了。如果你卡了,不然就是你网速不行,不然就是主机网速不行。

wow就不一样了。由于大量玩家共享的都是一台或者一个集群的服务器,服务器的负荷就是不得不考虑的因素。

在以上前提下。姑且不论cs里面每打一枪会对服务器产生多大的压力。cs子弹瞬间连射的处理要求是相对较高的。在单位时间相同玩家数量的情况下,cs服务器要处理的子弹数据比wow服务器要处理的技能数据量大很多。

所以。wow里面施法条的设计就是为了减轻技能施放对服务器造成的压力,让玩家不可能在单位时间内方大量的技能,让服务器不会总是处理大量的突发数据,减轻了服务器的压力。
我要戒烟了 2010-02-01
  • 打赏
  • 举报
回复
也觉得是策划需求...
yzm365487848 2010-01-31
  • 打赏
  • 举报
回复
能够一目了然的看到自己法术当前进度, 更加动感,像FS这些职业 需要这样的啊,难道让他边跳1秒飞出一个寒冰箭吗, 但是DZ就不会有施法条了,CS中设置进度条就没激情了,打个枪还得等着,不切实际也不合逻辑。
不是吗?
fenglingxiaowu 2009-12-27
  • 打赏
  • 举报
回复
顶~~~
floud4 2009-12-26
  • 打赏
  • 举报
回复
感觉是魔幻游戏题材的设定,在技术方面没感到有特别直观的需求。
dadahacker 2009-12-25
  • 打赏
  • 举报
回复
。。。。。。。。。。。。。。。。。。。。。。。。。。。。
支持下。
lovezhufei517 2009-12-19
  • 打赏
  • 举报
回复
应该与服务器负荷没关系
WOW的远程职业法术分为顺发和读条,顺发一般都是由CD的比如5秒之内只能使用一次,而读条则没有CD,单纯从技术讲全部顺发可能并不比现在的形势麻烦多少,但是如果真这样的话,远程职业将永远是近战的噩梦
因为速度一样的情况下,WOW里边绝对可以放死近战职业的,这就是WOW里边的放风筝
为什么CS不加读条那?相信大家都玩过CS,CS其实是部分近战远战的,如果硬要说职业角色,那么CS就只有一个职业,全部远程
以上是第一个区别也就是趣味性的区别
第二个区别
CS是打枪瞬间判断对方的位置是否在发枪的直线上
而WOW是发出法术的瞬间已经决定了必定打到对方身上了(装备,等级等影响的躲闪率不算)这样如果WOW也都是瞬发,那么作为近战的战士,圣骑在PK中怎么获胜?
bleach_zw 2009-11-14
  • 打赏
  • 举报
回复
CS射击时要做相交判定,因此必须知道射击时人物的精确位置,如果射击的时候读条的话位置就不好判定,位置一变就不能命中了;而WOW的命中目标是锁定的,玩过的可能知道比如冰箭射出去,玩家位置变了,冰箭就会改变路径,但是一样会命中目标(出现未命中是游戏里设定的命中率的问题,跟这里的命中不一样),因此读条不会有任何影响,如果CS这样设计那大家都能命中了~~
而且WOW由于同时交互的人数较多,读条一方面可以降低服务器的负荷,一定程度上避免同时施放技能造成的拥塞(不用立即处理并响应),这样就能降低用户端的延迟,另一方面读条时间可以用来处理一些法术效果的生成~~
还有一点是至关重要的,就是读条也是消耗玩家时间和赚钱的好方法,要不怎么上马还要3秒读条~~
gz_wuling 2009-11-12
  • 打赏
  • 举报
回复
WOW
是什么?
feng 2009-11-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 kuang7410 的回复:]
处理时间问题~~~~


[/Quote]
这个正解
im2web 2009-11-05
  • 打赏
  • 举报
回复
没有读条, 客户端直接发20个大火球, 秒任何人
renyaochun 2009-11-05
  • 打赏
  • 举报
回复
我也感觉和技术原因关系不大~是DND规则规定的............


另外WOW里的施法条~如果对方在墙后的话~会提示“对方不在视野中”~如果施法开始时对方不在墙后~施法过程中对方跑到墙后的话~会在施法结束的一瞬间提示“对方不在视野中”(通道法术只在开始时判断一次~施法成功的话后续攻击无差别跟踪)~所以这样看来至少会有两次和服务器的交互+射线拣选


另外WOW中的施法条~在施法条读到4/5左右之后施法方就无法主动打断了~这个应该是考虑到技术因素~做过特殊处理
「已注销」 2009-11-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yinqing_yx 的回复:]
魔兽里还有很多顺发技能呢  用宏的话连CD都没有
这个完全是策划需要,叫做“吟唱”~
瞬发和吟唱两种方式从流量和服务器计算上来说,吟唱比瞬发更多
服务器(开始吟唱)-客户端(计时器+GUI进度条表现)-客户端(到时间+发送吟唱结束)-服务器(判断时间进行技能处理)由此可见吟唱需要多次沟通~服务器负荷只增不减~
[/Quote]

额,引用错了,是现在这个
「已注销」 2009-11-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xingzhe2001 的回复:]
程序的角度看可以减少法术使用的频率,从而减少服务器的负荷。
掩盖数据延迟

[/Quote]

同意,觉得没有技术因素在里面,完全是游戏设计需要.公平机制需求.还有竞技因素等等
kuang7410 2009-10-30
  • 打赏
  • 举报
回复
处理时间问题~~~~

yinqing_yx 2009-10-30
  • 打赏
  • 举报
回复
魔兽里还有很多顺发技能呢 用宏的话连CD都没有
这个完全是策划需要,叫做“吟唱”~
瞬发和吟唱两种方式从流量和服务器计算上来说,吟唱比瞬发更多
服务器(开始吟唱)-客户端(计时器+GUI进度条表现)-客户端(到时间+发送吟唱结束)-服务器(判断时间进行技能处理)由此可见吟唱需要多次沟通~服务器负荷只增不减~
聪明的一休 2009-10-30
  • 打赏
  • 举报
回复
MARK
xingzhe2001 2009-10-29
  • 打赏
  • 举报
回复
程序的角度看可以减少法术使用的频率,从而减少服务器的负荷。
掩盖数据延迟
wdz609 2009-10-29
  • 打赏
  • 举报
回复
如果让cs读条也很好实现。
但因为读条是可以通过走路之类的打断的,所以,如果cs读条的话,除非在宽阔的地方,一般就死不了了.... 而且由于法系释放后是可以走曲线的(或者说就是走曲线)。所以,不论怎么躲都有可能使法术生效。而射击类的cs不同,他是根据枪口方向画射线,如果读条,且打断的话,只要错开一点,就不会被伤着。这时cs中就体验不了杀人的痛快了

我觉得减少网络延迟带来的影响是不对的,只要网络延迟大,读不读条,你都会觉得很郁闷。
luoya263547560 2009-10-29
  • 打赏
  • 举报
回复
技术角度?呵呵,这考题有意思,从玩家的角度来说,如果CS中开枪还要个进度条,那CS就完蛋了。
加载更多回复(2)

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧