作者ddavid (谎言接线生)
看板GameDesign
标题Re: [程式] 模拟城市的电线连接判断是怎麽做的阿???
时间Mon Jul 12 19:18:28 2010
: 推 yhn0tgb60:假如这个游戏是做网路版的~~ 07/12 18:29
: → yhn0tgb60:而我每10秒判断一次server是否要算电线连接判断~~ 07/12 18:30
: → yhn0tgb60:结果玩家在这10秒中间就离线了....这不就挂了 = = 07/12 18:31
你这是另一个问题了。然後最简单的解法有两个(当然还有很多别的解法,我只
是提概念最直觉简单的):
1. 这些判断计算都是Server端自己在做,所以玩家Client没连线时Server自己还是
在不断更新,玩家连上去时都是看到最新的情况,没有问题。
2. 计算是要依赖玩家连线去启动、甚至是在Client端上计算的(虽然若只在Client
上处理就会有玩家可以轻松Hack的可能性)。在上面两种情况下,我们只要记录一下
玩家上一次处理是什麽时间,然後下一次他又连上来启动了计算时,就计算时间差来
补处理中间没算的部分。比如在1:10时算了一次,可是1:15玩家闪人了,所以1:20那
一次就没算到。但是他1:35连回来了,在此时就可以一次把1:20跟1:30的依序计算补
回来。
当有多玩家同时玩且会互相影响的情况,1.的方法完全没有差别,2.则是在「任
何」玩家连上来行动时,就把所有玩家之前累积没处理掉的动作依时间顺序处理掉。
只要时间序是正确的,就不会造成正确性的问题。2.的方法是很多那种简单的CGI游
戏使用的方法之一。
--
「可是你......不是天使吗?」
「天使?」她缓缓的转过头来,用悲伤的表情。「天使,只不过是神创造出来的
不死玩偶。」
「而神,也只不过是诅咒下的伪善使者。」
--星.幻.梦的传说
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.24.201.252
※ 编辑: ddavid 来自: 114.24.201.252 (07/12 19:19)
1F:推 yhn0tgb60:谢谢 ^^ 07/12 21:11