做游戏属于什么程序员?
在游戏产业刚刚开始发展的那段时间,制作一款游戏往往是一个人的事情,而那个人必须在精通编程的同时,还极富技术创造力。
时至今日,虽然许多程序已经发展到模块化,但对游戏程序员来说,岗位仍然要求他们具备较高的技术水平和创造力,因为不论游戏性和情节对一款游戏有多重要,如果没有最基本的技术支持,所有的游戏性和情节都只可能建立在空中楼阁上。
程序员必须具备技术水平和创造力的另一个原因,是为了符合玩家的需求。
无论如何,玩家都希望展现给他们的游戏,能够将现有的硬件和技术发挥到极致,他们想要更快的运行速度、更好的人工智能、更高的画面解析度、更华丽的特效和更真实和深刻的游戏置入感。所以基本上每一款新游戏都要结合新的程序技术,因为只有程序员在不断地进行着技术的革新,游戏才可能真正做到让玩家满意。
由于国内主要的开发重点都放在网络游戏上,因此从国内现有的开发环境来看,程序人员大致可以分为以下一些类型:
1、引擎开发人员(enginedevelopers)
他们是负责构建游戏基础平台的专业程序员,与其它程序人员相比,他们更专注于开发一个可供别人利用的引擎,他们会将更多的时间和目光放在对游戏逻辑和游戏内核的研制和封装上。
2、客户端程序员
客户端程序员通常负责网络游戏客户端的研发,他们更强调游戏的画面表现和一些人机界面的效果,所有玩家在玩一款网络游戏之前要下载的客户端,就是这些程序人员的工作成果。
近年来随着游戏3D化的持续进行,客户端程序员也开始逐渐从之前的2D美术表现向3D美术表现转移,通常来说客户端程序员都是强调画面和图形的,因此站在纯程序员的角度分类,客户端程序员也可以称为图形程序员(graphicsprogrammers)。
3、服务器端程序员
与客户端程序员相对应的是服务器端程序员,他们负责网络游戏服务器端的研发工作。由于网络游戏的特点,服务器端程序员往往更强调的是对游戏数据的处理和计算,而对游戏的画面表现并不在意,服务器端程序员必须让自己的程序能够接收和发送来自客户端的数据包,同时还要对这些数据进行相关的计算。相比较而言,服务器端程序员更强调对游戏引擎的掌握,因为游戏的服务器端是否稳定,是真正决定一款游戏能否被广泛接受的主要原因之一,同时服务器端程序的好坏,直接关系到对游戏系统的维护和优化,甚至关系到外挂等网络游戏常见的相关问题。
4、开发工具程序员(ToolsProgrammers)
开发工具程序员负责创建支持游戏开发的各种工具。
由于游戏的研发工作是合作的产物,因此在游戏研发的过程中,程序人员往往需要开发出一些专用的工作,用来给相关人使用,最常见的就是游戏的地图编辑器等,还有一些诸如特效编辑器、后台管理工具等。
在国内,工具程序员往往是由其它岗位的程序员来兼任,这种不明确的分工也正代表了国内游戏产业的不成熟。
5、其它程序人员
除了上述几种程序人员之外,程序人员还可以根据工作的内容,分为负责编写人机界面的界面程序员(interfaceprogrammers)、负责网络数据交换及优化的网络程序员(networkandmultiplayerprogrammers)、负责实现游戏人工智能的人工智能程序员(AIprogrammers)、负责将音乐音效添加到游戏中的音乐音效程序员(audioprogrammers)以及负责测试和保障游戏软件质量的测试程序员(QAprogrammers)等。
当然,并不是所有的游戏公司都会如此细致地对程序人员进行职能划分,正如前文所说的那样,行业的不成熟性让游戏公司在对岗位职能的描述过程中,充满了灵活性和模糊性,因为对国内现阶段的游戏研发来说,重要的是能否做出产品,而不是如何去进行细致的分工。
不过随着行业的不断成熟以及行业规范的持续建议,相信一个更完善的程序人员工作职能划分体系,会很快出现在所有从业者的面前,因为行业规范的过程,就是岗位职能明确的过程。
1 ,C游戏程序员现状
中国C程序员100%都是自学的。因为中国几乎没有象样的C培训机构。大家都知道社会培训是赚钱为主要目的。能在那里成才是个大运气。也不象JAVA有SUN公司一手推行。中国大学教育里也根本没有C教学。关于C/C基础课的知识,只是让学生入门。但对于实际的C软件工程应用,大学课本知识实践意义不大。最重要的是,大学里没有合格的C老师。编程是门技术,叫手艺也行。而大学是搞科研的,多的是科学家,靠出PAPER教科凭职称为生。并不是技术员。没有10万行以上代码经验和成功软件项目经验的人,很难教出中高级C程序员。
游戏制作业对C程序员的要求是比较高的。比一般行业软件高很多。因为任何一个MMO都是个中大型软件项目。日使用人次达到几十万上百万,同时使用人数几十万在线的大型网络多人交互软件,集成了超过十几项专业领域编程技术的软件,想不大都不行。
另外,中高级C程序员能力一般都很强。因为都是自学成才,这需要较高智商,很强的自学能力,解决问题能力,和克服困难的毅力。但是这种人才在游戏行业里人数并不多。抛开凤毛麟角具备整体大型软件架构能力的高级人才不谈。能够承担独立模块开发,具备独立解决问题的能力,写出在空间,性能,可维护性等几个方面达到要求的C程序员,也是很难找到的。而具备这些能力,同时又具备一些专业领域技术的人(图形引擎,网络引擎,等),更加稀少。
所以,即便是大游戏公司,对于C游戏程序员的需求,也是永远不能够得到满足。而已经在公司工作的C程序员,不经过短则3个月,长达1年的锻炼,也无法真正胜任独当一面的C游戏程序开发工作。
2 ,MMO游戏开发对C游戏程序员要求
前面提到,所有MMO游戏都是中大型软件。软件占用空间,稳定性,性能,可维护性等各项衡量软件质量的指标,对MMO游戏软件的要求都非常严格。远大于普通行业软件。这种规模和银行系统类似。而客户端和软件逻辑比一般的商业软件又要复杂很多倍。这就要求软件编写人员具备较高的程序编写素质。
游戏软件中,解决好软件工程部分,只是项目的1/3。另外两部分是策划和美术/音频。从经验来看,需求变更对于MMO游戏软件,不是偶然事件,而是一种MMO游戏软件开发的基本属性。游戏软件投入大,周期长,风险高。MMO市场变化也大,交互电子游戏发展迅速。游戏软件必须面对外界变动。又因为开发周期长,所以软件需求变动成为了软件开发的一种基本属性。犹如复杂性是软件工程的一项基本属性一样。
这导致游戏软件的开发充满了不确定性。交互娱乐不同于商业应用。娱乐是属于理性和感性之间的领域。而C开发面对就是0和1的二元世界逻辑。这两个领域存在着不可调和的矛盾。这种情况,对C游戏程序员提出了更高的要求。
首先,基本C知识,C/C运用技能,必须极其扎实。并不是游戏软件开发用到什么平时书本上很难得到的知识点或者技能点。游戏C开发的知识体系和技能体系,利用现有C书籍就可以满足。比如《CLANGUAGE》《C PRIMER》《EFFECT C》《MORE EFFECT C》等。但是在开始游戏编程之前,把这些书本吃透并且实践熟练的人,非常难遇到。当然能够真做到这点的人,已经是个中高级C程序员了。我曾经遇到过一个,毕业工作不久就去了GOOGLE
其次,对于面向对象的深入理解。是非常重要的。熟练掌握C/C语法,编程技巧,只是满足了C游戏程序员一部分要求。而面向对象观念的深刻理解,会为大型C项目开发带来翻天覆地的变化。有时候,在一个10人以上并行开发的C游戏项目中,面向对象方法会成为救命稻草。《设计模式》以及《设计模式解析》相关的书籍,也是必修课。
最后,好技术人员的本质是自大的。这属于正常。但是如果这种习性影响了自身继续提高和团队合作。以及影响了其成为技术管理者和项目技术核心时,那么这种技术人员的自身价值会大打折扣。如果早日越过自命不凡这一关,扩大眼界,继续在综合素质上提高。在技术管理能力,架构能力上提高,其自身价值才会继续增长。落到实处,就是待遇和身家增长。
由于游戏开发的本质是团队开发。任何时候,只有对一个团队有价值的技术人员,其本身的价值才有可能得以体现。
3 ,成长和技术发展路线
一般技术人员发展有几个阶段
1 ,具备独立开发局部功能的能力
比如为某个UI编写逻辑接口函数。为某个LOGIN对话框编写自绘制控件等。
2 ,具备独立开发和攻关某个功能模块的能力
比如为游戏增加一个小型逻辑功能模块。
3 ,具备独立设计并开发某个系统的能力
比如设计和开发AUTOPATCH 系统
4 ,具备解决技术难题,设计架构的能力
比如开发网络同步仿真系统,开发一个中大型游戏制作工具
5 ,具备整体架构,管理,协调其他人共同开发一个大系统的能力
客户端主程,服务器主程,引擎主程等
6 ,技术director
制定技术发展方向,技术团队建立,技术管理等
在迈向每个阶段的过程中,伴随的都是巨大的工作量和工程压力。有时候是跨越1年的失败等等。在公司项目不成功时转换单位,重新开始,或者继续做为核心团队留在公司继续从新的机会做起,都是好的办法。但关键是吸取经验教训,尽量多学多练。并且结合自身长处发展。当然,游戏制作人员,最好还是依靠一个核心团队。成为核心团队的一员。
能够达到第三档的程序,已经是公司不可缺少的人才了。但往往程序员自身对自己的认识,和公司对其的认识,有时候会有差异。我碰到过一些人,脑子好用,写东西很快。各种技术都有涉猎。但总是不放心让他独立开发设计某个系统。哪怕是相对独立的工具。也会被搞得一塌糊涂。要后面人不停擦屁股。可自己还觉着自己水平很高。这种人浮躁,眼高手低,不愿意细致周全的做好一件完整的事。所以就可以看到他不停的跳来跳去,可在新公司的职位也没有见多么提高。公司非常重视交给一个程序员一件事,他是否能完整,考虑周全的把事情做完。哪怕时间长一点,也不能不做完。这会给工程带来致命的后果。
1、一款游戏的开发需要一个总的游戏策划人,为游戏编写背景故事,制定游戏规则,设计游戏交互环节,计算游戏公式,以及整个游戏世界的一切细节等。
2、需要游戏程序员。游戏程序员根据游戏策划人的策划书,不同的游戏需要不同的计算机语言以及不同的游戏引擎进行开发。
比如网络游戏程序,需要用到C++语言,用到cocos2D-x游戏引擎,untiy3D游戏引擎,Dx等技术。手机游戏程序,用到java计算机语言,安卓平台技术,ios平台技术等。
3、游戏美工。游戏美工主要是游戏原画,2D、3D游戏美工,需要用到手绘,PS,3Dmax等软件。设计与制作游戏中的角色,场景,动画,特效等。
扩展资料:
一、网络游戏策划设计分为执行策划和主策划,网络游戏美工设计分为原画设计、游戏UI设计、游游戏动画设计,网络游戏程序设计分为游戏程序设计。
1、网络游戏策划设计师需要学习:数字游戏宏观环境解析、数字游戏高级策划理论、数字游戏创意实践Unity3D项目开发。
2、网络游戏原画设计需要学习:手绘基础、原画艺术基础、动物角色设定、场景设定。
3、网络游戏UI设计需要学习:UED概述、GUI设计基础、网页UI设计、软件UI设计、游戏UI设计。
4、网络游戏程序设计需要学习:游戏程序设计、算法与数据结构、Win32程序设计、游戏数学和智能应用、2D游戏技术与应用。
二、游戏开发工程师工作内容:
1、了解并致力于游戏总体设计。
2、配合主程序完成游戏架构及各大功能的设计、开发、调试和其他技术支持。
3、负责游戏开发工具和运营维护工具的设计与开发。
4、完成游戏服务器端模块代码及相关文档的书写、优化对已完成代码进行单元测试。
5、管理维护游戏平台的制作与运行。
6、与团队其他人员配合,促进游戏的改进创新。
三、游戏开发工程师岗位职责:
1、负责客户端架构设计、模块划分、编辑器规划、引擎维护与人员分工。
2、负责游戏客户端与公司技术平台的整合。
3、协调与服务器端、策划、美术和公司其他技术支持部门之间的关系。
4、对客户端质量负全责。
四、薪酬与职业发展:
最近的一项在职人员收入调查统计表明:游戏行业3D美工、程序设计工程师等薪金收入出现了2个明显变化:一是薪金有了大幅度的提升;二是入门级游戏类工程师与拥有2-3年左右工作经验的工程师收入差距加大,一般通过游戏专业培训进入游戏行业工作一年内月薪在3000-8000元,而工作2年以上的游戏开发工程师平均月薪达到2-3万。
参考资料:
参考资料:
主要学的内容如下:
1游戏程序设计:C++程序设计入门;基本数据类型和输入输出;流程控制语句;数组、指针和引用、函数;程序结构和书写规;范结构体和联合体、类;继承与多态;异常处理与程序调试。
2算法与数据结构:算法分析;数据结构;基本算法;STL的概念与使用;静态库与动态库;XML库的使用。
3Win32程序设计:Windows程序入门;Windows消息;GDI绘图游戏工具与MFC;网络编程基础。
4游戏数学和智能应用:游戏中的坐标系;矢量、矩阵;几何碰撞;物理模拟;人工智能与寻路算法。
52D游戏技术与应用:2D游戏技术概论;游戏地图系统;GUI系统;战斗系统设计;任务系统;优秀的声音引擎BASS;Cocos2D-X引擎;Box2D物理引擎。
想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。
祝你学有所成,望采纳。
注意抓重点,游戏程序员也是程序员的一种。日常工作无疑也与大部分程序员一样,都是码代码。
具体一点,设计出一个游戏,程序员需要事先安排好的是分工和策划,然后再是开始敲代码。而且根据要做的游戏的复杂程度的不同,分工和策划这些前期准备工作也会有区别。例如像某荣耀这种大型手游,对美工的要求非常高,就会单独将美工分出来,交给美术设计专业的人员完成。对游戏界面的设计规划和英雄人物的动作实施一般来说都是由不同的小组完成的。因为界面涉及到前端方面的知识,而英雄的动作需要后台程序来执行。
而且,对于不同的人物,不是像外界想象的那样由不同的程序员单独完成。这种大批量的类似代码,程序员一般选择流水作业。身体部分的代码由谁或者哪个小组完成,武器部分由另外的人完成,而技能部分的代码,又由另外的程序员负责填充。
除了这些,还有非常重要的一点就是加班!与所有的程序员一样,加班是永远都逃不了的。而且,对于游戏程序员来说,自己参与设计的游戏就像自己的孩子,再辛苦也要养大啊!而且一般来说,在人物造型美工、游戏界面和具体的代码实施过程中,程序员会不停地被要求修改代码。因为这三方的矛盾是永远存在的,而且无论最后听谁的,最辛苦的都是程序员。
所以说,入行需谨慎,需谨慎!
游戏开发分为服务器开发和u3d的开发。
java可以做网络游戏的服务器开发。但是使用java做游戏服务器开发的不多,大多数都是使用C写服务端代码。所以Java并不太适合做游戏开发。
如果你想转行做游戏开发,做游戏前端可以自学unity和C。后端服务器开发自学C。
毛星云的一生本身就是一个传奇。
之所以会这样说,主要是因为毛星云在20多岁的时候就已经成为了行业的佼佼者。在毛星云还没有进入腾讯之前,毛星云就已经自主编写了关于游戏开发的收集,通过这样的方式来教游戏新手从事游戏开发工作。从某种程度上来讲,毛星云本身就是很多游戏开发人员的入门导师。
一、毛星云因为意外而身故。
毛星云是腾讯公司的天美工作室的著名开发人员,同时也是游戏界知名的开发程序员。有新闻表示毛星云因为抑郁的问题而跳楼身亡,这个事情令大家感到大为震惊。在外界看来,毛星云是一名非常成功的游戏开发人士,谁也没有想到毛星云会用这样的方式结束自己的生命。
二、毛星云的一生是一个传奇。
可能天才本身就是非常孤独的人,在毛星云还没有进入腾讯之前,毛星云就已经是很厉害的游戏开发大佬了。网上有很多关于大家对毛星云的评价,有人表示自己就是因为毛星云的教程才选择了这个行业。毛星云是一个才华横溢的人,同时也为游戏开发工作做出了极大的贡献。对于很多人来讲,人们难以相信毛星云会在30岁的时候用这样的方式重新出现在大众的眼前。
三、毛星云是很多人心中的大哥。
虽然毛星云的年龄只有30岁而已,但对于很多从事游戏开发的人来讲,很多人把毛星云奉为自己的大哥和偶像。毛星云编译的书籍曾经由清华大学出版社出版,很多人正是受到了毛星云的启蒙,所以才选择了这个行业。毛星云是一个非常低调的人,对人也非常和善。虽然毛星云表面非常乐观开朗,但在这个事情发生之后,大家才意识到毛星云原来长期处在压抑的心理状态之下。
0条评论