A. 游戏程序员主要是干什么的当一个游戏程序员需要学习哪几方面的知识另外需要学习会用哪些程序。
游戏程序员主要是为游戏产品的实现服务的,包含了前端UI、后端开发等方面的内容。
主要学的内容如下:
1.游戏程序设计:C++程序设计入门;基本数据类型和输入输出;流程控制语句;数组、指针和引用、函数;程序结构和书写规;范结构体和联合体、类;继承与多态;异常处理与程序调试。
2.算法与数据结构:算法分析;数据结构;基本算法;STL的概念与使用;静态库与动态库;XML库的使用。
3.Win32程序设计:Windows程序入门;Windows消息;GDI绘图游戏工具与MFC;网络编程基础。
4.游戏数学和智能应用:游戏中的坐标系;矢量、矩阵;几何碰撞;物理模拟;人工智能与寻路算法。
5.2D游戏技术与应用:2D游戏技术概论;游戏地图系统;GUI系统;战斗系统设计;任务系统;优秀的声音引擎BASS;Cocos2D-X引擎;Box2D物理引擎。
想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。
祝你学有所成,望采纳。
B. 游戏程序员的工作是怎样的
注意抓重点,游戏程序员也是程序员的一种。日常工作无疑也与大部分程序员一样,都是码代码。
除了这些,还有非常重要的一点就是加班!与所有的程序员一样,加班是永远都逃不了的。而且,对于游戏程序员来说,自己参与设计的游戏就像自己的孩子,再辛苦也要养大啊!而且一般来说,在人物造型美工、游戏界面和具体的代码实施过程中,程序员会不停地被要求修改代码。因为这三方的矛盾是永远存在的,而且无论最后听谁的,最辛苦的都是程序员。
所以说,入行需谨慎,需谨慎!
C. 游戏行业的程序员一般有哪几类分工
游戏程序员也是有分工的,比如说图形程序、逻辑程序、工具程序等等
图形程序主要负责游戏画面的显示,对于3D游戏来说,图形渲染包括模型、材质、贴图的显示,光照和阴影的效果等等,这可以说是游戏编程中技术含量最高的部分。从事图形程序需要良好的3D数学训练,线性代数、图形学是需要主要攻克的课程,现在业界主流使用DirectX作为底层库,这也是比较基础的技能。
逻辑程序员对于外行人来说其实是个比较抽象的概念,其实就是控制游戏世界的规则,我举个简单的例子,比如说俄罗斯方块里,一个规则是如果一个方块落下之后发现有行满了,就会消掉这些行,然后上面没有被消掉的行会按位置下降。在游戏世界中,你能看到的一切gameplay都要依赖逻辑程序来控制,在绝大多数情况下,逻辑程序在代码数量上占据了游戏程序的主体。
业界主流的发展越来越倾向于这样一个认识,策划创造游戏的玩法,美术创造游戏的画面,而程序的职责是为他们提供帮助。这种帮助主要就是提供给他们工具,在游戏开发流水线越来越进化的今天,工具的好坏对游戏的质量起着决定性的作用。一些典型的工具包括地形编辑器、场景编辑器、脚本编辑器、粒子编辑器等等。对程序员来说,编写工具程序往往需要掌握Windows(或其他操作系统)编程的能力。
当然还有很多很多其他的分工,比如AI程序员负责编写怪物和BOSS的行为,角色的寻路,UI程序员负责编写游戏的界面,比如各种菜单、状态的显示,服务端程序员负责编写服务器端的逻辑程序等等。鉴于答者的工作,这种分类其实主要是按照3D网游来讲的,其他不同平台不同类型的游戏当然会有不同的分工,不过大体上差不多。而且这些分工很多都是有交集的,并没有选了其中一种就不会做别的这种事,分开来讲只是希望能有个大概的印象。
D. 有哪些适合程序员做的兼职
做兼职副业,一定要选择一个安全、靠谱有做的价值的平台,选择好很重要! 与其每天浪费时间刷抖音,刷朋友圈,玩着无聊的游戏打发时间,还不如做点有意义的事,既充实了自己也赚了钱! 利用碎片化时间,变成每天源源不断的收益! 推荐两款外快软件,一款是淘宝天猫的优惠券+佣金(真正全程无任何费用,安全、无套路、讲诚信,自己省钱,还可以赚钱,每天都有收入),另一款看新闻就能赚钱,都是我正在做的项目,安全有保障,可以放心使用!
E. 游戏程序员如何进行职业规划
作为一个游戏程序员,我来分享我的经验。
做好这个项目的成功,至少在短期内你会增加的收益。找到自己的方向(技术)现在是一个信息爆炸的世界,过滤掉无用的信息,不要让自己过于分散,你可能没有什么,更多的掌握基本理论和一些有用的和不太容易改变的,不受欢迎的技术,学习一些花哨的容易改变(有很多这样的作为游戏引擎却可以掌握图形技术来改变现状,而最好的掌握一个或两个流行的引擎)
计划好每一天,好好利用时间碎片。协调工作和生活,和家庭相处,毕竟工作只是生活的一部分,大多数人都是生活中的一员。
F. 我想成为游戏开发程序员,要学些什么
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++语言,数据结构,编译原理,算法等,另外线性代数、微积分、牛顿力学在图形和物理引擎开发方面用途也很广泛,如果要提高的话还有必要了解硬件相关的知识如计算机体系结构、汇编语言,这些对我们学习一个新的硬件平台、编写最优化代码、提高自己游戏的竞争力都是非常有益的。另外,保持有恒心、不怕苦(比如说通宵加班)的心态,对游戏的热情也是非常重要的。对于那些想进入游戏行业,但缺乏软件开发知识的人,可以通过参加游戏开发培训来 现在有很多人,计算机本科毕业,学了很多软件开发的知识,但是一旦要用到实际的项目开发时,感觉无从下手,这主要是在学校里运用知识的机会太少了。所以学习游戏编程最好的方法是能实际参与到一个好的游戏项目中和有丰富开发经验的人一起开发游戏,可能学到很多你从书本上学不到知识和技能。但有时候你一时还没有机会参与到一个好项目中,没有机会进入一家好的游戏公司,但是你对游戏开发有一腔热情,很希望学习游戏开发的技能,那你就应该去参加专门的游戏开发培训,因为游戏开发培训班中的老师都是一些有丰富开发经验的老师,一般都有五年丰富的项目开发经验,听他们的课,实际上就是在和他一起分享这么多年的开发经验,另外游戏开发培训课程中会专门设计一些项目和课题,它们本身就是可以直接运用游戏开发中,这样你可以不进入着名的游戏公司,但可以学到这些公司中一些常用的开发技能。另外还有一种方法经济实惠的方法,参加一些网上志愿者的开源项目,这些项目从品质来说有好有坏,选择一个好的项目非常重要,另外他们中间本身有许多是业内人士,本来你要进入他们公司,才能学习到他们的经验,但是通过开源项目,你就有向他们学习的机会了,说不定哪一天,你就进入一家知名的游戏公司了,不过目前开源的完整游戏项目好的不多,到是在图形引擎和物理引擎方面有一些很不错的开源项目,但要加入进去的话,你的基础一定要好啊,有些开源的团队也不是随便什么人就能加入的。
G. 如何成为一名优秀的游戏程序员
首先让我们来谈谈什么是程序员,以及程序员需要做哪些事情?
选择做程序员,是源于真正意义上的兴趣和喜欢,在做程序员的这几年,我的生活也在一步步的提升,但同样,不可否认在我个人眼里,程序员的工作就像选择其他种类的工作一样,只是一份职业,一种在社会上存身立足的手段。
在校时,以及工作后都曾这么的想过:做一个IT从业人员,做一个程序员,做上个一二年,然后向提升下,做一个项目经理什么的。或许,可以开一家自己的小软件公司,或许做一名软件顾问,再或许开一个网站,开发一个自己的小软件。或者,真的不行的,利用做程序员这几年的积蓄做一些小买卖 转行另谋生计。总之,感觉做程序开发将是人生的一个过渡,可若真的按这种思路过渡,就将是用我人生的青春年华大好时光的五六年,或者更多时间。
下面一些事情是做程序员必须思考的:
(一) 你适合当程序员吗,你知道编程序是怎么回事吗?
1、 程序员意味着要编程序。(如果你仅仅想得到一份高薪水的工作,喝喝咖啡就等老板发薪水,我奉劝你还是另找一份更合适的工作,譬如练摊,真的,兄弟,这份工作不适合你)
2、你是学文的还是学理的,编程序也许需要浪漫,但更需要逻辑和严谨。(说坦白点就是,在你没有找到乐趣以前,它很枯燥)
3、你有对新技术追求的热情吗?你有刨根问底的探索精神吗?(热情绝对是最重要的!你仔细思考一下自己的性格适合当程序员吗?)
4、当程序员决不是什么好差事,时刻需要学习,需要思考。(直到你成为那个可以引导别人去学习和思考的人,你才可以偷偷的嘿嘿笑,又一群傻蛋)
5、程序员的未来很迷茫。(但我认为关键看你自己!我希望你是一个有追求的人,不仅仅是混碗饭吃。因为真正的乐趣在于创造;如果你能改变软件业的历史,那才是英雄;不想成为Bill Gates,不想成为Dennis Ritchie和 Bjarne Stroustrup,我会说你没有追求。
6、当程序员还是很有乐趣的。(当你学到新知识时,当你有新的思想见解时,当你有新的产品问世时,和知己探讨你的成果时…我问你,觉得这些是乐趣吗?)
7、当程序员不易也不难。(世间事有难易乎?为之…;不为…。你有决心和信心吗?)
8、你舍得花钱买书吗?(读好书绝对是学习编程的最佳捷径。你一定会说,现在电脑书籍真他妈的贵,没法子,谁让知识和技术在人家的脑袋,在人家的书里呢;等你写书时可以把价格定低一点,记着还有好多没钱但想买书的兄弟很困难呀。要舍得买书,买好书,不好的的书不如不读,其害大于其益,关于买什么书,你可以问高手或看候捷的书评;准备一个小本子记录你想买的书的名字,逛书店时看看,如果好就买下,记住要读,别光买不看。)
9、我告诉你,程序就是:任何有目的的、预想好的动作序列,它是一种软件。
10、编程序就是编写程序。
11、你想好了吗?(如果你想好了还是决定要当程序员,可以继续往下读;否则,你可以继续寻找别的出路了。)
(二) 作为一个合格程序员每天该做的事是什么
1、总结自己一天任务的完成情况
最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多;
2、考虑自己明天应该做的主要工作
把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作;
3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法
出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢;
4、考虑自己一天工作完成的质量和效率能否还能提高
一天只提高1%,365天你的效率就能提高多少倍你知道吗?(1+0.01)*365 = 37 倍;
5、看一个有用的新闻网站或读一张有用的报纸,了解业界动态
闭门造车是不行的,了解一下别人都在做什么,对自己能带来很多启示;
6、记住一位同事的名字及其特点
你认识公司的所有同事吗?你了解他们吗?
7、清理自己的代码
今天完成的代码,把中间的调试信息,测试代码清理掉,按照编码风格整理好,注释都写好了吗?
8、清理自己的桌面
当日事当日毕,保持清洁干净的桌面才能让你工作时不分心,程序员特别要把电脑的桌面清理干净;
H. Erlang游戏程序员换语言转行有些什么建议你会如何选择
如果你是转行学习程序编写开发,最好依据目前的行业发展前景来选择,终究时长比较有限,假如想象科班一样从C语言逐渐,彻底是不太可能的。转行最要注重的是,行业发展前景和自身的时长要努力做到短期内性价比高转行,用最快的时间转行赚越来越多的钱,选择学习培训的确是非常好的选择。选择培训学校必须留意,如今的线下推广组织有自营和加盟代理的,所说加盟代理便是掏钱给总公司,总部给学习培训原材料。目前市面上许多知名的组织全是可以加盟代理的,有时加盟代理的培训机构或是视频上课的,而不是教师中间到当场。我并不点评这类学习方法怎样,大伙儿可以自身评定。
最先推存你学习Java,现阶段Java开发在任何的大数据技术里边,不论是需要量,或是关注度全是蛮出色的一个技术性方位,许多想进到开发领域的好朋友,都想选择以Java做为开发方位。并且由于Java做为一个后面开发的流行选择,从业Java开发一段时间以后,针对其余的新技术的了解和理解,都是有非常大的协助。换句话说学精了Java,对学习别的的技术性会出现非常大的推动。此外假如自身感觉Java难,还可以学习h5那样的前面课程内容,相对而言很容易了解,现阶段的要求也较为受欢迎,可以考虑到。
I. 做一名游戏程序员要什么样的知识
以我所知,要具备
基础知识(数据结构,操作系统,计算机组成原理,编译原理,计算机网络,(数据库原理可能不用,但学了更好),高数,线代,概率,离散(起码要懂这四门数学))
然后就是语言方面
这是人家给我的建议
(游戏开发的正路是C -> C++ ( -> STL ->) -> Win32 API -> DirectX / OpenGL / GDI等图形库
C -> C++ -> 数据结构 -> 算法 -> STL -> (Boost) ->(MFC) )
而我把它细化了就是
(C-汇编-C++-数据结构-《Windows程序设计》(C语言描述那本名着Charles Petzold写的)->《Windows核心编程》(Jeffrey Richter写的那本)-MFC(学这个建议从简单开始(推荐Visual C++实用教程,然后再看孙鑫的VC++深入详解,最后才看,MFC深入浅出))- Directx)
STL或者可以安排在数据结构后学,STL还没怎么去理解过。
语言方面我列出了一个我个人建议的学习顺序,当然只能作参考,按每个人情况而定。
至于基础知识的课程,如果你数学比较好,建议先把离散给学好了,再去学,而把计算机组成原理放在最后,因为这个比较难。
做美工,当然会看你是否相关专业出身,但如果你功力够的话,他们也不会介意你是否美术专业出身的。
以上。
希望对你能有些帮助。
J. 想成为一名游戏程序员该怎么做
本人没有从事开发行业,但是不少同学都去做开发了,所以对编程略有一些见解。建议是多看代码多练习,有机会多参与项目,总之一定要多练。大学四年的代码量决定了毕业时的薪水。