《基于C++的網(wǎng)絡游戲引擎開發(fā)畢業(yè)設計論文》由會員分享,可在線閱讀,更多相關(guān)《基于C++的網(wǎng)絡游戲引擎開發(fā)畢業(yè)設計論文(12頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、附件2
本科生畢業(yè)設計(論文)開題報告
學生姓名:
導師姓名、職稱:
所屬學院:
專業(yè)班級:
設計(論文)題目: 基于C++的網(wǎng)絡游戲引擎開發(fā)
年 月 日
開題報告填寫要求
1.開題報告應根據(jù)教師下發(fā)的畢業(yè)設計(論文)任務書,在教師的指導下
2、由學生獨立撰寫。
2.開題報告內(nèi)容填寫后,應及時打印提交指導教師審閱。
3.“設計的目的及意義”至少800漢字(外語至少500字),“基本內(nèi)容和技術(shù)方案”至少400漢字(外語至少200字)。進度安排應盡可能詳細。
4.指導教師意見:學生的調(diào)研是否充分?基本內(nèi)容和技術(shù)方案是否已明確?是否已經(jīng)具備開始設計(論文)的條件?能否達到預期的目標?是否同意進入設計(論文)階段?
撰寫內(nèi)容要求(可加頁):
1.目的及意義(含國內(nèi)外的研究現(xiàn)狀分析)
2.研究(設計)的基本內(nèi)容、目標、擬采用的技術(shù)方案及措施
3.進度安排
4.閱讀的參考文獻不少于15篇(其中近五年外文文獻不少于3篇)
3、
5.指導教師意見
1. 目的及意義(含國內(nèi)外的研究現(xiàn)狀分析)
1.1背景資料
隨著人們生活水平的提高和互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡游戲也逐漸的走向了更多的玩家,并逐漸發(fā)展成為IT產(chǎn)業(yè)中的支柱行業(yè)。網(wǎng)絡游戲也己經(jīng)成為人們尤其是作為未來消費主體的青少年的主要娛樂方式。
網(wǎng)絡游戲與單機版游戲相比,明顯具有以下優(yōu)點:良好的互動性,既可以與在線玩家交流,又可以與游戲程序本身交流,而單機版游戲只能與程序交流;自由性:信息保存在服務器上,可用任何一臺裝有客戶端的聯(lián)網(wǎng)PC游戲,而單機版信息只保存在單機上,不可以在其他PC上繼續(xù)游戲;服務性:服務更加體貼周到,程序內(nèi)容不斷更新,可持續(xù)性較強,而單機版只能反
4、復玩,比較單調(diào)。而隨著寬帶的日益普及,網(wǎng)絡游戲的優(yōu)勢將越來越明顯。
網(wǎng)絡游戲是一種基于計算機互聯(lián)網(wǎng)的應用軟件,是新型的休閑娛樂方式。游戲軟件產(chǎn)業(yè)作為一個新興的高技術(shù)產(chǎn)業(yè),己經(jīng)成為同影視、音樂等并駕齊驅(qū)的全球最重要的娛樂產(chǎn)業(yè)之一。我國網(wǎng)絡游戲產(chǎn)業(yè)規(guī)?;l(fā)展起于2000年,雖然只有短短幾年的時間,但發(fā)展勢頭迅猛。網(wǎng)絡游戲產(chǎn)業(yè)已成為網(wǎng)絡經(jīng)濟及娛樂業(yè)的重要支撐,同時正帶動著相關(guān)產(chǎn)業(yè)的發(fā)展。
1.2國內(nèi)外研究現(xiàn)狀分析(文獻查閱報告)
通過查閱文獻資料,我基本了解了國內(nèi)外對于設計與實現(xiàn)基于C++的網(wǎng)絡游戲引擎的研究現(xiàn)狀。目前我國很多公司都開發(fā)了基于C++的網(wǎng)絡游戲引擎,對網(wǎng)絡游戲引擎的研究也很多,下
5、面介紹兩個相關(guān)的系統(tǒng):
(1) 在東北大學計算機科學與技術(shù)2006 屆畢業(yè)生設計了一個《2D網(wǎng)絡游戲引擎的設計與實現(xiàn)》[3]。該引擎采用通過對Winsock技術(shù)、通信協(xié)議、通信方式以及MFC中的CSocket通信模型的研究,在Winsock API的基礎上,對這些API進行重新封裝和功能擴展,提出了一個網(wǎng)絡底層通信模型。通過對網(wǎng)絡通信方式和網(wǎng)絡游戲中消息處理方法的研究,利用網(wǎng)絡底層通信模型,設計并實現(xiàn)了一個服務器端消息處理系統(tǒng)。通過對客戶端版本文件建立方法、文件接受與傳輸技術(shù)的研究,并借鑒MD5信息摘要算法設計并實現(xiàn)了一個功能獨立的客戶端文件自動更新系統(tǒng)。
(2) 在浙江大學計算機應用技術(shù)
6、2005 屆畢業(yè)生設計了一個《3D游戲引擎研究與實現(xiàn)》[4]。游戲引擎是一個處理游戲底層技術(shù)的平臺, 3D引擎是游戲引擎中的子引擎,負責3D圖形繪制功能,本文在分析現(xiàn)有3D商業(yè)引擎的基礎上,設計和實現(xiàn)了一個功能完備的新一代3D引擎系統(tǒng)。 3D引擎功能主要是負責3D圖形相關(guān)的功能。首先是光影效果,即場景中的光源對處于其中的人和物的影響方式。游戲的光影效果完全是由引擎控制的,折射、反射等基本的光學原理以及動態(tài)光源、彩色光源等高級效果都是通過引擎的不同編程技術(shù)實現(xiàn)的。 其次是模型動畫,目前游戲所采用的動畫系統(tǒng)可以分為兩種:一是骨骼動畫系統(tǒng),一是模型動畫系統(tǒng),前者用內(nèi)置的骨骼帶動物體產(chǎn)生運動,比較常見
7、,后者則是在模型的基礎上直接進行變形。引擎把這兩種動畫系統(tǒng)預先植入游戲,方便動畫師為角色設計豐富的動作造型。引擎的另一重要功能是提供物理系統(tǒng),這可以使物體的運動遵循固定的規(guī)律。
1.3目的及意義
目的(為了解決什么科學技術(shù)問題):隨著人們對游戲文化的要求越來越高,網(wǎng)絡游戲市場必然會發(fā)生一系列相應的變化,游戲產(chǎn)品將具有更深的文化底蘊,游戲模式將具有更高的玩賞性。因此開發(fā)帶有民族特色的,蘊涵深厚文化底蘊的國產(chǎn)網(wǎng)游就顯得刻不容緩。
而國產(chǎn)游戲開發(fā)中面臨的第一個瓶頸一技術(shù)的發(fā)展并不是一個一繳而就的過程,無論是網(wǎng)絡游戲表層的在客戶端技術(shù)開發(fā)等可見領(lǐng)域,還是包括平衡性等在內(nèi)的后臺不可見因素,這些都需
8、要時間的積累。
所以開發(fā)自己的游戲引擎顯得非常有必要。
意義(社會經(jīng)濟價值):文化部向國內(nèi)12家網(wǎng)絡游戲業(yè)的實力廠商頒發(fā)了首批《網(wǎng)絡文化經(jīng)營許可證》之后,“網(wǎng)絡游戲通用引擎研究及示范產(chǎn)品開發(fā)”、“智能化人機交互網(wǎng)絡示范應用”兩個項目又被正式納入了863計劃,這也是我國首次將網(wǎng)絡游戲技術(shù)納入國家科技計劃。863計劃是中國游戲產(chǎn)業(yè)發(fā)展的一個契機,隨著政府監(jiān)管力度的不斷加強,各種法規(guī)、條例的不斷出臺,表明中國游戲娛樂產(chǎn)業(yè)的春天就要到來了。今后開發(fā)自主的網(wǎng)絡游戲,是推動國內(nèi)游戲娛樂產(chǎn)業(yè)的關(guān)鍵。
因此在這樣的背景下,對網(wǎng)絡游戲相關(guān)技術(shù)進行研究具有一定的社會和經(jīng)濟意義,對網(wǎng)絡游戲開發(fā)也有參考價值。
9、
2.研究(設計)的基本內(nèi)容、目標、擬采用的技術(shù)方案及措施
2.1 目標(開發(fā)的系統(tǒng)概況描述)
開發(fā)自己的游戲引擎。
2.2基本內(nèi)容(系統(tǒng)要完成的功能,例如功能結(jié)構(gòu)圖,和詳細的功能描述)
玩家登陸游戲首先連接負載均衡,獲得負載比較輕松的服務器的地址,然后玩家主動連接服務器,服務器包含游戲引擎和邏輯處理,服務器的數(shù)據(jù)來源都是從memcache獲得。
游戲的底層規(guī)劃圖如圖1所示。
圖1游戲的底層規(guī)劃圖
2.3 技術(shù)方案及措施
服務器的引擎現(xiàn)在是由單進程下多線程接合EPOLL實現(xiàn),服務端包括一個引擎中心和用戶中心,引擎中心主要是先把用戶中心獲得的玩家指令壓進隊列,利用多線程,處理
10、玩家發(fā)送過來的指令,以及返回指令處理結(jié)果給客戶端,用戶中心主要是用來監(jiān)聽SOCKET,接受玩家數(shù)據(jù)的,用戶界面等于游戲客戶端,是采用AS3+FLEX。
l EPOLL
Epoll是Linux內(nèi)核為處理大批量句柄而作了改進的poll。要使用epoll只需要這三個系統(tǒng)調(diào)用:epoll_create(2), epoll_ctl(2), epoll_wait(2)。它是在2.5.44內(nèi)核中被引進的(epoll(4) is a new API introduced in Linux kernel 2.5.44),在2.6內(nèi)核中得到廣泛應用,例如LightHttpd。
l Memcache
mem
11、cached的API使用三十二位元的循環(huán)冗余校驗(CRC-32)計算鍵值后,將資料分散在不同的機器上。當表格滿了以后,接下來新增的資料會以LRU機制替換掉。由于memcached通常只是當作快取系統(tǒng)使用,所以使用memcached的應用程式在寫回較慢的系統(tǒng)時(像是后端的數(shù)據(jù)庫)需要額外的程式碼更新memcached內(nèi)的資料。
l 開發(fā)語言:C++
C++是一種靜態(tài)數(shù)據(jù)類型檢查的,支持多重編程范式的通用程序設計語言。它支持過程化程序設計、數(shù)據(jù)抽象、面向?qū)ο蟪绦蛟O計、制作圖標等等泛型程序設計等多種程序設計風格。
l 后臺數(shù)據(jù)庫:MYSQL
MySQL有它的不足之處,如規(guī)模小、功能有限(M
12、ySQL Cluster的功能和效率都相對比較差)等。但對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。
目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統(tǒng),Apache作為Web服務器,MySQL作為數(shù)據(jù)庫,PHP作為服務器端腳本解釋器。由于這四個軟件都是自由或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢就可以建立起一個穩(wěn)定、免費的網(wǎng)站系統(tǒng)。
3.進度安排
經(jīng)過仔細的分析和研究,現(xiàn)把畢業(yè)設計的進度做如下大概的安
13、排:
(1)1-2周:理解畢業(yè)設計要求,收集、查閱相關(guān)資料。
(2)3-5周:根據(jù)軟件工程學的方法,進行系統(tǒng)分析和設計,提交系統(tǒng)總體設計方案。并完成英文資料的翻譯。
(3)6-13周:熟悉開發(fā)環(huán)境和開發(fā)工具,實現(xiàn)系統(tǒng)功能設計,完成程序編碼并上機調(diào)試通過。
(4)14-15周:撰寫畢業(yè)論文,準備畢業(yè)答辯的有關(guān)文檔及資料。
4.閱讀的參考文獻(不少于15篇,其中近五年外文文獻不少于3篇)
格式要求:
①文獻是期刊時,書寫格式:
[序號] 作者.題目[J]. 刊名,年,卷號(期號)起止頁碼. 或年(期號):起止頁碼.
②文獻是專(譯)著時,書寫格式:
[序號] 作者. 書名[M]
14、. 譯者. 出版地:出版者,出版年:起止頁碼.
文獻是論文集時,書寫格式:
[序號] 作者. 論文集名稱[C] .出版地:出版者,出版年: 起止頁碼
③文獻是會議錄時,書寫格式:
[序號] 編者. 會議名稱,會議地點,會議年份[C]. 出版地:出版者,出版年.
④文獻是學位論文時,書寫格式:
[序號] 姓名. 題目[D]. 授予單位所在地:授予單位,授予年.
⑤文獻是專利時,書寫格式:
[序號] 申請人. 專利名. 國名,專利文獻種類專利號[P].日期.
⑥文獻是技術(shù)標準時,書寫格式:
[序號] 發(fā)布單位. 技術(shù)標準代號. 技術(shù)標準名稱[S]. 出版地:出版者,
15、出版年.
⑦文獻是電子文獻時,書寫格式:
作者. 題目: 其他題目信息[DB、CP、EB / MT、DK、CD、OL]. 出版地: 出版者,出版年(更新或修改日期)[引用日期]. 獲取和訪問路徑.
⑧文獻是專著中析出的文獻時,書寫格式:
析出文獻主要作者,析出文獻題目[M]. 析出文獻其他作者//專著主要作者. 專著題目:其他題目信息. 出版地. 出版者, 出版年:析出文獻的頁碼[引用日期]. 獲取和訪問路徑.
⑨文獻是出版物析出的文獻時,書寫格式:
[序號] 作者.文獻題目[J]. 連續(xù)出版物題目,年,卷(期):頁碼[引用日期].獲取和訪問路徑.
示例:
[1
16、] Slobodan Ribaric, Tomislav Hrkac. A model of fuzzy spatio-temporal knowledge representation and reasoning based on high-level petri nets [J].Information systems.2012, 37:238-256.
[2] 王俊驊,張方方,張?zhí)m芳.基于OpenCV和Halcon的交通沖突視頻自動檢測及數(shù)據(jù)處理[J].同濟大學學報,2010,38(2):238-244.
[3] 石正方.2D網(wǎng)絡游戲引擎的設計與實現(xiàn)[D].沈陽:東北大學,2006
[4] 江峰. 3D游戲引擎研究與實現(xiàn)[D].浙江:浙江大學,2005
...........
..................
....................
5.指導教師意見
指導教師(簽名):
年 月 日
12