基本信息
- 原书名:Creating Games in C++: A Step-by-Step Guide
- 原出版社: New Riders Games

编辑推荐
您喜爱视频游戏吗?您是否想开发一款自己的动感游戏?这并不像想象的那样复杂,也不要求您是数学家或编程天才。本书介绍编写第一款游戏“Invasion of the Slugwroths”所需的一切。
内容简介
计算机书籍
本书系统介绍使用C++进行游戏编程的概念、方法、技巧、实例以及综合运用。本书共分为五部分,第一部分简要介绍编写游戏所需的工具和技能,包括大量有关编程的基本概念。第二部分深入介绍面向对象编程。第三部分展示如何构建游戏程序,并以Ping游戏为例进行全面讨论, 包括如何为游戏添加声音。第四部分介绍编写游戏所需的高组C++技能。第五部分以游戏Invasion of Slugwroths为例介绍如何综合运用本书的知识。本书的随书配套光盘提供游戏编程所需的编译器、连接器和调试器、游戏引擎,以及书中的示例代码和推荐读物等。
本书是游戏编程的入门级读物,不要求具备计算机编程的基本知识。既适合作为有志于成为游戏程序员的读者的基础读物,也可用作游戏程序员的参考书。
作译者
目录
前言
致谢
第一部分 基础知识
第1章 成为游戏程序员需要什么
1.1 编程技能
1.1.1 计算机程序是什么
1.1.2 C++编程语言
1.1.3 游戏编程工具
1.2 计算机图形学
1.2.1 计算机图形学基础
1.2.2 在计算机屏幕上显示图片
1.2.3 实现游戏动画
1.3 游戏设计技能
1.3.1 构造游戏代码
1.3.2 让游戏变好
1.4 美术技能
1.5 声音和音乐技能
1.6 小结
第2章 编写C++程序
译者序
作为游戏的玩家,我们可能玩过数十种甚至上百种不同的游戏。可对于这些游戏是如何设计、开发和实现的,大多数人却知之甚少。沉浸在某一款游戏的欢乐之中的时候,也许我们会产生揭开它的面纱一探究竟的愿望。可是我们往往缺乏触及游戏开发的机会。就在短短的两年前,市面上还很难找到有关游戏开发的技术图书。而今天,走进任何一个稍具规模的书店,都不难找到这样的技术图书。一些中型、大型的书店甚至设立了游戏开发图书专柜。这一变化,也从另一个侧面反映了游戏产业在最近几年的飞速发展和变化。
那么,本书和市面上大多数的游戏开发类图书相比较,有什么显著的特点呢?
首先,本书假设读者不知道如何编写计算机程序,也就是说,它是针对游戏编程的初学者。在希望成为游戏程序员的朋友当中,不知道如何编写计算机程序的人占相当大的一部分。很多人是由于热衷于玩一款游戏,激发起了解和学习游戏开发的动机,从而进一步接触和认识游戏开发的。而本书非常适合于这样的读者。当然,如果读者有程序设计的基础,那么,阅读和学习本书将会更加容易。因此,阅读和学习本书的“门槛”很低。
其次,本书教授如何使用C++语言编写游戏。我们知道,C++语言在游戏开发中占据非常重要的地位。要想成为真正的专业游戏开发人员,掌握C++游戏开发技巧是不可或缺的。因此,本书的目标是教给读者真正专业水准的游戏开发技能和方法。..
再次,本书通过构建真正的游戏实例向读者展示完整的开发过程,从而综合应用本书介绍的所有知识和技能;而不是通过小的游戏实例来一点一滴地进行“游击式”的教学。本书这种通过真正游戏实例来整合知识和技能的方法,对于读者成长为专业的游戏程序员非常有帮助。
最后,本书为读者提供编写游戏所需的一切。本书不仅教会读者游戏编程入门所需的一切,而且还提供所需的所有工具,包括编译器、连接器和调试器等等。这些都包含在随书配套光盘中。为了不再编写几乎每个游戏都需要的代码,很多游戏程序员都使用游戏引擎。游戏引擎提供了执行游戏中最常见任务的程序代码。本书的光盘为读者提供了免费的游戏引擎LlamaWorks2D。读者在今后的开发中可以直接拿来使用。此外,作者还提供了生成音乐、创建游戏图形和测试动画的程序。可以毫不夸张地说,本书为读者提供了开发游戏所需的“百宝箱”。
作为本书的译者,非常高兴能够有机会把这样一本游戏开发技术图书介绍给读者朋友们。本书主要由谯谊和刘红伟翻译,其他参与翻译的人员还有景文正、党耀云、安宁宁、王志刚、李振胜、楚亚军、李秋强、景文生、孙海军、景龙等。由于译者水平有限,本书中难免存在一些错误或疏漏,恳请读者朋友们批评指正。...
译者
2006年6月
前言
我刚到日本时,游戏Space Invaders(太空侵略者)红极一时。我从未见过这么酷的游戏。但当我返回美国时,视频游戏已经随处可见。
1981年秋,我进入大学。我的一位旧友也是室友Keith指着大学的课程表上的一门课对我说:“你一定要选这门课。我知道你会喜欢它的”。他说得没错。等到两周过后,我知道:从此我将和计算机结缘。
我的专修是什么呢?当然是图形和游戏。
在大学开始编写游戏是一个漫长而困难的任务。只有对编写优秀游戏抱着一种朝圣者心情的人才有可能成为一个真正的奇客(就像我这样的人)。
奇客指引领时尚、具有原创和新奇精神的人。——译者注从那时开始,世界发生很多变化。通过现在这些可用的工具,几乎任何人都能够编写出新颖、有创意的游戏。
本书有何不同
游戏编程的入门图书有很多。最终,每个人都会问:“这本书有什么特别之处呢”?
我很高兴你问到这个问题。
简短的答案就是,本书有几个方面与99%的游戏编程入门图书都不同。
本书假设读者不知道如何编写计算机程序
大多数想要开始学习游戏编程的人根本不知道如何编写程序。他们很聪明、有创造性、有创新精神,并且喜欢游戏。但是,他们还不会编写计算机程序。
实际上,我所见过的每一本游戏编程入门图书都假设读者熟悉一门C或C++这样的编程语言。这意味着,大多数初学游戏编程的程序员在能够开始编写游戏之前,先要花数月或数年的时间来学习编程。
这是多大的浪费啊!
如果你想要成为一名游戏程序员,但你的编程经验却很少或者根本没有,那么,本书很适合你。正如我前面所提到的,与25年前我进入这个行业的时候相比,如今可用于编写游戏的工具已经很大地简化了整个过程。对于聪明而富有创造性的人,完全没有理由在学习编写游戏之前,还必须钻过一个又一个无聊的铁圈。你可以同时学习编写计算机程序和编写游戏。不幸的是,大多数游戏编程入门图书的读者并没有碰到这种机会。
本书教给你真正的游戏编程技能
只有少数甚至极少数游戏编程入门图书是写给非程序员的。为了尝试使事情简单,它们教你如何用Basic语言来编写程序。不幸的是,没有什么游戏是用Basic编写的。对于真正的游戏来说,这种语言太慢了。相反,游戏程序员使用一种叫做C++的语言。因此,如果你读了这样的一本(Basic语言编写游戏)图书,而又想编写真正的游戏,你将不得不重新从一门新的编程语言开始学习。
与市面上任何其他的书不同,本书教非程序员如何用C++编写程序。读完本书,对于真正程序员所使用的编程语言,你将会相当精通。
另外,本书说明并展示专业游戏程序员实现动画和声音所使用的技术。此外,还展示向游戏中添加基本的物理特性其实非常容易。
本书教你如何构建一个真正的游戏