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

隨筆-380  評論-37  文章-0  trackbacks-0

我們一開始的游戲邏輯層是基于網絡包驅動的,也就是將 client 消息定義好結構打包發送出去,然后再 server 解析這些數據包,做相應的處理。

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

首先由處理邏輯的 server 調用 client 的遠程方法在 client 創建出只用于顯示表現的影子對象;然后 server 對邏輯對象的需要client 做出相應表現的操作,變成調用 client 端影子對象的遠程方法來實現。

這使得游戲邏輯編寫變的清晰了很多,基本可以無視網絡層的存在,和單機游戲的編寫一樣簡單。

本質上,這樣一個系統跟網絡包驅動的方式沒有區別;但是從編碼表現形式上要自然很多。正如 C 語言也可以實現面向對象,但卻沒有 C++ 實現的自然一樣。在這個系統中,引擎封裝了對象管理的部分,使得邏輯編寫的時候不再需要處理討厭的對象數字 id ;還隱藏了消息發送或廣播的問題。

我把玩家控制的角色,和服務器上你的角色分做兩個東西。即,你控制的你,和服務器認為的你就分開了。服務器認為的你,你看見的服務器上的其他人是一類東西。操作自己的角色行動時,你通過 client 上的控制器的遠程方法向服務器發送指令;而服務器通過遠程調用每個角色的遠程方法讓 client 可以收到感興趣的所有角色的行為。

這樣,client 永遠都是通過一個控制器調用其遠程方法來告訴服務器"我要干什么",而服務器的邏輯層則通過調用其上所有邏輯對象的遠程方法來改變每個對象的狀態。而引擎就根據每個鏈接的需要,廣播這些消息,使得每個 client 上對應的影子對象可以收到狀態改變的消息。

這些,就是半個月來我跟同事一起做的工作。當然,由于我們用腳本編寫邏輯層,這樣,腳本接口可以比 C 接口實現的漂亮的多。

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

其次,引擎內部做好對象的管理工作,負責把通訊協議上的 id 轉換成邏輯層中的對象傳遞給邏輯層使用。

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

編寫邏輯的程序員不再需要關心網絡的問題后,就可以把心思放在細節上。

最后,對于實現行為預測來補償網絡延遲的特性上。在先前的版本中,我們為了實現這個,花了不少的氣力。主要是將時間戳信息放在基礎通訊協議中來輔助實現。具體的消息包收到后,再計算延遲時間來推算當前的狀態。現在,可以把時間信息封裝到 RPC 中,讓每個遠程方法自動帶有延遲時間,方便計算。按模擬程序的實際效果上看,單單位置同步的預測策略,可以讓延遲在 8 秒之內的玩家可以忍受;而延遲小于 1 秒的時候,幾乎不會受到滯后的影響了。

關于每個鏈接感興趣的信息的問題,決定了每個邏輯對象的狀態改變要通知哪些人。目前的想法是獨立到單獨進程去處理,我們在處理連接的服務器和處理邏輯的服務器之間設置單獨的服務器來管理每個鏈接感興趣的對象,這個任務相對單一且責任重大,獨立出來可以大大減輕邏輯服務器的復雜度。

posted on 2009-02-12 02:50 小王 閱讀(1940) 評論(0)  編輯 收藏 引用 所屬分類: 游戲服務器端開發
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲精品一区二区三区蜜桃久| 久久国产视频网站| 亚洲午夜精品一区二区三区他趣| 激情综合久久| 在线欧美小视频| 91久久夜色精品国产网站| 在线精品亚洲| 亚洲国产乱码最新视频| 日韩视频第一页| 亚洲视频国产视频| 性色一区二区三区| 久久婷婷综合激情| 欧美激情国产高清| 99精品热视频| 欧美在线日韩精品| 欧美成人久久| 国产精品青草久久| 在线欧美小视频| 夜夜夜久久久| 久久麻豆一区二区| 亚洲级视频在线观看免费1级| 亚洲国产精彩中文乱码av在线播放| 亚洲日本成人网| 香蕉乱码成人久久天堂爱免费| 久久福利资源站| 欧美日本久久| 国产主播精品在线| 一本色道精品久久一区二区三区| 欧美一区二区三区视频在线| 欧美激情四色| 欧美一区二区成人| 欧美日韩精品中文字幕| 黄色一区三区| 午夜一区二区三视频在线观看| 麻豆精品传媒视频| 99在线|亚洲一区二区| 久久综合国产精品| 欧美日本精品| 怡红院精品视频| 午夜精品亚洲| 日韩视频在线观看免费| 久久久青草婷婷精品综合日韩| 欧美三级电影大全| 亚洲日韩视频| 欧美xart系列在线观看| 午夜精品免费视频| 欧美日韩中国免费专区在线看| 亚洲国产午夜| 美日韩免费视频| 亚洲欧美美女| 国产精品亚洲а∨天堂免在线| 亚洲电影有码| 免费看的黄色欧美网站| 欧美综合国产精品久久丁香| 国产精品羞羞答答| 亚洲你懂的在线视频| 亚洲乱码视频| 欧美吻胸吃奶大尺度电影| 99精品国产一区二区青青牛奶| 亚洲成在人线av| 欧美a级片网站| 亚洲高清不卡av| 欧美大片一区| 欧美**字幕| 亚洲精品久久嫩草网站秘色| 免费日韩成人| 欧美成年人网站| 一级成人国产| 亚洲图片欧洲图片日韩av| 欧美视频中文一区二区三区在线观看 | 久久嫩草精品久久久精品一 | 亚洲国产精品激情在线观看| 久久免费视频观看| 久久亚洲国产成人| 亚洲国产91| 亚洲激情在线激情| 欧美性色aⅴ视频一区日韩精品| 午夜精品久久久久久久久久久久久 | 欧美成人精品三级在线观看| 亚洲精选91| 在线一区二区三区四区五区| 国产日韩欧美一二三区| 久久综合999| 欧美.日韩.国产.一区.二区| 亚洲最新在线| 亚洲一区二区综合| 伊人久久婷婷色综合98网| 亚洲午夜电影网| 欧美第一黄网免费网站| 卡通动漫国产精品| 一区二区三区精品国产| 亚洲夜晚福利在线观看| 红桃视频欧美| 亚洲人成毛片在线播放女女| 国产精品大片wwwwww| 久久露脸国产精品| 欧美精品一级| 久久精品国产综合精品| 欧美国产日本| 久久精品最新地址| 欧美激情一区二区久久久| 亚洲欧美综合v| 久久九九99视频| 一本大道久久精品懂色aⅴ| 性欧美暴力猛交69hd| 亚洲人体大胆视频| 亚洲欧美视频一区| 99riav1国产精品视频| 久久国产福利国产秒拍| 亚洲一区二区视频| 欧美成人一区二区| 久久免费视频在线| 国产精品久久91| 91久久中文| 狠狠入ady亚洲精品经典电影| 日韩视频不卡| 亚洲乱码国产乱码精品精98午夜| 性伦欧美刺激片在线观看| 亚洲在线日韩| 欧美婷婷六月丁香综合色| 欧美成在线视频| 国产专区欧美精品| 午夜精品福利一区二区蜜股av| 9色porny自拍视频一区二区| 久久噜噜噜精品国产亚洲综合 | 久久国产福利国产秒拍| 欧美视频在线观看| 亚洲激情中文1区| 亚洲第一中文字幕| 欧美主播一区二区三区| 欧美一区二区播放| 国产精品日韩欧美综合| 一区二区三区欧美| 亚洲一区二区欧美| 欧美日韩理论| 日韩一二三在线视频播| aa亚洲婷婷| 欧美视频精品在线| 一区二区三区回区在观看免费视频| 亚洲人体影院| 欧美剧在线观看| aⅴ色国产欧美| 亚洲一级黄色av| 欧美午夜在线观看| 一区二区三区久久久| 亚洲欧美日韩一区二区三区在线| 欧美日韩中国免费专区在线看| 亚洲午夜精品久久久久久浪潮| 欧美日韩中文在线观看| 夜夜躁日日躁狠狠久久88av| 亚洲视频 欧洲视频| 欧美激情在线有限公司| 国产精品国内视频| 亚洲淫性视频| 欧美主播一区二区三区| 国产丝袜美腿一区二区三区| 欧美一级免费视频| 久久久999精品| 国内不卡一区二区三区| 久久亚洲春色中文字幕| 欧美韩日精品| 亚洲精品欧美日韩| 欧美性一区二区| 欧美一级一区| 亚洲电影免费在线| 亚洲私人黄色宅男| 国产免费成人在线视频| 久久久国产午夜精品| 亚洲精品国产精品国自产在线| 亚洲淫性视频| 激情自拍一区| 国产精品成人观看视频国产奇米| 香蕉久久久久久久av网站| 欧美激情精品久久久久久蜜臀 | 亚洲一区二区精品| 久久综合色婷婷| 亚洲美女精品久久| 国产精品亚洲综合一区在线观看 | 亚洲视频一区二区| 国产伦精品一区二区三区四区免费| 久久精品一区二区三区不卡| 99re成人精品视频| 久久一区二区三区国产精品| 99精品欧美一区二区三区综合在线 | 国语自产在线不卡| 欧美日本亚洲| 久久久国产精品一区二区三区| 最近中文字幕日韩精品| 久久精品国产视频| 亚洲性xxxx| 亚洲国产裸拍裸体视频在线观看乱了 | 午夜亚洲视频| 亚洲成人在线视频播放| 久久久久久穴| 欧美一区二区免费观在线| 亚洲精品免费电影| 精品999成人| 国产日韩av在线播放| 欧美日韩国产一区二区| 欧美11—12娇小xxxx|