erlang 遊戲目錄結構 大坑待填

2021-06-27 17:26:05 字數 1585 閱讀 8390

一:為什麼講目錄結構

目錄結構可以反映出遊戲伺服器的設計思路,比如程序的劃分,功能之間的互動等等

二:寫在之前

預計會講三個專案的目錄結構,分別是

我們自己的,

最近組內新進高手帶來的,

從隔壁專案組取經過來的

交流過程中確實發現我們的很多不足

三:自己正在用的結構

project根目錄下是標準的otp目錄結構  include ebin src

include是包含的標頭檔案,ebin是編譯成的beam檔案,這兩個目錄會比較單純多解釋,接下來解釋src目錄

src目錄下主要有4個結構

我們使用的是protobuff協議

以pp_arena為例,檔案中的內容為

handle(20001, playerid, _)->

mod_arena:handle_get_base_info(playerid);

handle(20002,playerid, #cs_20003) ->

mod_arena:handle_get_target_info(targetid).

pp檔案收到協議後會讀取約定的資料,轉到mod資料夾內繼續進行,我們接著向下分析

2:mod 資料夾是鏈結協議的檔案

mod檔案中的函式,負責從對應的lib檔案取出對應的資料,**到lib檔案打包

同樣以mod_arena為例

mod_arena內的乙個函式

handle_get_challenge_data(playerid) ->

challengedatalist = lib_arena_show:get_challenge_data(playerid),

lib_arena_pack:pack_and_send_challenge_data(playerid, challengedatalist).

將展示用的資料取出,轉到打包檔案處理

3:lib資料夾

lib資料夾下按模組劃分了許多子資料夾

比如arena,item,bag等等。。

裡面是各系統的具體邏輯

4:oterfile

存放一下工具類的檔案,

比如timer , utils, hot_reload等

可以看到我們現在的目錄結構是以功能為劃分的,無論玩家程序,或者競技場程序都劃分在模組資料夾內

這麼做的好處是,理解起來方便,查詢問題更方便定位。缺點是,對於伺服器程序的理解不是太清晰

四:新進同事帶來的結構

控制台遊戲目錄

寫遊戲,肯定要寫目錄,如果把目錄寫出巢狀,乙個乙個的進去,在乙個乙個的出來,肯定很麻煩,還容易錯,遇到從這一層目錄跳轉到另乙個目錄,頭都要炸。這裡介紹一種我自己想到的目錄結構 在這個結構中,目錄不是巢狀結構,都是平級的。首先,把原來的根目錄寫成乙個函式,再把別的目錄也都寫成函式。如果要從乙個目錄轉到...

商業指標 遊戲目的

商業指標 遊戲目的 商業指標是企業想要提高的核心資料和結果。這些結果一般是給投資人或管理層看的,證明遊戲化的實際作用。這些商業指標包括 盈利 日活躍使用者 月活躍使用者 活躍時間 留存使用者 註冊資料等等。當我們定義商業指標的時候,一定要能用資料表示,並按照優先順序排序。商業指標不能是含糊不清的稱述...

XNA教程 2D遊戲 目錄索引

xna遊戲教程.2d 2d遊戲教程簡介 建立遊戲工程 新增asset 繪製背景 新增一門加農炮 發射炮彈 新增敵人ufo 摧毀ufo 記錄分數 其他擴充套件 extra credit community tutorials 什麼是asset?content pipeline是如何工作的?sprite...