本系列博客主要是以對戰遊戲爲背景介紹3D對戰網絡遊戲經常使用的開發技術以及C++高級編程技巧,有了這些知識,就能夠開發出中小型遊戲項目或3D工業仿真項目。算法
筆者將分爲如下三個部分向你們介紹(每日更新):編程
一、實現基本通訊框架,包括對遊戲的需求分析、設計及開發環境和通訊框架的搭建;服務器
二、實現網絡底層操做,包括建立線程池、序列化網絡包等;網絡
三、實戰演練,實現相似於CS反恐精英的3D對戰網絡遊戲;架構
技術要點:C++面向對象思想、網絡編程、Qt界面開發、Qt控件知識、Boost智能指針、STL算法、STL、容器、Boost網絡庫、OpenGL座標變換、OpenGL加載3D模型、MD2模型加載、MDL模型加載框架
好了,下面就讓咱們來開始今天的學習之旅,系統設計的整體設計和概要設計部分。模塊化
(1)思路:工具
將從遊戲基本流程、功能模塊劃分、客戶端整體設計、系統包圖結構、服務器端功能劃分、客戶端功能劃分六個部分進行遊戲的系統設計,這裏但願你們可以熟悉UML包圖的使用方法。學習
(2)包圖介紹:spa
在UML的建模機制中,模型的組織是經過包來實現的。包把創建的各類模型組織起來,造成各類功能或用途的模塊,並能夠控制包中元素的可見性以及描述包之間的依賴關係。經過這種方式,系統模型的實現者可在高層把握系統的結構。包圖是一種維護和描述系統整體結構的模型的重要建模工具,經過對包中各個包以及包之間關係的描述,展示出系統的模塊與模塊之間的依賴關係。
(3)包圖的做用
包圖能夠描述需求,設計的高階概況;包圖經過合理規劃自身功能反應系統的高層架構,在邏輯上將系統進行模塊化分解;包圖最終是組織源碼的方式。
(1)遊戲流程圖:
(2)功能模塊圖:
(3)客戶端整體設計:
(1)系統包圖:
(2)服務器端包圖:
(3)客戶端包圖:
歡迎你們學習交流,若有不足懇請批評指正,轉載請註明出處,感謝您的支持。若是您也喜歡個人博客能夠持續關注我,讓咱們一塊兒成長,共同進步。
生活很精彩 剔除雜質,留下對編程的窮極探索 純粹追求。