Windows游戏程序设计基础
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

笔者从事游戏程序设计专业的教学工作已五六年了,也经历了游戏行业从一夜爆红到理性发展的阶段。很多学校都开设了程序设计专业,从不同的角度、使用不同的开发平台来培养程序员,大多数都侧重于B/S模式的开发,包括使用Java、.NET、PHP等,还有侧重于嵌入式、C/C++开发的。根据TIOBE公司2011年3月最新的调查统计发现,从编程语言这个角度出发,全世界的程序员使用Java的占19.7%,C的占15.3%,C++的占8.8%,然后依次是C#、PHP、Python、VB和Objective-C。

游戏开发平台包括家用游戏机(微软XBOX、索尼PlayStation、任天堂NDS)、手机游戏平台(微软WinPhone、诺基亚Symbian、苹果iPhone、谷歌Android)以及PC游戏。其中PC游戏,特别是网络游戏,始终占据了很大的份额。对于一个渴望进入游戏行业的读者来讲,PC平台下使用Visual C++开发Windows游戏是门槛最低、上手最快的选择。

很多学校都开设了游戏设计专业,名字五花八门,有本科的,也有专科的;有侧重于游戏美工的,也有侧重于游戏编程的。侧重于编程方向的在本科层次可以是软件工程专业、计算机科学与技术专业、数字媒体技术专业,在专科层次可以是计算机多媒体技术、软件技术等。在各种各样程序设计专业中,无论叫什么样的专业名字、课程体系有什么变化,C/C++、数据结构、Windows程序设计、DirectX程序设计这几门课都是必不可少的,开课顺序往往也是这样的。

就拿最基本的C语言来讲,仅仅一门课程是学不好它的。用C语言可以做系统级别的开发(操作系统的大部分代码都是用C语言写的)、嵌入式应用开发,也可以开发游戏的客户端、服务器端和游戏引擎。不同的开发目标,学习C语言的侧重点也有所不同。某些教材基本上忽略了这种差别。Windows程序开发也是这样,仅仅从Win32 API或者MFC的角度来讲这门课,这对于游戏程序设计专业的同学来讲是不够的。我心目中理想的游戏程序设计专业的“Windows程序设计”这门课,不仅仅是以Win32 API作为主要内容的。作为一门入门课程,重要的应该是在Windows平台下如何编写一个入门级的游戏,能够做到麻雀虽小五脏俱全。在整本书中强调游戏的开发理念(例如帧的概念)以及软件工程的理念(包括面向对象和设计模式等),而且还要为同学的后续学习打下基础(包括Windows核心编程、Direct3D应用于二维开发)。

作为一名游戏程序员,不仅仅应该只会造句(C语言、数据结构、Win32 API),更应该懂得如何写文章。

本书是集体智慧的结晶。本书的整体规划和编写由秦海玉、何武(四川师范大学)、付一君、肖康负责,其中秦海玉完成了第1~4章的编写以及所有的编码工作,肖康完成了第5~6章的编写,何武完成了第7~8章的编写,张洁完成了第9~10章的编写,罗艳完成了第11~12章的编写,文武完成了第13~14章的编写,李勇对全书进行了审核。其他执笔者还有秦莉、柳静、宋祥波、敬菲菲、张钰、张华英、王方方、乔付军。在此书的编写过程中还得到了成都东软学院许多老师和同学的支持,在此一并表示感谢!

由于作者水平有限,加之创作时间仓促,不足之处在所难免,欢迎广大读者批评指正。如有疑问,可通过cdqhy@qq.com与作者联系。

笔者

2011年5月20日

于成都东软学院