想成为一名游戏开发程序员应该具备哪些条件

作者&投稿:雕侦 (若有异议请与网页底部的电邮联系)
我想成为游戏开发程序员,要学些什么?~

1.图形引擎2.声音引擎3.物理引擎4.游戏引擎5.人工智能或游戏逻辑6.游戏GUI界面(菜单)7.游戏开发工具8.支持局域网对战的网络引擎开发9.支持互联网对战的网络引擎开发下面逐一介绍每个部分:1.图形引擎主要包含游戏中的场景(室内或室外)管理与渲染,角色的动作管理绘制,特效管理与渲染(粒子系统,自然模拟(如水纹,植物等模拟)),光照和材质处理,LOD(Level Object Detail)管理等,另外还有图形数据转换工具开发,这些工具主要用于把美工用DCC软件(如3DS Max,Maya,Soft XSI,Soft Image3D等)软件制作的模型和动作数据以及用Photo shop或painter等工具制作的贴图,转化成游戏程序中用的资源文件。2.声音引擎主要包含音效(Sound Effect简称SE),语音(VOICE),背景音乐(Background music简称BGM)的播放。SE是指那些在游戏中频繁播放,而且播放时间比较短,但要求能及时无延迟的播放,VOICE是指游戏中的语音或人声,这部分对声音品质要求比较高,基本上用比较高的采样率录制和回放声音,但和SE一样要求能及时无延迟的播放,SE在有的时候因为内存容量的问题,在不影响效果的前提下,可能会降低采样率,但VOICE由于降低采样率对效果影响比较大,所以一般VOICE不采用降低采样率的做法。BGM是指游戏中一长段循环播放(也有不循环,只播放一次)的背景音乐,正是由于BGM的这种特性,一般游戏的背景音乐是读盘(光盘或硬盘)来播放。另外一些高级声音特效,如EAX,数字影院系统(DTS5.1),数字杜比环绕等。3.物理引擎主要包含游戏世界中的物体之间、物体和场景之间发生碰撞后的力学模拟, 以及发生碰撞后的物体骨骼运动的力学模拟(比较著名的物理引擎有havok公司的game dynamics sdk,还有open source 的ODE—Open Dynamics Engine)。4.游戏引擎主要是把图形引擎、声音引擎、物理引擎整合起来,主要针对某个游戏制作一个游戏系统,其包含游戏关卡编辑器,主要用途是可以可视化的对场景进行调整,光照效果和雾化等效果调整,事件设置,道具摆放,NPC设置,另外还有角色编辑器,主要用于编辑角色的属性和检查动作数据的正确性。一般日本游戏公司的做法,他们会把关卡编辑器和角色编辑器直接做到游戏中,所有的参数调整都在游戏中通过调试菜单来进行编辑,所以一般他们把这部分调试菜单的功能做的很强大,同时在屏幕上实时的显示一些重要的信息,这样做的好处是关卡编辑器调整的效果直接就是游戏的效果,但是对于程序的重用性来说可能不是很好,比如说要用到另外一个游戏项目中就比较难,除非两个游戏类型相同,只要把场景和角色数据换一下,还有做下一代产品也没有问题,只要根据式样增加调试菜单的功能就可以了。5.人工智能和游戏逻辑开发,这部分日本和欧美的游戏开发模式也有很大不同,在欧美游戏公司中运用脚本语言开发很普遍,所以这部分程序开发主要是用脚本语言编写,而且脚本程序和游戏程序的耦合性很低,有单独的编辑、编译和调试环境,这样比较利于游戏程序和关卡设计开发分开,同时并行开发,所以一般他们都会有专门做关卡设计的程序员岗位。而日本游戏公司脚本语言一般和游戏的耦合性比较高,一般通过一些语言的宏功能和一些编译器的特定功能来完成一个简单的脚本系统,所以一般这些脚本程序只能在游戏程序中进行调试,而不能在一个单独的脚本编辑,编译环境中进行开发。6.游戏GUI界面(菜单),主要是指那些游戏中用户界面设计,有做的复杂,有简单的,做的简单就是2D GUI界面,做的复杂有3D GUI界面。7.游戏开发工具主要包含关卡编辑器,角色编辑器,资源打包管理,DCC软件的插件工具等开发。8.支持局域网对战的网络引擎开发,主要解决局域网网络发包和延迟处理,通讯同步的问题,有同步通讯和异步通讯两种做法,异步通讯用于那些对运行帧速要求比较高的游戏,同步通讯相对异步通讯来说效率相对低,但是同步通讯的编程模型相对异步通讯来得简单一些。9.支持互联网对战的网络引擎开发,目前大部分网游都是C/S结构的,服务器端软件配置管理,服务器程序的最优化,还有游戏大厅、组队、游戏逻辑处理、道具管理、收费系统等。另外还有一些网络系统是C/S和P2P两种结构混合的,如XBOX Live等。程序员在游戏公司中的岗位在日本游戏公司和欧美的游戏公司有些不同,日本游戏公司中程序员的岗位主要有技术监督(Director),主程序员(Main Programmer),程序员(Programmer),在日本游戏公司里负责游戏项目开发的程序员,一般不会专门根据工作内容划分程序员,除了独立的系统研究室和声音系统制作部门(这两个部门是比较独立的,往往同时给好几个项目服务),负责每个游戏项目开发的程序员,随时都可能一人多职,比如说主程序员除了负责整个游戏系统以外,可能还要负责图形或声音引擎开发等,程序员除了人工智能以外还有菜单制作等。这种情况在欧美的游戏公司比较少见,他们分工的比较细,一般有图形程序员,声音程序员,人工智能或游戏关卡程序员,物理程序员,每个组中可能还会有一个Leader。这一点,日本公司和欧美公司也有些不同。日本公司一般喜欢从一些高校中招聘一些应届优秀毕业生,一方面比招聘有经验的人要来的成本低,另方面新人是一张白纸,容易培养,像SEGA、KONAMI等都是按这种原则招聘员工的,所以想进入日本游戏公司,你要学好你的软件课程。而欧美公司希望招聘进来,能马上进入项目的开发中去,所以他们一般希望招聘有工作经验的人,即使不是行业中,在相关行业中工作2、3年的也可以,所以想进入欧美游戏公司你的工作经历很重要。我觉的一个游戏软件程序员,最起码的要求是熟练掌握计算机本科专业所学的知识,主要包括C语言或C++语言,数据结构,编译原理,算法等,另外线性代数、微积分、牛顿力学在图形和物理引擎开发方面用途也很广泛,如果要提高的话还有必要了解硬件相关的知识如计算机体系结构、汇编语言,这些对我们学习一个新的硬件平台、编写最优化代码、提高自己游戏的竞争力都是非常有益的。另外,保持有恒心、不怕苦(比如说通宵加班)的心态,对游戏的热情也是非常重要的。对于那些想进入游戏行业,但缺乏软件开发知识的人,可以通过参加游戏开发培训来现在有很多人,计算机本科毕业,学了很多软件开发的知识,但是一旦要用到实际的项目开发时,感觉无从下手,这主要是在学校里运用知识的机会太少了。所以学习游戏编程最好的方法是能实际参与到一个好的游戏项目中和有丰富开发经验的人一起开发游戏,可能学到很多你从书本上学不到知识和技能。但有时候你一时还没有机会参与到一个好项目中,没有机会进入一家好的游戏公司,但是你对游戏开发有一腔热情,很希望学习游戏开发的技能,那你就应该去参加专门的游戏开发培训,因为游戏开发培训班中的老师都是一些有丰富开发经验的老师,一般都有五年丰富的项目开发经验,听他们的课,实际上就是在和他一起分享这么多年的开发经验,另外游戏开发培训课程中会专门设计一些项目和课题,它们本身就是可以直接运用游戏开发中,这样你可以不进入著名的游戏公司,但可以学到这些公司中一些常用的开发技能。另外还有一种方法经济实惠的方法,参加一些网上志愿者的开源项目,这些项目从品质来说有好有坏,选择一个好的项目非常重要,另外他们中间本身有许多是业内人士,本来你要进入他们公司,才能学习到他们的经验,但是通过开源项目,你就有向他们学习的机会了,说不定哪一天,你就进入一家知名的游戏公司了,不过目前开源的完整游戏项目好的不多,到是在图形引擎和物理引擎方面有一些很不错的开源项目,但要加入进去的话,你的基础一定要好啊,有些开源的团队也不是随便什么人就能加入的。

看你想做服务器开始客户端了~
客户端的话以图形学为主~要学习图形学的相关理论~之后要懂至少一种图形API,游戏公司的话建议是DirectX~当然,如果同时会OpenGL ES就更好了,专门在手机上的~然后是了解部分AI的内容~主要是两个方面,一个是寻路算法,主要就是A星算法,另一个是有限状态机~之后还要至少了解一个引擎~以前的话是Ogre为主~现在的话如果你想做PC游戏就学这个,如果是手游的话可以学cocos2d-x~但是不管做什么最推荐是Unity3d 只不过这个是收费的~如果你想做手游的话还要至少了解一个平台,IOS或者android~ios的话会比较简单,会用xcode,懂object-c就行~android的话要懂NDK和jni这个比较麻烦~
服务器端的话,最核心的是要懂网络协议~整个TCP/IP协议~它是一系列的协议~网络部分比较杂,协议和架构是两大核心~只要弄懂了这俩,无论什么样的服务器,用什么做都没有问题~协议的部分正常学就可以~架构部分比较复杂,需要在实际的工作中不断积累~不过可以学习一下像什么mangos之类的开源服务器架构~除此之外你要懂网络编程,会用linux平台,网络编程部分包括linux网络编程和windows网络编程,这俩东西的内容都不少~如果你做手游的话可能还需要会node.js~
在这些之外你要会一种脚本,推荐Lua~
这些内容你从大二开始学,到你毕业的时候能学得完,我就是从大二的时候开始学的,到毕业都学完了~不需要每部分都特别精通,有一两个特别精通的就够了~找工作是没问题的~

首先陕西优就业的老师给你讲一下:

游戏开发中的程序开发主要由图形引擎、声音引擎、物理引擎、游戏引擎、人工智能或游戏逻辑、游戏GUI界面(菜单)、游戏开发工具、支持局域网对战的网络引擎开发、支持互联网对战的网络引擎开发九部分组成。

其次一名开发人员所具备的要求是熟练掌握计算机本科专业所学的知识,主要包括C或C++语言、数据结构、编译原理、算法等,另外线性代数、微积分、牛顿力学在图形和物理引擎开发方面用途也很广泛,如果要提高的话还有必要了解硬件相关的知识如计算机体系结构、汇编语言,这些对学习一个新的硬件平台、编写最优化代码、提高自己游戏的竞争力都是非常有益的。如果你可以保持有恒心、不怕苦的心态和对游戏的热情也是很重要的。




想成为一名游戏开发程序员应该具备哪些条件
1.游戏程序员很显然药会编程,面向商业大型游戏都是建立在DX基础上的,需熟练掌握C,及数据结构知识。关于画面你可以面向两种api接口一个就是前边的DX,再者是openGL,不过目前的市场已被微软淹没,省时的话建议看看DX 2.游戏引擎不用你去开发,现在的国产mud都是引进的引擎,建议看看这方面的书。有一...

我想成为游戏开发程序员
5.人工智能和游戏逻辑开发,这部分日本和欧美的游戏开发模式也有很大不同,在欧美游戏公司中运用脚本语言开发很普遍,所以这部分程序开发主要是用脚本语言编写,而且脚本程序和游戏程序的耦合性很低,有单独的编辑、编译和调试环境,这样比较利于游戏程序和关卡设计开发分开,同时并行开发,所以一般他们都会有专门做关卡设计的程...

想学习游戏开发,具体需要怎么做?
通用软件,程序一般用VC++6.0,VC++2003,VC++2005,delphi 7,directx9.0;美工一般用photoshop,3DMax,maya,Zbrush等;策划一般用Excel,Word,Visio,Lua脚本软件等。自制软件主要有自己制作的游戏开发工具,可以大幅度降低开发难度,如地图编辑器,界面编辑器,任务脚本模块等。

想成为一名游戏开发程序员应该具备哪些条件
游戏开发中的程序开发主要由图形引擎、声音引擎、物理引擎、游戏引擎、人工智能或游戏逻辑、游戏GUI界面(菜单)、游戏开发工具、支持局域网对战的网络引擎开发、支持互联网对战的网络引擎开发九部分组成。其次一名开发人员所具备的要求是熟练掌握计算机本科专业所学的知识,主要包括C或C++语言、数据结构、编译原理...

从事游戏开发,需要什么技能?
1. 游戏开发是一个多元化的领域,主要分为策划、程序和美术三个方向,每个方向又有进一步的细分。例如,策划可以细分为剧情策划、关卡策划和数值策划等。2. 对于程序开发来说,根据不同的职责,需要学习的技能也不同。客户端编程需要掌握Windows编程、Socket编程等;服务器编程则涉及数据库操作和通讯操作;...

想成为一名游戏程序员该怎么做
建议大家去一些招聘网站,看看目前的游戏程序员工资情况。同时,你也别忘了看看游戏程序员应该掌握哪些内容,同时在平时多加学习。游戏开发的就业前景还是看好的,企业需求很大。可以从事unity开发设计技术工程师岗位。比如游戏公司(特别是手游公司)、unity虚拟现实体验店等等。值得关注的是目前在电脑端国内已...

游戏开发都需要会哪些?
1.要想成为一个游戏开发人员,就得先成为一个很好的程序开发人员。当你成为一个很好的程序开发人员时,就可以考虑学习游戏开发了。要想成为一个非常好的游戏开发人员,最重要的一点,就是需要对数学非常好。当然,这里指的数学好,不是指加减法好,或者心算好,而是指线性代数,几何和几何代数,物理方面的数学等等。如果你...

如何自己做游戏(从零基础到游戏开发高手)
1.学习编程基础 在开始游戏开发之前,首先需要掌握基础的编程知识。学习一门编程语言,如Python、C++或Java,可以帮助你理解游戏开发的核心概念和技术。可以通过在线教程、视频课程或参加编程班级来学习编程基础知识。2.学习游戏开发引擎 游戏开发引擎是游戏开发的核心工具。选择一款适合自己的游戏开发引擎,如...

我想成为游戏开发程序员
建议选择ubuntu。ubuntu和opensuse都可以使用。考虑到使用的易用性,ubuntu和opensuse非常适合软件支持,而软件中心的apt软件包使用deb的双星,一个是Yastzypper,它使用RPM的黄金组合,这是一个选择。最后,在开发环境中没有差别。请安装您选择的发型版本,配置开发环境,然后尝试编写代码!

要怎样才能成为一名手机游戏开发设计师
1、为了做出的东西符合用户要求,需要和用户沟通,并写出大概的项目计划让用户确认;2、需要根据项目计划和功能结构设计数据库表结构;3、采用最熟悉的技术迅速的搭建程序框架;4、开发的每一个阶段都需要和用户沟通,听取改进意见,并针对意见做有效的修改,修改的工作量要控制在有限时间内的同时还需要符合...

丹寨县13921733789: 网络游戏程序员要具备什么基础? -
纳明大豆: 一忌:轻易言败,没有自信 没有永不放弃精神的程序员,只是一个有程序员名号的假程序员.一个真正的程序员,知道在程序设计的过程中,可能会遇到不计其数的困难和问题,可能有极多的挫折和失败,而成功只有一次. 就为解决一个问题...

丹寨县13921733789: 想成为一名游戏开发程序员应该具备哪些条件 -
纳明大豆: 首先陕西优就业的老师给你讲一下:游戏开发中的程序开发主要由图形引擎、声音引擎、物理引擎、游戏引擎、人工智能或游戏逻辑、游戏GUI界面(菜单)、游戏开发工具、支持局域网对战的网络引擎开发、支持互联网对战的网络引擎开发九部分组成.其次一名开发人员所具备的要求是熟练掌握计算机本科专业所学的知识,主要包括C或C++语言、数据结构、编译原理、算法等,另外线性代数、微积分、牛顿力学在图形和物理引擎开发方面用途也很广泛,如果要提高的话还有必要了解硬件相关的知识如计算机体系结构、汇编语言,这些对学习一个新的硬件平台、编写最优化代码、提高自己游戏的竞争力都是非常有益的.如果你可以保持有恒心、不怕苦的心态和对游戏的热情也是很重要的.

丹寨县13921733789: 请问成为一名游戏开发工程师都需要具备什么样的知识? -
纳明大豆: 这个问题问我就对了:游戏开发分为设计、程序和美工讲讲游戏编程需要的知识吧:1.扎实的程序语言功底,主要代表为VC、DELPHI和JAVA.其中VC使用最广,现在比较大的游戏也由此开发;DELPHI功能也很强,很多网游:比如网金、传...

丹寨县13921733789: 程序员要具备那些? -
纳明大豆: 工程质量是检验优秀程序员的唯一标准,一般的程序员的思维需要有一个明确的目标(功能),逻辑上行得通的就能实现,很少去考虑为什么要这么做?这样的产品也只是基本满足,但是大多数程序来说,就这个基本满足就已经是加班加点的去...

丹寨县13921733789: 要学哪些知识才能成为一个合格的游戏开发者 -
纳明大豆: 游戏开发细分为多种岗位,即使你仅仅是要编程,也有区别 如:1、开发图形引擎,你就要熟悉DirectX和OpenGL的函数库,熟悉3D绘图等2、如果你是负责编写基础代码的小程序员,你只要会基本的高级语言就可以了,因为分给你的任务都是...

丹寨县13921733789: 游戏开发需要学些什么?
纳明大豆: 游戏开发可以学习计算机专业和软件工程专业.游戏开发所需要学的东西虽然多,但主要的还是编程的内容,不管是java、c++还是其他的Python等编程语言,能熟练掌握1...

丹寨县13921733789: 从事游戏开发,需要什么技能 -
纳明大豆: 看你要去哪个方向了,策划、程序、美术,每个方向又有细分. 策划有剧情策划,关卡策划,数值策划等等. 程序有客户端编程,服务器编程,引擎编程,脚本编程,手机游戏开发, 网页游戏. 美术有3d建模,2d美术.方向不一样需求不一...

丹寨县13921733789: 想要做一个合格的程序员,应该具备哪些技能呢? -
纳明大豆: 熟练掌握开发工具做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C编写.而...

丹寨县13921733789: 游戏程序员应该具备怎样的素质?
纳明大豆: 良好的编程习惯是肯定要有的,命名规范,多加注释.思维能力也要强一些. 目前大部分游戏都是C++编的,所以一定要懂C++. 要做3D游戏就必须学D3D和OpenGL编程.如果你是刚开始学,学习D3D和OpenGL的同时一起学一款图形渲染引擎是很好的.OGRE引擎就比较不错. 如果以上这些你都具备里,就可以学一些软件架构方面的知识,架构才是程序的精髓.推荐给一个学架构的网站www.ChinaAR.com中国软件架构师网. 希望我的回答能对你有用,不管怎么样.努力拼搏,不断学习你一定会成功.

丹寨县13921733789: 成为一名优秀的电脑游戏程序设计师应具备哪些条件 -
纳明大豆: 1.你要爱好游戏. 有IT问题,当然想快问! | 登录 | 注册 太平洋网站群 太平洋电脑网 太平洋汽车网 太平洋游戏网 太平洋女性网 太平洋亲子网 帮助 快问首页 > 软件 > 软件其它 已解决提问者:aojing2004_158 - 三副 十级 要成为一个游戏程序员需要具备那些电脑知识? 悬赏分:0 解决时间:2009-01-22 14:01 要成为一个游戏程序员需要具备那些电脑知识? 最佳答案 dkiqu73jkiqqq_411 - 三副 十级 游戏程序员 1.你要爱好游戏. 2.要了解你喜欢的是哪一方面的游戏(比如3d的,网络的,等等) 3.然后开始学习编写游戏的语言就行. 先从小游戏着手,比较简单,比如黑白棋什么的.

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网