本系列博客主要是以對(duì)戰(zhàn)游戲?yàn)楸尘敖榻B3D對(duì)戰(zhàn)網(wǎng)絡(luò)游戲常用的開(kāi)發(fā)技術(shù)以及C++高級(jí)編程技巧,有了這些知識(shí),就可以開(kāi)發(fā)出中小型游戲項(xiàng)目或3D工業(yè)仿真項(xiàng)目。

筆者將分為以下三個(gè)部分向大家介紹(每日更新):

1、實(shí)現(xiàn)基本通信框架,包括對(duì)游戲的需求分析、設(shè)計(jì)及開(kāi)發(fā)環(huán)境和通信框架的搭建;

2、實(shí)現(xiàn)網(wǎng)絡(luò)底層操作,包括創(chuàng)建線程池、序列化網(wǎng)絡(luò)包等;

3、實(shí)戰(zhàn)演練,實(shí)現(xiàn)類似于CS反恐精英的3D對(duì)戰(zhàn)網(wǎng)絡(luò)游戲;

技術(shù)要點(diǎn):C++面向?qū)ο笏枷?、網(wǎng)絡(luò)編程、Qt界面開(kāi)發(fā)、Qt控件知識(shí)、Boost智能指針、STL算法、STL、容器、Boost網(wǎng)絡(luò)庫(kù)、OpenGL坐標(biāo)變換、OpenGL加載3D模型、MD2模型加載、MDL模型加載

 

好了,下面就讓我們來(lái)開(kāi)始今天的學(xué)習(xí)之旅,系統(tǒng)設(shè)計(jì)的總體設(shè)計(jì)和概要設(shè)計(jì)部分。

 

一、設(shè)計(jì)思路

(1)思路:

  將從游戲基本流程、功能模塊劃分、客戶端總體設(shè)計(jì)、系統(tǒng)包圖結(jié)構(gòu)、服務(wù)器端功能劃分、客戶端功能劃分六個(gè)部分進(jìn)行游戲的系統(tǒng)設(shè)計(jì),這里希望大家能夠熟悉UML包圖的使用方法。

(2)包圖介紹:

  在UML的建模機(jī)制中,模型的組織是通過(guò)包來(lái)實(shí)現(xiàn)的。包把建立的各種模型組織起來(lái),形成各種功能或用途的模塊,并可以控制包中元素的可見(jiàn)性以及描述包之間的依賴關(guān)系。通過(guò)這種方式,系統(tǒng)模型的實(shí)現(xiàn)者可在高層把握系統(tǒng)的結(jié)構(gòu)。包圖是一種維護(hù)和描述系統(tǒng)總體結(jié)構(gòu)的模型的重要建模工具,通過(guò)對(duì)包中各個(gè)包以及包之間關(guān)系的描述,展現(xiàn)出系統(tǒng)的模塊與模塊之間的依賴關(guān)系。

(3)包圖的作用

  包圖可以描述需求,設(shè)計(jì)的高階概況;包圖通過(guò)合理規(guī)劃自身功能反應(yīng)系統(tǒng)的高層架構(gòu),在邏輯上將系統(tǒng)進(jìn)行模塊化分解;包圖最終是組織源碼的方式。

二、游戲總體設(shè)計(jì)

(1)游戲流程圖:

 

(2)功能模塊圖:

 

 

(3)客戶端總體設(shè)計(jì):

 

 

 

三、游戲概要設(shè)計(jì)

(1)系統(tǒng)包圖:

 

(2)服務(wù)器端包圖:

 

(3)客戶端包圖:

 

 

  歡迎大家學(xué)習(xí)交流,如有不足懇請(qǐng)批評(píng)指正,轉(zhuǎn)載請(qǐng)注明出處,感謝您的支持。如果您也喜歡我的博客可以持續(xù)關(guān)注我,讓我們一起成長(zhǎng),共同進(jìn)步。

  生活很精彩 剔除雜質(zhì),留下對(duì)編程的窮極探索 純粹追求。