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