青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

教父的告白
一切都是紙老虎
posts - 82,  comments - 7,  trackbacks - 0

我們一開始的游戲邏輯層是基于網(wǎng)絡(luò)包驅(qū)動(dòng)的,也就是將 client 消息定義好結(jié)構(gòu)打包發(fā)送出去,然后再 server 解析這些數(shù)據(jù)包,做相應(yīng)的處理。

寫了一段時(shí)間后,覺得這種方案雜亂不利于復(fù)雜的項(xiàng)目。跟同事商量以后,改成了非阻塞的 RPC 模式。

首先由處理邏輯的 server 調(diào)用 client 的遠(yuǎn)程方法在 client 創(chuàng)建出只用于顯示表現(xiàn)的影子對(duì)象;然后 server 對(duì)邏輯對(duì)象的需要client 做出相應(yīng)表現(xiàn)的操作,變成調(diào)用 client 端影子對(duì)象的遠(yuǎn)程方法來實(shí)現(xiàn)。

這使得游戲邏輯編寫變的清晰了很多,基本可以無視網(wǎng)絡(luò)層的存在,和單機(jī)游戲的編寫一樣簡單。

本質(zhì)上,這樣一個(gè)系統(tǒng)跟網(wǎng)絡(luò)包驅(qū)動(dòng)的方式?jīng)]有區(qū)別;但是從編碼表現(xiàn)形式上要自然很多。正如 C 語言也可以實(shí)現(xiàn)面向?qū)ο螅珔s沒有 C++ 實(shí)現(xiàn)的自然一樣。在這個(gè)系統(tǒng)中,引擎封裝了對(duì)象管理的部分,使得邏輯編寫的時(shí)候不再需要處理討厭的對(duì)象數(shù)字 id ;還隱藏了消息發(fā)送或廣播的問題。

我把玩家控制的角色,和服務(wù)器上你的角色分做兩個(gè)東西。即,你控制的你,和服務(wù)器認(rèn)為的你就分開了。服務(wù)器認(rèn)為的你,你看見的服務(wù)器上的其他人是一類東西。操作自己的角色行動(dòng)時(shí),你通過 client 上的控制器的遠(yuǎn)程方法向服務(wù)器發(fā)送指令;而服務(wù)器通過遠(yuǎn)程調(diào)用每個(gè)角色的遠(yuǎn)程方法讓 client 可以收到感興趣的所有角色的行為。

這樣,client 永遠(yuǎn)都是通過一個(gè)控制器調(diào)用其遠(yuǎn)程方法來告訴服務(wù)器"我要干什么",而服務(wù)器的邏輯層則通過調(diào)用其上所有邏輯對(duì)象的遠(yuǎn)程方法來改變每個(gè)對(duì)象的狀態(tài)。而引擎就根據(jù)每個(gè)鏈接的需要,廣播這些消息,使得每個(gè) client 上對(duì)應(yīng)的影子對(duì)象可以收到狀態(tài)改變的消息。

這些,就是半個(gè)月來我跟同事一起做的工作。當(dāng)然,由于我們用腳本編寫邏輯層,這樣,腳本接口可以比 C 接口實(shí)現(xiàn)的漂亮的多。

首先是自定義格式的接口描述文件,用自編寫的工具自動(dòng)編譯成對(duì)應(yīng)腳本代碼。我們只需要在腳本中編寫對(duì)應(yīng)的類,就可以自動(dòng)響應(yīng)遠(yuǎn)端調(diào)用的方法了。而調(diào)用遠(yuǎn)程方法,也跟本地方法保持同樣的形式,寫起來跟本地函數(shù)調(diào)用沒有區(qū)別。這在以前用 C/C++ 編寫邏輯的時(shí)候是很難做到的。

其次,引擎內(nèi)部做好對(duì)象的管理工作,負(fù)責(zé)把通訊協(xié)議上的 id 轉(zhuǎn)換成邏輯層中的對(duì)象傳遞給邏輯層使用。

再次,enum 這樣的類型再也不需要用一些數(shù)字的常數(shù)了,也不需要在腳本額外的定義出來。可以在接口文件中定義好,經(jīng)過引擎的處理后,邏輯層可以直接用更為友好的字符串代替,而不失去效率。

編寫邏輯的程序員不再需要關(guān)心網(wǎng)絡(luò)的問題后,就可以把心思放在細(xì)節(jié)上。

最后,對(duì)于實(shí)現(xiàn)行為預(yù)測(cè)來補(bǔ)償網(wǎng)絡(luò)延遲的特性上。在先前的版本中,我們?yōu)榱藢?shí)現(xiàn)這個(gè),花了不少的氣力。主要是將時(shí)間戳信息放在基礎(chǔ)通訊協(xié)議中來輔助實(shí)現(xiàn)。具體的消息包收到后,再計(jì)算延遲時(shí)間來推算當(dāng)前的狀態(tài)。現(xiàn)在,可以把時(shí)間信息封裝到 RPC 中,讓每個(gè)遠(yuǎn)程方法自動(dòng)帶有延遲時(shí)間,方便計(jì)算。按模擬程序的實(shí)際效果上看,單單位置同步的預(yù)測(cè)策略,可以讓延遲在 8 秒之內(nèi)的玩家可以忍受;而延遲小于 1 秒的時(shí)候,幾乎不會(huì)受到滯后的影響了。

關(guān)于每個(gè)鏈接感興趣的信息的問題,決定了每個(gè)邏輯對(duì)象的狀態(tài)改變要通知哪些人。目前的想法是獨(dú)立到單獨(dú)進(jìn)程去處理,我們?cè)谔幚磉B接的服務(wù)器和處理邏輯的服務(wù)器之間設(shè)置單獨(dú)的服務(wù)器來管理每個(gè)鏈接感興趣的對(duì)象,這個(gè)任務(wù)相對(duì)單一且責(zé)任重大,獨(dú)立出來可以大大減輕邏輯服務(wù)器的復(fù)雜度。

posted on 2009-09-09 10:42 暗夜教父 閱讀(892) 評(píng)論(1)  編輯 收藏 引用 所屬分類: Game Development

FeedBack:
# re: 目前我們的游戲服務(wù)器邏輯層設(shè)計(jì)草案(轉(zhuǎn)帖于:云風(fēng)的BLOG)
2009-12-26 05:56 | 浩毛
bigworld的設(shè)計(jì)思想  回復(fù)  更多評(píng)論
  

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

文章分類

文章檔案

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲电影观看| 欧美黑人国产人伦爽爽爽| 国产精品对白刺激久久久| 久久精品国产99国产精品澳门| 一区二区激情| 欧美视频官网| 亚洲一级二级| 欧美母乳在线| 欧美日韩一区二区在线| 欧美电影免费观看高清| 欧美精品在线播放| 国产精品美女999| 国内外成人在线视频| 亚洲国产精品久久91精品| 影音先锋一区| 亚洲精品偷拍| 亚洲午夜一二三区视频| 欧美一区二区三区四区高清| 久久九九精品| 亚洲国产黄色片| 亚洲婷婷国产精品电影人久久| 亚洲欧洲99久久| 久热精品视频在线免费观看| 欧美日韩另类一区| 国产有码在线一区二区视频| 亚洲欧洲日韩在线| 久久狠狠亚洲综合| a4yy欧美一区二区三区| 性色av一区二区三区| 免费日韩av| 亚洲性av在线| 免费日韩av片| 国产欧美91| 亚洲美女黄色片| 久久久久久久尹人综合网亚洲 | 亚洲欧美日韩电影| 久久久久国产精品www| 亚洲国产高清高潮精品美女| 亚洲在线网站| 久久日韩粉嫩一区二区三区 | 国产日韩精品一区二区三区| 在线日本高清免费不卡| 亚洲字幕一区二区| 亚洲欧洲在线一区| 米奇777超碰欧美日韩亚洲| 99精品视频免费在线观看| 久久久亚洲影院你懂的| 国产日韩欧美在线观看| 亚洲欧洲视频| 夜夜嗨av一区二区三区中文字幕 | 欧美三日本三级少妇三2023| 好看的日韩av电影| 亚洲欧美日韩综合| 欧美日韩激情小视频| 亚洲精品日韩激情在线电影| 久久久999精品免费| 国产伦精品一区二区三区四区免费 | 久久国产精品黑丝| 一区二区精品在线观看| 一区二区三区在线观看国产| 中文成人激情娱乐网| 亚洲国产欧美日韩精品| 久久久久久久尹人综合网亚洲| 国产午夜精品一区二区三区欧美 | 在线观看欧美日本| 久久久伊人欧美| 久久激情一区| 一区二区三区在线不卡| 美女啪啪无遮挡免费久久网站| 欧美一区91| 伊人久久综合97精品| 含羞草久久爱69一区| 欧美一区二区三区久久精品| 欧美成人精品一区二区| 久久久精品日韩| 亚洲第一综合天堂另类专| 欧美mv日韩mv国产网站| 麻豆精品在线视频| 久久激情网站| 午夜精品视频在线| 国产一区二区精品| 美日韩在线观看| 欧美凹凸一区二区三区视频| 日韩一二在线观看| 一本到12不卡视频在线dvd| 国产精品三级视频| 久久视频在线看| 欧美激情一区二区三区蜜桃视频| 99国产精品自拍| 亚洲主播在线播放| 亚洲二区视频| 一区二区久久| 亚洲大片精品永久免费| 国产精品剧情在线亚洲| 国产精品久久久久久模特| 亚洲女性喷水在线观看一区| 欧美亚洲日本网站| 亚洲激情亚洲| 亚洲午夜在线观看| 在线电影欧美日韩一区二区私密| 国产精品人人爽人人做我的可爱| 国产伦精品一区| 蜜臀91精品一区二区三区| 欧美日韩一区二区视频在线观看| 在线一区二区三区做爰视频网站| 亚洲欧美成人网| 日韩视频欧美视频| 亚洲一区久久久| 亚洲精品黄色| 久久激五月天综合精品| 亚洲图片在线| 老司机成人网| 欧美一区1区三区3区公司| 模特精品裸拍一区| 久久动漫亚洲| 欧美色欧美亚洲高清在线视频| 1024国产精品| 午夜精品福利在线| 亚洲四色影视在线观看| 老司机午夜精品视频| 午夜日韩视频| 国产精品狠色婷| 亚洲欧洲一区二区三区| 亚洲国产欧美日韩另类综合| 美女诱惑一区| 久久九九全国免费精品观看| 欧美全黄视频| 亚洲国产成人精品久久久国产成人一区 | 国产综合一区二区| 亚洲一级在线观看| 一本久久综合亚洲鲁鲁| 久久亚洲综合网| 亚洲精品精选| 久久久久久网址| 小处雏高清一区二区三区| 欧美女主播在线| 亚洲国产高清一区| 久久精品视频va| 久久gogo国模啪啪人体图| 欧美日韩一区二区三区在线视频| 欧美福利电影在线观看| 伊人久久综合97精品| 午夜精品免费| 91久久久精品| 亚洲精品久久久久久久久久久久久| 亚洲自拍都市欧美小说| 亚洲一区久久久| 国产伦精品免费视频| 欧美一级片久久久久久久 | 免费在线观看一区二区| 一区在线免费| 欧美性猛片xxxx免费看久爱| 亚洲欧美日本日韩| 久久精品国产99国产精品澳门| 国产精品影音先锋| 欧美一区二区免费观在线| 久久久久久久波多野高潮日日| 黄色日韩在线| 亚洲国产精品美女| 一本到高清视频免费精品| 欧美午夜精品伦理| 狠色狠色综合久久| 亚洲精品欧美精品| 欧美香蕉视频| 亚洲免费视频网站| 久久亚洲私人国产精品va| 亚洲第一伊人| 久久大综合网| 噜噜噜躁狠狠躁狠狠精品视频| 欧美aaa级| 一本久久精品一区二区| 国产情侣一区| 欧美在线一二三四区| 亚洲黄色精品| 午夜欧美不卡精品aaaaa| 在线播放日韩欧美| 欧美激情第一页xxx| 性欧美1819sex性高清| 午夜在线视频一区二区区别| 黄色在线成人| 欧美三区美女| 久久人人97超碰国产公开结果| 欧美激情一二三区| 亚洲自拍电影| 国产欧美韩国高清| 午夜精品偷拍| 99综合视频| 国产色产综合产在线视频| 久久日韩粉嫩一区二区三区| 99在线热播精品免费99热| 免费成人高清视频| 小处雏高清一区二区三区| 亚洲美女视频网| 激情综合视频| 欧美国产一区二区| 欧美日韩极品在线观看一区| 欧美一区网站| 亚洲视频 欧洲视频| 亚洲国产视频直播| 欧美大学生性色视频|