《游戲設計基礎與實踐教程》是一本介紹游戲設計與開發的實用教程,書中以Visual C++為開發平臺,結合游戲編程的特點,將基礎知識和程序實例進行融合。本書內容包括:游戲漫談、游戲設計概論、Windows編程簡介、MFC編程基礎、動畫機制、游戲中的數學物理算法、音效與音樂、捉猴子游戲的設計與開發、拼圖游戲的設計與開發、掃雷游戲的設計與開發以及連連看游戲的設計與開發。
《游戲設計基礎與實踐教程》既可作為高等學校數字媒體技術、計算機、藝術等專業的游戲設計課程教材,也可作為游戲設計與開發人員的參考書。
《游戲設計基礎與實踐教程》配有授課電子課件,需要的教師可登錄wwwcmpeducom免費注冊,審核通過后下載,或聯系編輯索取(QQ:2966938356,電話:010-88379739)。
適讀人群 :高等學校數字媒體技術、計算機、藝術等專業學生
第8至11章給出4個游戲設計實例的完整開發過程和步驟詳解。讀者可根據書中實例提供的完整步驟,完成實例程序的設計、開發和發布。
游戲設計與開發是一個涉及多學科的領域,它不僅包括游戲策劃、美工設計、音樂制作等藝術方面的知識,還包括程序設計、動畫設計、網絡編程等技術方面的知識,另外還需考慮管理、文化等諸多因素。因此,要設計并開發出一款廣受歡迎的游戲佳作,需要各個領域的專業人才共同合作。
本書綜合考慮游戲設計與開發強調技術與藝術相結合的特點,結合實際教學經驗以及教學過程中學生的學習現狀,采用了由易到難、循序漸進的編寫模式。同時,本書強調理論與實踐相結合,在本書的引導下,使讀者能夠獨立自主地完成游戲的設計與開發。本書建議授課學時為48學時,實驗學時24學時,并要求先修C語言。
全書共分為11章,其中第1章和第2章是介紹游戲設計相關的理論知識,主要介紹游戲的發展、需要用到的相關計算機知識、游戲的分類以及游戲設計的流程、組成、游戲引擎等知識。第3~7章講解游戲開發所需具備的編程基礎知識,包括Windows編程基礎、MFC編程基礎、動畫機制、游戲中的數學物理算法以及音效與音樂,為后續的游戲實例開發打下基礎。第8~11章詳細講解了捉猴子游戲、拼圖游戲、掃雷游戲以及連連看游戲的設計與開發,每個實例都有詳細的步驟講解,力求使讀者能夠容易理解與掌握。
本書中所介紹的實例都是在Windows XP、Windows 7、Windows 8和Visual C++ 60、Visual C++ 2010環境下調試運行通過的。讀者可根據書中實例提供的完整步驟,完成實例程序的設計、開發和發布。
本書由田元、姚璜和管濤編著。本書的順利出版,要感謝華中師范大學教育信息技術學院的領導和老師給予的大力支持和幫助。同時,本書在編寫過程中得到了華中師范大學國家數字化學習工程技術研究中心陳矛老師的悉心指導,對此深表感謝。
由于時間倉促,作者水平有限,書中難免存在疏漏之處,敬請讀者指正,并提出寶貴意見。
前言
第1章游戲漫談
11游戲發展簡史
111游戲的起源
112游戲的共性
113游戲的發展
12相關計算機知識
121軟硬件要求
122游戲行話
13游戲的本質
14游戲分類
15小結
16思考題
第2章游戲設計概論
21游戲的設計流程
211需求分析
212可行性分析
213總體設計
214詳細設計與編碼
215游戲測試與發布
22游戲設計的組成
221創意
222管理
223藝術
224編碼
225音頻
23游戲開發工具
24游戲引擎
25小結
26思考題
第3章Windows編程簡介
31Windows編程基礎
311Windows的開發平臺
312窗口
313Windows程序設計
314事件與消息
315句柄
316Windows程序的數據類型
32利用Visual Studio C++建立MFC應用程序
33小結
34思考題
第4章MFC編程基礎
41開發環境
411了解開發平臺
412類向導——ClassWizard
413項目與項目工作區
42SDI相關知識
421新建一個SDI應用程序
422文檔——視圖結構
43鼠標與鍵盤
431鼠標事件
432鍵盤事件
433【程序示例】錢幣疊加
44GDI相關知識
441CGdiObject類的派生類
442畫筆和畫刷的使用方法
443文字的顯示和圖形的繪制
45位圖及其加載
451位圖結構
452位圖類
453【程序示例】位圖的顯示
46對話框
47控件
471按鈕
472靜態控件
473編輯框
474列表框
475進度條
48菜單
481菜單的基本知識
482菜單的創建
483菜單的命令處理
49集合類
491表
492數組
493映射
410【程序示例】手寫手繪
411小結
412思考題
第5章動畫機制
51游戲動畫
511動畫機制
512連續運動的實現
513時鐘事件的啟動及設置方法
52【程序示例】貼圖動畫
53雙緩沖
531雙緩沖原理
532【程序示例】利用雙緩沖消除圖片背景
54小結
55思考題
第6章游戲中的數學物理算法
61游戲中的數學公式
62物理原理
621牛頓運動定律
622【程序示例】勻速運動的模擬
623變速運動的模擬
624【程序示例】平拋運動的模擬
625動量守恒的模擬
626【程序示例】反射運動的模擬
63對象的碰撞檢測
631碰撞對速度的影響
632碰撞及其分類
633【程序示例】彈球運動模擬
64【程序示例】粒子系統
65小結
66思考題
第7章音效與音樂
71MCI的基本操作
72【程序示例】MIDI音樂播放器
721瀏覽并選擇音樂文件
722循環播放的實現
73播放WAV和MP3文件
74封裝MCI的常用功能
75小結
76思考題
第8章捉猴子游戲的設計與開發
81【程序示例】簡化游戲的設計與開發
811導入圖片
812設計菜單及工具欄
813添加鼠標事件與時鐘事件
814判斷輸贏
82【程序示例】捉猴子游戲的設計與開發
821主程序與對話框的數據交換方法
822數據管理——數組
823自定義MFC風格
83小結
第9章拼圖游戲的設計與開發
91拼圖游戲分析
911背景介紹
912需求分析
92拼圖游戲的界面設計
93【程序示例】拼圖游戲的開發
931改變標題
932導入圖片
933分割圖片
934打亂圖像順序
935添加鼠標事件
936添加游戲信息
94小結
第10章掃雷游戲的設計與開發
101掃雷游戲分析
1011背景介紹
1012需求分析
102游戲界面設計與地圖
1021生成地圖數據
1022顯示地圖
103【程序示例】掃雷游戲的開發
1031初始化
1032處理單擊事件
1033右鍵事件單擊處理函數
1034雙鍵按下事件處理函數
1035重新開始游戲
104本章小結
第11章連連看游戲的設計與開發
111連連看游戲分析
1111背景介紹
1112需求分析
112連連看游戲的界面設計
113【程序示例】連連看游戲的開發
1131建立游戲工程
1132游戲區域地圖及初始化
1133導入游戲圖案
1134消除條件
1135添加鼠標事件
1136添加游戲輔助功能
114小結
參考文獻