• 一、前言

  《碼神聯(lián)盟》是一款為技術人做的開源情懷游戲,每一種編程語言都是一位英雄??蛻舳撕头斩司褂肅#開發(fā),客戶端使用Unity3D引擎,數(shù)據(jù)庫使用MySQL。這個MOBA類游戲是筆者在學習時期和客戶端美術策劃的小伙伴一起做的游戲,筆者主要負責游戲服務端開發(fā),客戶端也參與了一部分,同時也是這個項目的發(fā)起和負責人。這次主要分享這款游戲的服務端相關的設計與實現(xiàn),從整體的架構(gòu)設計,到服務器網(wǎng)絡通信底層的搭建,通信協(xié)議、模型定制,再到游戲邏輯的分層架構(gòu)實現(xiàn)。同時這篇博客也沉淀了筆者在游戲公司實踐五個月后對游戲架構(gòu)與設計的重新審視與思考。

  這款游戲自去年完成后筆者曾多次想寫篇博客來分享,也曾多次停筆,只因總覺得靈感還不夠積淀還不夠思考還不夠,現(xiàn)在終于可以跨過這一步和大家分享,希望可以帶來的是干貨與誠意滿滿。由于目前關于游戲服務端相關的介紹文章少之又少,而為數(shù)不多的幾篇也都是站在游戲服務端發(fā)展歷史和架構(gòu)的角度上進行分享,很少涉及具體的實現(xiàn),這篇文章我將嘗試多從實現(xiàn)的層面上加以介紹,所附的代碼均有詳盡注釋,篇幅較長,可以關注收藏后再看。學習時期做的項目可能無法達到工業(yè)級,參考了github上開源的C#網(wǎng)絡框架,筆者在和小伙伴做這款游戲時農(nóng)藥還沒有現(xiàn)在這般火。  : ) 

  • 二、服務器架構(gòu)

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

  上圖為這款游戲的服務器架構(gòu)和主要邏輯流程圖,筆者將游戲的代碼實現(xiàn)分為三個主要模塊:Protocol通信協(xié)議、NetFrame服務器網(wǎng)絡通信底層的搭建以及LOLServer游戲的具體邏輯分層架構(gòu)實現(xiàn),下面將針對每個模塊進行分別介紹。

  • 三、通信協(xié)議

  iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

  先從最簡單也最基本的通信協(xié)議部分說起,我們可以看到這部分代碼主要分為xxxProtocol、xxxDTO和xxxModel、以及xxxData四種類型,讓我們來對它們的作用一探究竟。

  • 1.Protocol協(xié)議

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式