Re: [程式] 想请问即时游戏的设计问题

楼主: chenglap (无想流流星拳)   2015-07-27 12:34:13
※ 引述《LaPass (LaPass)》之铭言:
: 例如
: 暗黑、RO、LOL、WOW、世纪帝国等等
: 像这种,即使,有单位,有位置,有技能的状况
: 要怎么设计多人连线的同步?
: 我自己的想法是
: 将地图分格子,用座标去处理位置问题。
这个部份其实没有关系.
: 然后时间的话,则固定以0.1~0.5秒为一个单位(frame),去计算各单位的动作
不一定是 frame, 但时间单位是需要的.
: 其他像是持续性伤害,自然生命力恢复
: 理论上只要一开始有给定速率跟起始值,client端应该能自己算出现在的hp值
: 然后,传输的时候,再过滤掉那个client端不该看到的资料,像是敌人的位置等等
: 不过我没写过这种程式,不确定这种作法可不可行
: 或是,想请问业界中确切的作法是怎么样呢?
即时战略游戏需求的是“精确同步”.
基本上跟你用 telnet 上 BBS 差不多.
不过一般来说, 你只需要将大家的输入资料, 互相同步就行了.
也就是互相只需要交换的是“输入的资料”.
就是“在何时做了哪个成功的操作”.
其他东西都不需要输送.
比方说技能造成的伤害这些, 这些因为用乱数产生.
只要乱数的 seed 本身每个 client 都一样的话, 就是连乱数也可以
在本地产生, 而能产生同一个结果.
作者: LaPass (LaPass)   2015-07-27 13:06:00
了解
作者: LayerZ (無法如願)   2015-07-27 16:10:00
推一个本地产生乱数
作者: ddavid (谎言接线生)   2015-07-27 21:52:00
基本上概念就跟写Replay系统差不多,如何将replay要存的东西减到最少然后就同步这些东西吧

Links booklink

Contact Us: admin [ a t ] ucptt.com