《游戏设计基础与实践教程》是一本介绍游戏设计与开发的实用教程,书中以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小结
参考文献