我對架構設計的理解

2021-09-10 14:57:55 字數 911 閱讀 6495

遊戲架構設計是乙個老生長談的話題,以前給多個遊戲公司培訓過,隨著時間的積累,對遊戲架構設計的理解又多了一些,在此給讀者分享一下我對於架構設計的理解。

遊戲架構設計是基於引擎的基礎上的二次封裝,目的是便於遊戲開發者能夠專注於邏輯的編寫,便於多人協同開發,便於功能的擴充套件等等。不論使用什麼引擎,只要掌握了思想,就能解決問題。

我先把我們的設計思想介紹一下,我們的架構設計總體來說是基於元件的模組化設計,舉個例子,乙個角色要移動,要戰鬥,要釋放技能,我們只需要把移動元件,戰鬥元件,不同的技能元件加到角上身上就可以了,其他的諸如管理類也是以元件的形式載入到記憶體中,每個元件都是乙個view,我們在設計時,物件上的指令碼掛接的非常少,幾乎不掛接任何指令碼,這樣是為了保證資源更新不影響邏輯的編寫。下面我們逐一介紹架構設計的實現想法,主要分三步:

第一步:通過觀察者模式監聽訊息,這個訊息包括網路訊息,各種資源載入訊息等等,這個主要是與引擎相關的,對於邏輯層來說,只需要拿到對應的訊息處理即可。

第二步:更新遊戲物件相關的個體了,在這一步裡面,我們可以使用fsm有限狀態機,行為樹等等,當然也包括玩家的虛擬遙感或者鍵盤,滑鼠等等輸入裝置。

第三步:邏輯互動層,包括客戶端與伺服器進行互動,還有物件與場景中的npc互動等等,這些操作主要是在邏輯層中進行的,比如客戶端鏈結伺服器需要鏈結ip位址和埠號。另外,還有遊戲中角色網路同步互動,角色同步更新回到了第二步更新個體了。

以上三步也是乙個迴圈的過程,這樣整個遊戲架構就形成了乙個閉環。下面再介紹實現上述思想需要注意的問題:

總結架構設計思想很重要,編寫**運用任何語言都可以實現。熱更新方案市面上都有現成的方案,可以拿過來直接使用。以unity為例,c#有很多的語言特性:attribute,delegate, action,func,reflection等。熟練運用它們我們實現架構設計沒有任何問題。其實所謂的架構設計,需要滿足多人協作模組開發,架構功能易於擴充套件等等即可。

關於對系統架構設計的理解

1 什麼時候進行系統架構設計 當需求分析階段已經明確了系統的功能和業務後,即明確了系統的運營需求。則開始架構設計。2 系統架構的主要工作是設計完成系統模型圖,給到相關專案人員。架構設計模型主要包括5種 邏輯架構 開發架構 資料架構 物理架構 執行架構。一般來說需要設計的系統架構模型有邏輯架構 開發架...

個人對於架構設計的理解

public static idbservice dbservice 在基於提供的基礎服務中,除了dbutilities,還包括company.web.iconfiguration,company.web.icache服務。configuration服務主要作用是記錄基本客戶資訊和系統處理基礎資訊,...

個人對於架構設計的理解

public static idbservice dbservice 在基於提供的基礎服務中,除了dbutilities,還包括company.web.iconfiguration,company.web.icache服務。configuration服務主要作用是記錄基本客戶資訊和系統處理基礎資訊,...