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