最近轉行開始做遊戲開發,混進一家遊戲公司,公司正在做乙個mmorpg的遊戲專案。這個系列文章會記錄我對mmorpg遊戲開發的一些開放方式和構架。
剛入職一周,剛開始學習,很多地方的認知未必正確,路過的各位大仙求指點。
我們公司客戶端開發人員主要分為四類:
1:c#與伺服器互動的的中介軟體開發,將所有和伺服器的web互動協議提取成介面,並且製作與本地資料庫互動的元件,並且提供一些專案的基礎工具類。
2:客戶端表現開發,我就是做這一塊的,主要負責客戶端所有戰鬥、任務、及其他遊戲內容的展現。邏輯向的內容並不多,主要負責展示,邏輯基本90%都是由伺服器端來計算,客戶端只要實現各種功能的介面和監聽,然後把它們表現出來就可以了。
3:ui程式,這個最好理解,就是做介面的,現在的手遊大量的功能都是通過平面的ui來實現。
4:輔助程式開發,在企業級的開發中,需要提供大量的工具給策劃和美術用。
完美的狀態下,客戶端完全是乙個資料驅動的結構,策劃只需要填寫各種表,然後美工根據資料將需要的素材放到對應的位置,然後客戶端可以根據資料獲取到對應的素材,
動態實現各種功能,這樣整個專案大多數模組化的功能維護,只需要策劃去修改資料就能實現功能的維護。 這種結構對於資料設計非常關鍵,對策劃的易用性和客戶端的擴充套件性都非常的重要。
首先聊聊客戶端物件的封裝。
場景內的物體一般結構體都繼承自中介軟體開發的entityobject物件,封裝在dll檔案內,這個類實現了大量物體基礎功能的介面,&&&
entity繼承entityobject ,主要實現了物體的基本屬性。
animatedobject 繼承了entity類主要用來實現帶動作的物體,實現了動畫模組和給這種動態物體子類提供一些介面,並且實現了大量移動,戰鬥類的功能玩家和怪物都繼承自這個類。
character 繼承了animatedobject, 主要用來實現骨骼物體,包括骨骼動畫控制和根據骨骼和預製件組織成物體的功能。
player 繼承了character ,實現了玩家特有的功能。
還有大量的物體 ,比如機關,門,道具之類各種各樣的物體都是直接繼承entity類來實現。
而客戶端各種功能元件,比如動畫元件,日誌元件 ,音訊元件,技能元件,盡量完整實現對應的所有功能,然後作為component來動態載入到需要的物件上,盡量乙個skillcomponent實現所有技能的邏輯,然後功能傳入結構體來實現各種各樣的效果,這個元件基本就是統一的入口。其他元件也是這個道理。
u3d遊戲客戶端架構
主要是mvc架構,m層為資料層,兩個用途 1儲存資料 2傳送資料更新資訊 v層為檢視層,兩個用途 1接受使用者從介面上的操作 2根據m層的資料顯示相應的介面 c層為控制層,兩個用途 1處理和介面無關的 邏輯 2接受和處理網路資料 繼續 按照自己的經驗,遊戲中的mvc架構有兩種思想,1,以mvc架構為...
U3D開發MMORPG 服務端 客戶端獨立製作
我曾是 前端在職人員,目前在學習遊戲開發 我一直覺得自己是個自學能力較強的人,當初學習 前端的技術就是自學的,也順利找到了工作。可是在做 前端的這份工作時我內心一直有一顆遊戲夢,我想能夠進入到遊戲行業,並且未來做出屬於自己的遊戲。當我開始自學遊戲開發的時候,我發現遊戲開發的複雜度要比 開發的複雜度高...
U3D學習 跑酷遊戲
1.製作場景cube預製件 新建cube 製作材質球 改變其顏色等 將改變好的cube放入assets中成為預製件用於製作遠景 以相同方法製作近景 建立empty gameobject命名managers 在managers下建立empty gameobject命名skylinenearmanage...