Re: [程式] 想請問即時遊戲的設計問題
※ 引述《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://www.ptt.cc/bbs/GameDesign/M.1437971656.A.1B9.html
→
07/27 13:06, , 1F
07/27 13:06, 1F
推
07/27 16:10, , 2F
07/27 16:10, 2F
推
07/27 21:52, , 3F
07/27 21:52, 3F
→
07/27 21:53, , 4F
07/27 21:53, 4F
所以倒轉來說, 寫 RTS 的時候, 有 replay system 是順理成章的.
本來就是順便做而已.
※ 編輯: chenglap (42.98.215.93), 07/28/2015 06:02:59
討論串 (同標題文章)