作者chenglap (无想流流星拳)
看板GameDesign
标题Re: [程式] 想请问即时游戏的设计问题
时间Mon Jul 27 12:34:13 2015
※ 引述《LaPass (LaPass)》之铭言:
: 例如
: 暗黑、RO、LOL、WOW、世纪帝国等等
: 像这种,即使,有单位,有位置,有技能的状况
: 要怎麽设计多人连线的同步?
: 我自己的想法是
: 将地图分格子,用座标去处理位置问题。
这个部份其实没有关系.
: 然後时间的话,则固定以0.1~0.5秒为一个单位(frame),去计算各单位的动作
不一定是 frame, 但时间单位是需要的.
: 其他像是持续性伤害,自然生命力恢复
: 理论上只要一开始有给定速率跟起始值,client端应该能自己算出现在的hp值
: 然後,传输的时候,再过滤掉那个client端不该看到的资料,像是敌人的位置等等
: 不过我没写过这种程式,不确定这种作法可不可行
: 或是,想请问业界中确切的作法是怎麽样呢?
即时战略游戏需求的是「精确同步」.
基本上跟你用 telnet 上 BBS 差不多.
不过一般来说, 你只需要将大家的输入资料, 互相同步就行了.
也就是互相只需要交换的是「输入的资料」.
就是「在何时做了哪个成功的操作」.
其他东西都不需要输送.
比方说技能造成的伤害这些, 这些因为用乱数产生.
只要乱数的 seed 本身每个 client 都一样的话, 就是连乱数也可以
在本地产生, 而能产生同一个结果.
--
光辉岁月...
大家都说我的游戏画面烂, 因为我没资源做美术.
好像今天有了, 来, 我是没资源, 不是不懂美术.
https://www.youtube.com/watch?v=kQ4Sb7tUfHs
https://www.facebook.com/leglory1988
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.98.215.93
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/GameDesign/M.1437971656.A.1B9.html
1F:→ LaPass: 了解 07/27 13:06
2F:推 LayerZ: 推一个本地产生乱数 07/27 16:10
3F:推 ddavid: 基本上概念就跟写Replay系统差不多,如何将replay要存的东 07/27 21:52
4F:→ ddavid: 西减到最少然後就同步这些东西吧 07/27 21:53
所以倒转来说, 写 RTS 的时候, 有 replay system 是顺理成章的.
本来就是顺便做而已.
※ 编辑: chenglap (42.98.215.93), 07/28/2015 06:02:59