|
管理员
  
|
1楼
大 中
小 发表于 2007-4-30 14:51 只看该作者
[置顶]游戏开发-入门手册-部分开发术语初识
引用:
DirectX是什么?
DirectX(简称:DX)是微软推出的一套基于Windows系统的多媒体应用程式接口APIs函式。
在开发中,DX分为两个部分,一个是运行库,通过DX编译出来的程式必须要有运行库的支持,另外一个是开发库,也就是常说的SDK,这部分是在编译DX程序中是必需的。
引用:学编程需要哪些书?
视情况而定,但作为编程基础,编程类的技术书籍是你所需要的;在游戏程式开发方面,我们大致可以将技术划分为如下几个模块:游戏构架、图形图像、图形特效、游戏逻辑、游戏界面、人工智慧、声音音效、网络连接、系统优化等,明确目标后去寻找相关技术类书籍将使你不再迷茫。 引用:哪些书是介绍游戏开发的?
目前国内已经有不少游戏开发类书籍,这里罗列一些常见书籍。
书名:大型多人在线游戏开发MASSIVELY MULTIPLAYERGAME DEVELOPMENT
作者:亚历山大
译者:史晓明
说明:本书是一本系统介绍MMP(大型多人,Massively Multiplayer)在线游戏开发知识的文集,汇集业内最优秀的游戏开发人员智慧的精华。本书不仅从MMP游戏的角度对客户端技术进行了讨论,还深入剖析了MMP游戏设计、架构、服务端开发、数据库技术以及MMP游戏核心系统等特定于MMP游戏的知识。对于广大MMP游戏开发人员来说,本书是不可多得的参考资料。
书名:游戏编程中的人工智能技术
作者:Mat Buckland
译者:吴祖增,沙鹰
说明:本书是人工智能游戏编程的一本指南性读物,介绍在游戏开发中怎样应用遗传算法和人工神经网络来创建电脑游戏中所需要的人工智能。书中包含了许多实用例子,所有例子的完整源码和可执行程序都能在随书附带的光盘上找到。光盘中还有不少其他方面的游戏开发资料和一个赛车游戏演示软件。
本书讲解的原理通俗易懂,介绍程序详细周到,很适用于游戏编程者自学之用,也可以作为游戏培训教材使用(本书实际已被国内外许多游戏培训单位用作指定教材)。 对于任何希望了解遗传算法和人工神经网络等人工智能技术的各行业人员,特别是要实际动手做应用开发的人员,都是一本值得一读的好书。
书名:游戏美术:2D艺术与3D建模
作者:David Franson
译者:涂颖芳,张骥
说明:本书介绍了游戏美工在整个游戏创作过程中所涉及的方方面面的工作。作者首先对游戏美工行业做了非常精练的历史回顾,然后通过等离子枪和食人懒怪这两个典型的游戏元素,以专业的游戏制作流程为主线,详细地展示了利用trueSpace、DeepUV、Photoshop、Deep Paint 3D、3D Studio Max和Torque引擎等软件建立模型、制作纹理、整合资产和设计关卡的方法与技巧。
本书的作者经验丰富、态度严谨。书中介绍的很多创作手法既巧妙又高效。此外,作者还从职业角度为想进入游戏行业的人们提供了许多宝贵的意见。从某种意义上说,这是第一本真正将艺术和游戏设计有机地结合在一起的书籍。
书名:游戏关卡设计
作者:Phil Co
译者:姚晓光 孙泱
说明:本书详细介绍关卡策划在整个游戏中的作用,主要内容包括;怎样制作一个游戏、定义游戏、关卡的挑战性、关卡创意、设计关卡、模板和改进关卡等。还全面讲述了多种游戏类型的开发过程。
本书语言生动、结构清晰、内容全面、编写严谨。可作为游戏策划人员及游戏爱好者的参考书。任何精彩游戏的核心部分都是专业级设计的关卡,它们是定义游戏玩法的场所和舞台。本书是关卡设计的权威指南,它既适合游戏开发的爱好者,也适合行业内的专家,为读者提供了进行实践的方法以及最佳实践技巧和建议。
书名:Adobe Audition2.0音频处理入门
作者:陈鲲
说明:本书共分为8章:第1章主要介绍电脑音乐制作系统的搭建及硬件设备,以帮助读者创建自己的音乐制作系统;第2章以“快速上手”的方式,使没有接触过电脑音乐软件的人能够快速上手,掌握软件的基本操作以及熟悉软件的相关界面;第3章系统而详细地介绍了Audition 2.0的菜单栏、各模式及界面;第4和第5章详细地介绍如何使用Audition 2.0软件来做各种音频的处理,以及各种效果器的使用;第6章以从宏观到微观、由简单到复杂的方式讲述多轨模式、导入导出、调音台、插入效果器、发送效果器等各部分的使用;第7章主要介绍Audition 2.0所能支持的主流插件的基本知识与使用,从而使读者能更好地处理音乐;第8章则是以创新的形式,完整地讲述一首歌曲的混音过程,同时也是对前几章介绍的各种操作的复习与回顾。
名:快乐之道(游戏设计的黄金法则)
作者:(美)拉夫.科斯特
译者:姜文斌 等
说明:在这本《快乐之道》中,拉夫·科斯特对快乐在游戏设计中的意义进行了独到的阐述。本书不是一本典型的游戏设计技术书,而是用一种新颖的方式教导游戏设计者们如何创造和改进其设计,以获得最大程度的快乐。
书名:C++游戏编程
作者:(美)罗比斯 李鹏 贾传俊
说明:本书从游戏开发的角度出发,把C++应用到游戏软件领域。介绍一些C++的实战经验,用常规的C++技术解决游戏开发者经常遇到的问题。重点讲述已经在实际的项目中应用的技术,而不是大段地罗列代码。 本书是游戏开发经典丛书系列之一,适合游戏开发人员、业余游戏软件开发爱好者和有关游戏软件开发培训班使用,也可以人秋大专院校相关专业的参考书。
书名:J2ME游戏编程
作者:李鹏
说明:本书引领读者跨越游戏开发的全过程,从游戏创意的诞生,到埋头编程,乐在其中的日日夜夜,直到最后新游戏发布面世的激动时刻。本书通过一个实际的J2ME游戏开发项目,手把手教会读者开发出自己的游戏,包括游戏生命周期的评估、如何处理资源、屏幕绘图的各种方法、内存使用的优化、用户输入的处理,甚至还包括在线共享高分。作为高级话题,本书还探讨了3D光线投射引擎以及多人联网游戏所用的网络技术。
本书是游戏开发经典丛书系列之一,适合游戏开发人员、业余游戏软件开发爱好者和有关游戏软件开发培训班使用,也可以作为大专院校相关专业的参考书。
书名:游戏之旅——我的编程感悟
作者:云风
说明:本书忠实地记录了作者十余年来对游戏编程的所思、所感、所悟。全书按照作者本人学习和实践的过程,带着读者从基础的计算机知识到高级的编程技术,从非常专业的汇编优化到非常实际的项目管理进行了一次游戏开发的全景探索。本书不仅适合游戏开发者阅读,也会给所有的开发者和程序爱好者带来启示。
书名:面向对象的游戏开发
作者:陈为 周骥 杨珂 邹林灿
说明:本书以作者10余年游戏开发的经验为基础,用生动易懂的语言,介绍了面向对象游戏 开发中的程序设计要素,特别是游戏引擎的团队开发的基本知识。内容包括:以商业软件代 码为例说明实用的面向对象设计方法、实用的设计模式、必要时编写可重用代码、使用组件技术编写游戏代码、使用迭代技术进行编程开发和进度安排等,本书不仅适合于攻读游戏开发方面学位的学生、对游戏引擎设计感兴趣的研究生、从事游戏开发的制作人和艺术家以及广大电脑爱好者阅读,而且还可以了解游戏开发的理念,掌握游戏开发的基本技巧和流程,从而有助于用不断更新的技术开发越来越复杂的游戏软件。
书名:3D游戏:卷2 动画与高级实时渲染技术
作者:Alan Watt,Fabio Policarpo
译者:沈一帆 陈文斌 朱怡波
说明:本书从实践的角度出发,详细介绍3D游戏开发的高级技术,并具体描述了一个游戏引擎的构建过程。全书着重讨论三个主题:游戏开发的一般过程(构造过程、实时处理过程和软件设计);实时渲染过程;角色动画。所有主题均围绕一个具体的游戏开发系统Fly3D SDK 2.0(包含在光盘中)加以介绍。 本书旨在为当今的三维游戏引擎技术提供一个综合的解决方案,将游戏理论技术与具体引擎代码分析相结合,使读者尽快地进入开发者角色,了解整个游戏开发过程和客户(游戏设计者)的需求,并初步具备游戏引擎开发能力。 本书适合作为高等院校相关专业的教学参考书,同时可供相关技术人员和游戏开发人员阅读。
书名:3D游戏 卷1:实时渲染与软件技术
作者:Alan Watt,Fabio Policarpo
译者:沈一帆 陈文斌 朱怡波
说明:综合介绍当前流行的三维游戏开发技术,主要内容包括:建模及基础数学,经典的三维图形学,实时渲染,对象的控制,二维技术,软件技术等。书中的所有内容都是围绕一个功能强大的游戏开发引擎,即Fly3D来写的。其目的是使你可以编写源代码来实现自己的想法,或是通过编写或修改插件来对现有的实例进行试验,甚至可以开发属于自己的游戏。随书光盘给出了完整的Fly 3D SDK及一些演示片段和图片。
书名:Direct 3D中的2D编程
作者:[美]Ernest Pazera
译者:黄际洲 文俊浩
说明:《Direct 3d中的2D编程》教你游戏编程的方法和技巧,帮你创建自己的游戏。如果你有一些C或C++的基础,并且正在导找能够带领你从2D编程世界跃入三维世界的书籍,那么现在你将不再苦苦觅!有本书你可以学到从2D API转向Direct3D的所有技巧。本书以2D程序员的视角进行编写,用一种易于理解和便于使用的形式详述了Direct 3D API的编程基础。让我们一起跃入《Direct 3D中的2D编程》为你打开Direct 3D世界吧!
书名:游戏设计工作坊
作者:[美]Tracy Fullerton,Christopher Swain,Steven Hoffman
译者:陈建春 白雁 万传风
说明:游戏业在过去30年逐渐成熟,已经成为一种重要的娱乐方式。游戏设计是一项具有创造性、专业性、艺术性的工作。本书是在作者为Sony、Sega和Microsoft设计游戏的实际经验以及与不同背景和经验水平的学生设计、创建原型、测试原始游戏概念所获得的经验基础上,浓缩而来的关于游戏设计的精华内容。
本书首先介绍了游戏设计师的任务、游戏结构以及设计形式细节、戏剧化元素、游戏动力学等内容;接着介绍了设计一个游戏时概念化、原型化、测试、可用性和平衡、趣味性、控制与界面等方面的内容;还介绍了游戏设计时有关团队机构、开发阶段、设计文档等方面的知识;最后介绍了游戏业的现状和概况,以及在游戏业中寻找对象作和推销创意的方法。 引用:VC好还是C++好?
首先,我们要纠正一个错误的观点,C++是一种语言,而VC是一种编译器软件;VC是一个用来编写(编译)代码的平台,你可以在VC上面编写C++代码。 引用:如何把DirectX关联到VC中?
我们要进行DirectX程序的编译就必须要有DirectX SDK库文件,此文件可以到微软或者本站获取,然后通过VC设置将其关联。下面说明了在VC6和VS.Net下的安装方法。
VC6(英文版):选择菜单Tools->Options,打开Options对话框,选择Directions标签页,选择Include files项,在里面添加DirectX头文件的文件夹路径目录,同样,在Library files项中添加DirectX头文件的文件夹路径目录。
VS.Net(中文版):选择菜单"工具->选项",打开选项对话框,打开Projects标签页,分别选择"包含文件"和"库文件"进行相应的路径添加即可。
注:VC在进行编译时,会根据排列顺序来进行库文件选取,假设有两个相同名字的库,VC会优先使用排列在前面的库文件。 引用:VC编译DX程序出现"无法解析的外部符号"是怎么回事?
这个错误经常出现在初学者要进行编译DirectX程序的时候,主要是因为没有将DX的库文件引用到工程中,这里需要注意,我们将DX SDK的路径设置到VC后,并不代表我们已设置好了DX SDK,在我们的DX工程中,我们还需要进行相应的设置操作,把我们所需要的库文件(DirectX SDK Library)加入到我们的工程中,要设置这个库文件有两个方法,一个是在你工程的编译选项中进行添加,另外一种可以通过代码的方法来添加(推荐)。
命令行:#pragma comment( lib,"xxx.lib" )
这个是VC的编译预处理指令,将其加在代码中即可。
例如:#pragma comment( lib,"ddraw.lib" ) 这句的意思是将ddraw.lib库加入到工程中进行编译。
注:此命令行不需要加分号(“;”)。 引用:给C++初学者的50个忠告
1.把C++当成一门新的语言学习(和C没啥关系!真的。);
2.看《Thinking In C++》,不要看《C++变成死相》;
3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;
4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;
5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;
6.会用Visual C++,并不说明你会C++;
7.学class并不难,template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书;
8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的;
9.看Visual C++的书,是学不了C++语言的;
10.浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!?
11.浮躁的人容易问:我到底该学什么;——别问,学就对了;
12.浮躁的人容易问:XX有钱途吗;——建议你去抢银行;
13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!
14.浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行;
15.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;
16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;
17.C++不仅仅是支持面向对象的程序设计语言;
18.学习编程最好的方法之一就是阅读源代码;
19.在任何时刻都不要认为自己手中的书已经足够了;
20.请阅读《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准;
21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看;
22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;
23.请看《Effective C++》和《More Effective C++》以及《Exceptional C++》;
24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序;
25.和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好;
26.请看《程序设计实践》,并严格的按照其要求去做;
27.不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;
28.C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言,你一定不会把C和Z语言联系得那么紧密;
29.请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已;
30.读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++;
31.学习编程的秘诀是:编程,编程,再编程;
32.请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》《面向对象软件构造(Object-Oriented Software Construction)》《设计模式(Design Patterns)》《The Art of Computer Programming》;
33.记住:面向对象技术不只是C++专有的;
34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;
35.把在书中看到的有意义的例子扩充;
36.请重视C++中的异常处理技术,并将其切实的运用到自己的程序中;
37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;
38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路;
39.C++语言和C++的集成开发环境要同时学习和掌握;
40.既然决定了学C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;
41.就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主;
42.当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43);
43.别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的;
44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的;
45.每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了;
46.记录下在和别人交流时发现的自己忽视或不理解的知识点;
47.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX;
48.保存好你写过的所有的程序——那是你最好的积累之一;
49.请不要做浮躁的人;
50.请热爱C++!
|