游戏开发论坛

 找回密码
 立即注册
搜索
查看: 14469|回复: 12

国产游戏开发当中普遍遇到的一个技能音效问题

[复制链接]

1

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2007-6-18 14:21:00 | 显示全部楼层 |阅读模式
在游戏音效工作当中,遇到了一个问题.

在打怪时,攻击命中是在攻击动作开始时做判断,就是说一开始施放某种技能,则同事判断掉血,并播放技能音效及命中音效.这是很多国产游戏普遍都有的一个音效规划失误.

比如:近战类攻击,动作本身有个旋转360°.该动作用时1秒. 而攻击命中判断却是在该动作起始位置.也就是说人还在天上转,并没有砍到怪的时候,怪物已经被判断掉血,且同时播放了命中音效及画面特效.

再比如更夸张的情况:一个远程职业,比如一个火箭筒兵.在端起火箭筒发射的时候,那边怪物已经被判断掉血.而这时火箭弹却还在天上飞.

WOW在这个方面做的很好,,比如一个法师发射一个火球,施法距离判断和火球飞行时间都由客户端来计算.当火球飞到距离怪物非常近的2-3码距离时,服务器再作技能及命中判断.这样也给服务器一个延时计算的时间.服务器在这2-3码飞行时间内计算是否命中以及根据命中否来判断是否需要播放命中音效.

很可惜,至少本公司的大作还无法解决这个问题.
本公司产品使用的是一种简单的补救方法,将所有技能固定延时播放.
比如动作长度1秒.就固定延时一秒播放命中音效.这个办法可以解决近战音画不同步问题.但是对于远程依然于事无补.
远程的话,玩家与怪物之间的距离不是定值,有远有近.所以从施放火箭弹,到火箭弹命中的延时是无法固定的.
所以简单通过延时来解决命中音效判断的问题是不行的.

不知道有没有同行在做的游戏工程也面临同样的问题.欢迎多交流.

103

主题

1432

帖子

1458

积分

金牌会员

Rank: 6Rank: 6

积分
1458
QQ
发表于 2007-6-18 14:53:00 | 显示全部楼层

Re:国产游戏开发当中普遍遇到的一个技能音效问题


不知道可不可以直接在客户端判断。而服务器也做判断,但是不影响客户端,客户端判断击中后在申请服务端状态,不如还剩多少血,死亡状态等。

1

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2007-6-18 17:16:00 | 显示全部楼层

Re:国产游戏开发当中普遍遇到的一个技能音效问题

这个不行的,很容易被做外挂!

1

主题

36

帖子

1442

积分

金牌会员

Rank: 6Rank: 6

积分
1442
发表于 2007-6-19 01:18:00 | 显示全部楼层

Re:国产游戏开发当中普遍遇到的一个技能音效问题

搞错了吧,你说的问题WOW也有。
不信你上马引一个发火球的怪,你会在火球距离你很远很远的时候就已经掉血了,
当火球击中你时才有火球的命中特效音效(或者角色的闪避动作)。

1

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2007-6-19 12:55:00 | 显示全部楼层

Re:国产游戏开发当中普遍遇到的一个技能音效问题

楼上去仔细看下.
火球一定是在距离身体2-3码时才计算命中和掉血.而不是很远很远.
不信你试试,那边火球飞出来,你方向闪现,看看什么时候掉血

3

主题

27

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2007-6-19 17:20:00 | 显示全部楼层

Re: 国产游戏开发当中普遍遇到的一个技能音效问题

命中音效、特效由客户端判定,在法术击中时播放。伤害判定由服务端做,可以在法术发起时就做判定也可以延时到命中时再做。核心思想是客户端效果与服务端判定分离,客户端只对视觉效果的合理性负责,不必与服务端的判定同步,也许法术一开始服务端已经判定掉血,但客户端看不到,直到法术命中时才表现掉血画面及音效。

1

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2007-6-19 19:36:00 | 显示全部楼层

Re:国产游戏开发当中普遍遇到的一个技能音效问题

服务器端做显示,服务器做判断 :攻击开始时间, 攻击结束时间,攻击命中时间, 分别传递响应不同信号给客户端,就看你速度了

1

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2007-6-20 05:37:00 | 显示全部楼层

Re: Re: 国产游戏开发当中普遍遇到的一个技能音效问题

cproom: Re: 国产游戏开发当中普遍遇到的一个技能音效问题

命中音效、特效由客户端判定,在法术击中时播放。伤害判定由服务端做,可以在法术发起时就做判定也可以延时...

1:既然客户端判定播放音效特效类型,就不需要服务器判定法术类型.这个是矛盾的.
2:法术起始时判定不可能,程序员都是这么简单的想问题.飞行距离不等,延时不等.
这个在顶楼帖子里就有,不知道你有没有稍微认真看下

3

主题

27

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2007-6-20 10:03:00 | 显示全部楼层

Re:国产游戏开发当中普遍遇到的一个技能音效问题

服务端、客户端根本不用做那么多细节同步,各做各的判断就行了,比如服务器端判断释放了A法术,客户端作弊或者其它同步之类的问题导致显示B法术的效果,那就让两边不一致好了,服务端不会有错误。而且这种情况是很少见的,一般都是人为修改客户端。也就是说只要服务端逻辑正确、客户端效果正确,他们之间是否同步、是否一致可以降低要求,一般用户感觉不到。

21

主题

452

帖子

464

积分

中级会员

Rank: 3Rank: 3

积分
464
QQ
发表于 2009-6-8 13:14:00 | 显示全部楼层

Re:国产游戏开发当中普遍遇到的一个技能音效问题

这个东西,客户端判断应该就可以了,不需要关心外挂问题。因为技能是否命中以及数值这方面由服务器处理就可以了,玩家自己修改资源,你也没办法,而且对游戏的实际运行也没影响。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-11-22 05:10

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表