游戏程序员主要是为游戏产品的实现服务的,包含了前端UI、后端开发等方面的内容。
主要学的内容如下:
1.游戏程序设计:C++程序设计入门;基本数据类型和输入输出;流程控制语句;数组、指针和引用、函数;程序结构和书写规;范结构体和联合体、类;继承与多态;异常处理与程序调试。
2.算法与数据结构:算法分析;数据结构;基本算法;STL的概念与使用;静态库与动态库;XML库的使用。
3.Win32程序设计:Windows程序入门;Windows消息;GDI绘图游戏工具与MFC;网络编程基础。
4.游戏数学和智能应用:游戏中的坐标系;矢量、矩阵;几何碰撞;物理模拟;人工智能与寻路算法。
5.2D游戏技术与应用:2D游戏技术概论;游戏地图系统;GUI系统;战斗系统设计;任务系统;优秀的声音引擎BASS;Cocos2D-X引擎;Box2D物理引擎。
想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。
祝你学有所成,望采纳。
首先,C++肯定要好了。C语言程序设计
http://book.jqcq.com/product/472414.html
语言是国内外广泛使用的计算机语言,是计算机应用人员应掌握的一种程序设计工具。本书全面系统地介绍了C语言编程技术及其相关理论,是一本能使读者全面掌握c语言编程技术的好教程。根据需要,作者除了深入浅出地介绍了C语言的传统编程方法,还别具匠心地介绍了c语言的绘图功能和一些应用开发实例。本书内容新颖、结构合 ...
C++编程风格
http://book.jqcq.com/product/620299.html
编程相关的内容,例如增加代码的可读性、可维护性、可扩展性以及执行效率等的方法。本书的示例代码都是从实际程序中抽取出来的,融人了作者的实际开发经验。讲解如何正确地编写代码以及避开一些常见的误区和陷阱,并给出了许多实用的编程规则,可快速提升读者的C++编程功力。本书描述平实,示例丰富,适合有一定编程� ...
C++编程思想第2卷:实用编程技术
http://book.jqcq.com/product/413352.html
编程技术和最佳的实践方法,深入探究了异常处理方法和异常安全设计;介绍C++的字符串、输入输出流、STL算法、容器和模板的现代用法,包括模板元编程;解释多重继承问题的难点,展示RTTI的实际使用,描述了典型的设计模式及其实现,特别介绍被认为是标准C++下一版特征之一的多线程处理编程技术,并提供了最新的研究成果� ...
学好C++后,就要掌握数据结构和算法的知识,还是STL。
数据结构与 STL(英文版) 数据结构与 STL(英文版)
http://book.jqcq.com/product/412778.html
数据结构及其实现的基础知识。书中引导学生通过对方法接口、示例和应用的学习,逐渐理解和掌握如何高效地使用数据结构。适合课堂教学和自学参考。 本书特色 大多数数据结构用STL(标准模板库)提供,并详细
数据结构 C++语言描述(英文影印版) 数据结构 C++语言描述(英文影印版)
http://book.jqcq.com/product/306107.html
数据结构。内容从数据结构的基本原理到面向对象程序设计的方法。书内使用适应面极广的C++语言。全书14章分别为:1.绪论;2.基本数据类型;3.抽象数据类型与类;4.集合类;5.栈与队列;6.抽象运算符;7.类属数据类型;8.类与动态存储;9.链表;10.递归;11.树;12.继承与抽象类;13.先进的非线性结构;14.构建集合。书后 ...
泛型编程与STL
http://book.jqcq.com/product/332062.html
编程与STL》阐述了泛型编程的中心思想:concepts、modeling、refinement,并为你展示这些思想如何导出STL的基础概念:iterators、containers、function objects。循此路线,你可以把STL想像为一个由来的完整优势……
掌握多线程编程是必须的。
C和C++实务精选:C++面向对象多线程编程
http://book.jqcq.com/product/351898.html
. 多线程架构与增量多线程编程技术。第1章介绍了用于构建面向对象程序的不同类型C++组件,以及如何使用这些组件来构建多线程架构。第2、3、4章简要介绍进程、线程、多任务处理、多线程化、规划以及线程优先权的概念。第5章讨论讲程间和线程间通信。第6章讲座线程与进程同步与合作。第6章详细讲座临界区、死锁、数据竞争以 ..
这些掌握了后,开始掌握通行技术。首先是网络协议:
《TCP/IP 基础(第7版)》
http://book.jqcq.com/product/399379.html
TCP/IP的体系结构和主要应用程序。全书分为8章,分别介绍TCP/IP体系结构与寻址,TCP/IP应用程序,TCP/IP寻址与子网, TCP/IP协议,TCP/IP服务,TCP/IP路由选择, TCP/IP应用程序原理,以及TCP/IP网络故障诊断。本书是国家网络技术水平考试的指定参考教材,适合网络技术人员和网络管理人员阅读,也可供大中专院校相 ...
TCP/IP详解?卷Ⅰ:协议
http://book.jqcq.com/product/404145.html
TCP/IP解析》中的第1卷,主要讲述TCP/IP协议方面的内容。与其他的TCP/IP书藉的最大不同在于,本书不仅仅讲述了RFCS的标准协议,而且结合大量实例讲述了TCP/IP协议包的定义原因及在各种不同的 *** 作系统中(如Sunos4.1.3、Soloris2.2、 AIX3.2.2)的应用与工作方式,这样可以以动态方式讲述TCP/IP的知识,使读者可以轻松掌� ...
TCP/IP详解卷三:TCP事务协议 HTTP NNTP和UNIX域协议
http://book.jqcq.com/product/310116.html
TCP/IP详解系列”的延续。主要内容包括:TCP事务协议,即T/TCP,这是对TCP的扩展,使客户-服务器事务更快、更高效和更可靠; TCP/IP应用,主要是HTTP和NNTP;UNIX域协议,这些协议提供了进程之间通信的一种手段。当客户与服务器进程在同一台主机上时,UNIX域协议通常要比TCP/IP快一倍。本书同样采用了大量的实例和实现细 ...
然后掌握各种平台下SOCKET的编程技术。
TCP/IP协议及网络编程技术
http://book.jqcq.com/product/580242.html
本书是一本关于TCP/IP协议原理编程技术的教材,由两部分组成:第1部分系统地介绍了TCP/IP协议族的体系结构,并分别介绍了IP层、传输层和应用层中各种协议的具体原理和工作机制;第2部分介绍了基于socket编程接口的网络编程技术,重点讲述了客户端和服务器端编程应注意的问题、可用的模式和技术。作为一本TCP/IP协议理 ...
Winsock 2网络编程实用教程 Winsock 2网络编程实用教程
http://book.jqcq.com/product/374343.html
Winsock,即基于Windows的套接字,是专门为网络开发人员开发网络应用程序设计的编程接口。由于现今网络应用的普及,使成为了IT发展的重要分支之一。本书的出版正是顺应了这种需求。本书简洁而专业地介绍了Winsock的基本概念和 *** 作方式,指导程序员如何利用现有的主流开发工具进行最流行的Windows网络应用的开发。同时,本书 ...
Windows网络编程
http://book.jqcq.com/product/401079.html
Microsoft公司的Visual C++平台不仅具有很强的网络程序处理能力,而且还能提供多种编程风格。与Visual C++捆绑的MFC提供了大量封装良好的网络类,如Winsock、WinInet、ActiveX、DCOM和ATL等,提高了用户在利用Visual C++进行网络开发时的效率。本书主要特色在于对技术细节做了深入的介绍,探讨了大量网络专用函数以及MFC ..
LINUX网络编程
http://book.jqcq.com/product/105718.html
本书详尽而细致地介绍了在Linux *** 作系统下进行网络编程所需要的各种知识,从基本的进程控制、通信到Berkeley套接字都有讲解。书中还穿插了大量的实例程序,并配以说明,更加方便读者的学习和理解。本书内容的精心安排,简洁的措辞,丰富的实例可以使初学者迅速地掌握Linux网络编程的技术。同时,Linux的高级程序员也可以从� ...
这写掌握完以后,开始学写LINUX下的服务器编程。
Linux 程序设计权威指南(附光盘) Linux 程序设计权威指南(附光盘)
http://book.jqcq.com/product/314783.html
本书是“Linux与自由软件资源丛书”之一。目前Linux系统已很普及,但是介绍在Linux上进行开发的书籍并不多,本书的Linux上进行应用开发提供了详细的参考资料。内容包括Linux开发环境、Linux编程的入门知识、系统和网络编程、多线程程序设计、控制台编程、X Window系统编程、国际化编程知识等。本书内容丰富、实用性强,附带 ...
Red HatLINUX 核心技术精解第二版(附盘)
http://book.jqcq.com/product/311825.html
Linux是一个性能可以与商业x86 UNIX *** 作系统相提并论的32位 *** 作系统.本书全面介绍了Linux的安装和使用技术,包括Linux的安装和配置,Linux的运行,在Linux中使用各种外设,以及Linux的其他内容,如用SLIP和PPP拨号上网,将Linux用作Internet主机,在Linux上运行WWW,商务的运作,开发软件及X编程等.
而GCC是你必须掌握的编译器,VC也不例外。
GCC技术参考大全
http://book.jqcq.com/product/378731.html
GCC(GNU编译程序集合)是目前最重要、应用最广的开放源代码软件。在本书中,专家Arthur Griffith提供了大量关于这种开源软件的信息,教您学会使用GCC为几乎所有的平台和语言开发及部署各类软件。本书分为3个部分。第1部分,“自由软件编译程序”,介绍了编译程序的一些基础知识,以及一些可以用来下载和安装编译程序的指 ...
C++面向对象程序设计题解与上机指导
http://book.jqcq.com/product/584574.html
GCC在DOS/Windows平台上的版本DJGPP(以及与之配合使用的集成软件开发环境RHIDE);上机实验内容与安排,这部分提出了上机实验的指导思想和上机实验的内容与安排,供教学参考。随本书赠送的光盘中包括《C++面向对象程序设计》一书中的全部例题程序,各章习题解答的程序以及 DOS/Windows环境下的GCC版本(DJGPP及其配套 ...
掌握了这些东西是不够的,你还必须学会服务器方面游戏逻辑的编写,因而要掌握脚本语言的使用,在这方面,一般使用LUA,PYTHON和RUBY来写。
学习Python:第2版(影印版)
http://book.jqcq.com/product/851923.html
Python是流行、开源、面向对象的编程语言,既可以用于编写单机运行的程序也可以编写脚本程序,具有可移植、强大、易用等特点。跟随专业教师学习是最快捷的掌握此语言的方式。新版的《学习Python))把你带到Mark Lutz和David Ascher面前,他们是著名的Python专家和培训师,他们的用语亲切、组织良好的文章已经指导了许多编程� ...
Programming Ruby中文版(第2版)
http://book.jqcq.com/product/543520.html
Ruby是一种跨平台、面向对象的动态类型编程语言。Ruby体现了表达的一致性和简单性,它不仅是一门编程语言,更是表达想法的一种简练方式。它不仅受到广大程序员的欢迎,无数的软件大师亦为其倾倒。Programming Ruby是关于Ruby语言的一本权威著作,也被称为PickAxe Book(镐头书,由封面上的工具得名)。本书是它的第2版,其� ...
我使用PYTHON,这些掌握后,数据库方面是要有的。
在LIUNX下一般使用MYSQL和postgresql来作为数据库:
MySQL 5权威指南(第3版)
http://book.jqcq.com/product/431843.html
本书全面深入地介绍了MySQL的功能,主要内容包括MySQL、PHP、Apache、Perl等组件的安装与功能简介,mysql等一些重要系统管理工具和用户 *** 作界面的使用,MySQL数据库系统设计的基础知识与用不同语言设计MySQL数据库的过程,以及SQL语法、工具、选项、API应用指南,最大限度地帮助读者更快地学习和掌握MySQL数据库系统的设计� ...
好这些知识有了后,可以看一些网络游戏服务器是如何编写的,但这方面的书籍很少,即使出版的也是闪闪咄咄的。不过,我还是找到一本,非常的不错。详细地讲解了游戏的逻辑的实现。
MUD游戏编程(配光盘) MUD游戏编程(配光盘)
http://book.jqcq.com/product/584461.html
本书从网络基本知识入手,全面阐述了如何开发纯文字MUD游戏。并通过构建SimpleMUD和BetterMUD这两个MUD,重点讲述了如何实现MUD。本书分为4大部分。第1部分介绍了计算机网络的基本知识、Winsock/Berkeley Sockets API以及多线程的概念;展示了本书所用的基本库BasicLib中的所有类和函数;创建了一个套接字库SocketLib;介 ...
最后介绍相关网站:
一个开源的网络游戏,你可以从中看出游戏服务器的编写方法:
http://themanaworld.org
游戏开发交流:
http://www.gameres.com
其它,你可以搜索这些关键字: RAKNET,OPENTNL。
希望有用!
以上是服务器的,如果是客户端的话,就更多了。
1、基础知识首先是编程语言。现在游戏开发的主流语言是C++。C++是一门复杂的语言,学了这么多年,我都不敢说自己精通C++。要想用好它必须付诸长时间的努力。需要特别注意的是STL是C++中非常重要的部分,不要忽视对它的学习和使用。
然后是 *** 作系统及其API相关的知识。要想开发出在某个 *** 作系统上高效运行的程序,对 *** 作系统有深入的了解是必要的。我主要在Win32下开发,对其他平台接触较少,举例来说FileMap,IOCP都是 *** 作系统特有的功能,用好这些功能可以使程序发挥出 *** 作系统更多的功能。还有一些细节,如果不了解就很容易出问题,例如DLL链接的问题。
软件工程知识。不要只顾着低头编程,要注意你所在的项目,要很好的和别人沟通。无论把自己定位成技术高手还是技术领导者,都需要学习软件工程的知识。
熟练使用开发环境和版本控制软件。常用的有MS Visual Studio .Net 2003,MS Visual Source Safe,GCC,CVS。
丰富的游戏经验也是很重要的。如果你极少玩游戏,那么你在一个游戏开发的团队中是很难与别人交流的。例如,有人会说我希望镜头效果象《古墓丽影》那样,如果你没有玩过类似的游戏是很理解的。你甚至连策划案都看不懂,或者你认为你看懂了,结果做出来的东西完全不符合游戏的常理。所以,你至少应该玩过主流的游戏,特别是你正在制作的同类型的主流游戏。对于一个不是真正喜欢游戏的,这一点是很难做到的。
2、客户端方向
术业有专功,游戏越做越大,需要的知识越来越多,一个人很难对所有方面都学的很深入。如果你想致力与客户端引擎技术方面,那么下面这些知识都要学。
一些图像处理技术。例如颜色混合,图像平滑,轮廓查找,无论你是做2D游戏还是3D游戏,这些东西都用的着。
3D图形学基础。不要以为渲染工作都丢给显卡去做了,你就可以不管其中的理论,要想做3D引擎,基础知识掌握好很重要。
熟悉D3D。现在主流的3D API应该是D3D,必须要掌握,没什么好说的。
3DS MAX插件开发。将美术制作的模型和材质导入到游戏中。另外,顺便了解一下3DS MAX的体系结构,肯定很有好处。
编辑器开发,一个游戏需要很多内部的工具。甚至可以说需要一个内容制作平台,一般要用到MFC,也可以用C#开发。
3D引擎技术,这是最吸引人的一部分了,包含的内容很多例如SceneGraph,Portal,Terrain,Shadow,碰撞检测,Shader编程等等,很多很多。建议先找一个开源的看看,OGRE就是个不错的选择。
人工智能和物理模拟。这两个方面往往不被重视,特别是在网络游戏中。实际上,如果你实现了一个很好的群体行为,或者刚体运动模拟,效果是很惊人的!
3、服务器方向
先说明一下我并没有服务器编程的经验,这里就我的一些了解,试着说说。:)
多线程编程。现在的服务器几乎都会使用多线程,好的多线程设计会大大增加程序的效率。
数据库。玩家的数据必定要使用数据库来存储,现在用SQL Server或者MySql的比较多。
大规模的通讯程序设计。想象一个游戏世界需要负载几千人,这个通讯量可不小。对于程序设计来说大数据量和高效率总是难题。
4、其他
脚本语言。前几年大家还都在实现自己的脚本语言,现在好像用Python或者Lua的成了主流。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)