游戏开发论坛

 找回密码
 立即注册
搜索
查看: 8628|回复: 13

mmorpg 技能同步问题?

[复制链接]

1

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2015-6-9 14:14:39 | 显示全部楼层 |阅读模式
[url=]修改[/url]
一个多人游戏的,比如lol中,一个寒冰射手发出大招冰箭,这个冰箭是可以一直在飞的,除非碰到敌人,碰到敌人后,敌人会有伤害并眩晕.
那么游戏服务端是如何确定这个冰箭什么时候碰到敌人的呢


3

主题

141

帖子

353

积分

中级会员

Rank: 3Rank: 3

积分
353
发表于 2015-6-9 19:31:13 | 显示全部楼层
这个要问lol游戏引擎的设计师是如何实现的

34

主题

844

帖子

1755

积分

金牌会员

Rank: 6Rank: 6

积分
1755
发表于 2015-6-10 10:27:36 | 显示全部楼层
本帖最后由 snghun 于 2015-6-10 10:34 编辑

  1. x += v*sin(a)*time;
  2. y += v*cos(a)*time;

  3. r2 = (x - x_player[n])*(x - x_player[n]) + (y - y_player[n])*(y - y_player[n]);
  4. if( r2<10.0 ) hit( n );

  5. send( client, data );
复制代码
随便猜测罢了
楼主千万别信

0

主题

1

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2015-6-15 17:13:59 | 显示全部楼层
这个应该属于碰撞弹道

19

主题

215

帖子

712

积分

高级会员

Rank: 4

积分
712
QQ
发表于 2015-6-27 07:15:49 | 显示全部楼层
碰撞检测,检测到后发消息给服务器

10

主题

77

帖子

601

积分

高级会员

Rank: 4

积分
601
发表于 2015-8-27 15:57:11 | 显示全部楼层
碰撞检测,检测到后发消息给服务器,服务器广播消息

0

主题

3

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2015-9-15 10:44:11 | 显示全部楼层
服务器跑计时器,以一定的频率检测碰撞,检测到碰撞后广播消息,由服务器决定哪些人被晕了,晕了多长时间。

@doter 虽然,将计算尽量放在客户端可以提高服务端的性能这个是常识,但这个是建立在安全,可靠的前提下。

稍微想一下,如果依赖客户端提交,那么是哪个客户端提交呢?那么,假设这个客户端断线了又如何?假设所有的客户端都断线了有如何?

10

主题

77

帖子

601

积分

高级会员

Rank: 4

积分
601
发表于 2015-9-24 11:58:58 | 显示全部楼层
本帖最后由 doter 于 2015-9-24 12:05 编辑
wyb10a10 发表于 2015-9-15 10:44
服务器跑计时器,以一定的频率检测碰撞,检测到碰撞后广播消息,由服务器决定哪些人被晕了,晕了多长时间。 ...

服务端做成本是很大的,
客户端是谁收到伤害谁提交啊,至于掉线另外处理

71

主题

1330

帖子

2585

积分

金牌会员

Rank: 6Rank: 6

积分
2585
发表于 2015-9-29 11:23:57 | 显示全部楼层
客户端提交,客户端可在发出的瞬间就把弹道和命中情况发往服务端。服务端对弹道距离进行验证,并判断是否miss,并将最终伤害广播给同屏玩家。
客户端断线了,断线的客户端基本看到的就是命中无效果,其它玩家看到的则是呆呆的站在那里。

0

主题

1

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2015-10-8 14:36:13 | 显示全部楼层
本帖最后由 追风中年 于 2015-10-8 14:37 编辑

个人感觉服务器应该是虚拟一个碰撞球在地图上跑作碰撞检测,同时各个客户端虚拟一个球以同样速度在各自地图上跑,这样在大招运动过程中其实服务器和客户端没有交互减少数据同步,这也是为什么 同时看2个客户端的大招会稍微有点不同步。最后当命中某个物体时服务器通知相关客户端命中消息,客户端再做各种补偿。大概是这样吧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-20 05:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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