c++游戏客户端开发理解需要哪些知识

您当前的位置 :
达内C++老师解惑:毕业想做游戏开发该怎么准备
扫码阅读手机版
  您好!我是一名学计算机的本科生,毕业开始找工作了,我c++学的不错,想进IT游戏行业也不知道有什么岗位,现在感觉很乱,不知从哪里抓起。需要如何作准备才能加大自己胜出的砝码呢?最重要的是什么呢?
  跟达内C/C++的老师一起来了解一下游戏开发工程师吧!
  游戏开发工程师:与你分享快乐
  手机游戏、网络游戏、单机游戏……数不清的游戏让人着迷,百玩不厌。在你享受着各种游戏带来乐趣的同时,是否也想过要成为一名快乐的制造者——游戏开发工程师呢?而成为游戏开发工程师需要什么样的条件和技能?游戏开发工程师的工作生活是否也像他们制造的游戏那样让人轻松快乐呢?那就让我们来一探究竟。
  后来者居上的行业
  游戏行业虽然在我国起步晚,但发展的势头迅猛。从2000年的游戏产品主要依靠进口到如今民族网游占据半壁江山,国内网络游戏产业在几年时间里完成了华丽的逆转。数据显示,2008年我国自主研发的民族网络游戏市场实际销售收入达110.1亿元,占中国网游市场实际销售收入的59.9%。此外,2008年,中国总计有15家网络游戏企业自主研发的33款网络游戏作品进入海外市场,销售收入为7074万美元,同比增长28.6%。
  在这种发展趋势下,游戏企业在对自身发展起到决定因素的人才方面“出手”就显得十分大方。游戏开发工程师不仅在薪金待遇上比传统高科技产业从业者更有优势,同时择业面也更为广泛,可以在游戏开发各个阶段的岗位上任职。因此,“在这个后来者居上的行业中”,有志之士可以通过高校学习或专业的技能培训来增强竞争力,实现就业,在创造自身价值的同时,为世人带来快乐。
  游戏开发工程师——职业概述
  如今游戏产业发展迅猛,游戏人才更是千金难求。游戏开发是一种集剧情、美术、动画、程序等为一体的复合技术,游戏从业人员必须兼具软件专家和艺术家的复合实力。游戏开发工程师的工作职能,涵盖前期游戏策划、中期游戏制作与后期非编合成等整个商业设计制作流程,包括游戏场景、游戏角色、游戏动画、游戏特效等多方面的设计、编程与创作,涉及手机游戏、网络游戏、单机游戏、Flash游戏等多重领域。
  因此,一名优秀的游戏开发工程师要有扎实的程序语言功底、丰富的算法知识、良好的创意策划以及相关图形处理知识等。由此看来,这些“快乐制造者”的工作却并不轻松。
  游戏开发工程师——职业大揭秘
  揭秘一工作内容
  1.了解并致力于游戏总体设计;
  2.配合主程序完成游戏架构及各大功能的设计、开发、调试和其他技术支持;
  3.负责游戏开发工具和运营维护工具的设计与开发;
  4.完成游戏服务器端模块代码及相关文档的书写、优化,对已完成代码进行单元测试;
  5.管理、维护游戏平台的制作及运行;
  6.与团队其他成员配合,促进游戏开发的改进创新。
  揭秘二职业要求
  在学历要求和专业背景方面,多数公司要求游戏开发工程师具备计算机、软件工程类专业大专及以上学历,也有少部分公司则更看重能力。
  游戏人才需要具备的知识技能包括:
扎实的物理和数学学科基础;
丰富的数据结构知识和良好的算法分析能力;
精通C++、Flash、Java(J2ME/J2SE)等多种开发语言;
熟悉jsp、servlet、html等页面开发技术,resin、tomcat等一种或多种Web容器,包括MySQI、SQLServer、Oracle等在内的一种或多种数据库;
了解DirectXGameBasic,DI、DS、DSND、DD、D3D原理;
精通socket编程技术、Directplay、3D技术以及地图开发工具(MAPTool)、人物开发工具(CHARTool)、游戏引擎技术即客户端(client)的全面技术,了解如何建立网络游戏(WAN)、服务器端(Server)的全面技术等。
  此外,游戏开发工程师还要有较强的团队协作意识和研发创新精神、良好的分析综合能力和抽象思维能力。如果有什么问题,还可以加“达内C语言培训”微信公号,有问必答哦!
  揭秘三职业前景
  游戏行业在我国起步晚,却发展迅速,已被国家信息产业部列为“863计划”重点项目之一。但目前,我国专业游戏开发人才不到一万人,预计未来5年内人才缺口将近60万人。游戏精英人才的匮乏已成为制约我国本土化游戏产业发展的“瓶颈”。
  游戏制作部门的四大主体人员——美术、程序、策划、测试人员配备比例是2∶1∶1∶1,在目前国内的游戏研发团队中,美术设计和程序设计人员是需求量最大的。根据具体开发项目的不同,对于专业人才的需求在数量和方向上也各不相同,企业规模一般从十几人到上百人不等。游戏开发工程师已经不知不觉踏入了金领的行列,游戏、动漫业逐步发展成为21世纪极具潜力的朝阳产业。
  揭秘四薪酬水平
  入门级游戏开发工程师与拥有2~3年工作经验的游戏开发工程师收入差距在加大,一般通过专业培训进入游戏行业,月薪在元之间,而工作两年以上的游戏开发工程师的月薪可达到1万~2万元,一名极其优秀的游戏开发工程师的年薪则可以高达30万元。另外,薪资也跟地域有关,北上广深杭普遍高一些。
  游戏开发工程师职业发展道路分为:
  路径一:对于对游戏开发有极大兴趣的人来说,不断挑战自我、积累经验,从初级工程师到高级工程师的发展即是最好的选择。
  路径二:游戏开发工程师需要编写和游戏相关的各种程序,而相应的职业发展方向是程序员(Programmer)→主程序员(MainProgrammer)→技术总监(Director)。如果要做核心程序员或者是高一级别的领导,就需要同时拥有技术+游戏天分+领导能力,否则只能做一些纯技术方面的工作。
  路径三:游戏开发工程师在积累相应经验后,对游戏市场的发展会有一定的把握,可以发展成为网络游戏策划师,负责提供创意、策划新游戏,也可发展成产品研发经理等带领团队自主开发。
下载前沿客户端关注更多精彩
热点新闻排行榜
| 违法和不良信息举报电话:022- | 举报邮箱:jubao@staff.enorth.cn |
Enorth.com.cn, Tianjin ENORTH NETNEWS Co.,LTD.All rights
本网站由天津北方网版权所有游戏开发用什么语言做基础?怎么学?
游戏开发用什么语言做基础?怎么学?
浏览次数:6449
浏览次数:724
浏览次数:914
浏览次数:1185
浏览次数:1293
如果你对以下课程意犹未尽,,查看全部课程
HTML5全栈开发
HTML5最新课程
156 人在学
c#编程概述
C#快速入门
简单又好玩
120 人在学
没有账号?
s后重新发送
已有账号?
已有账号?
验证码确认
话题标题:
400-877-8190
登录后反馈17人已关注
行有不得者,反求诸己前言:这个问题放了好久,主要是因为自己本身不是学游戏的。了解不深。所以我就去跟做游戏的同学和老师,深入了解探讨了下。以下观点有一部分是采集自学校老师的意见,不全部都是自己的观点。如果有不对的地方,请大家指正!言归正传,C++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高。而它的学习难度,主要来自于它的复杂性。现在C++的使用范围比以前已经少了很多,java、C#、python等语言在很多方面已经可以代替C++。但是也有很多地方是其他语言完全无法替代的,主要集中在需要运行效率比较高的行业;比如游戏、高效的服务器。  现在学习java、C#等语言的人数远远高于C++,主要是因为C++的入门门槛太高。  所以在此我们不讨论具体的技术细节,只说我们在哪个阶段应该学习什么东西。有个系统的规划。  一、技术能力  1. 语言我们要成为一个程序员,学的东西会很多很杂,但是最开始一定要从语言开始学习。学习语言的目的就是打好基础,特别是自学的,一定规划好自己的学习路线,一步一个脚印学习下去。学习语言最关键的莫过于多读书,但不能随便找一本C++书籍就去读了。对于学习C++书籍的推荐,见我另一个问题的答案:自己根据自己学习的阶段去读这些书,不要盲目敲代码!  2. GUIC++方面的GUI库有很多种,比如MFC、WTL、wxWidgets、QT。这些GUI库都各有自己的特点,其实我们只要先了解一种就可以了,只要深入了解了一种GUI库。需要的时候再学习其他的就够了,本质上都差不多,很快就可以上手了。MFC虽然设计上有很多问题,但是作为入门还是不错的,而且学习资料很多,碰到问题也好解决。学习MFC的推荐下面这个链接,里面有别人学习MFC游戏开发的笔记,可以多学习学习。  3. 数据结构和算法很多人都忽视了数据结构和算法方面的知识,尤其是一些编程语言的库做得非常好;几乎不需要自己去实现一些数据结构和算法,导致现在很多程序员不重视甚至忽略这方面的知识。但是,当我们想让我们的程序跑的更快、内存占用更少的时候,这些知识就非常非常重要了。很多程序员都是刚开始的时候不重视这些,但是工作几年后又来补习这些知识。最开始可能不需要学习的太深入,但是基本的数据结构和算法一定要知道。推荐《数据结构(C语言版)》。在数据结构和算法的学习中,最好不要去关心面向对象方面的技巧,就用C语言来实现。这样能更关注于算法本身的内容。另外,如果有精力剩余的话,推荐看一本书:(下面是亚马逊关于这本书的链接,有兴趣的可以点进去购买。)原书名:Introduction to Algorithms 中文名: 作者:Thomas H.Cormen,Charles E.Leiserson,Ronald L.Rivest,Clifford Stein 本书俗称CLRS(作者名字的简写),算法的经典教材,堪称算法分析著作中的“独孤九剑”。作者之一Ronald L.Rivest 由于其在公开秘钥密码算法RSA上的贡献获得了ACM图灵奖。全书内容全面,结构清晰,6个部分1000多页把数据结构算法的主要内容都包含了。作者用图表,伪码解释每一个算法,通俗易懂而不失严谨性,英文比较简单,语言流畅。因此,这本书更适合初学者,不要求读者拥有很强的数学背景和丰富的编程经验。书中习题安排合理,难度适中,在网上有全部习题的答案;网上还有作者在MIT讲述本书的课程的录像,可谓资源丰富。  4. 数据库学习数据库的基础知识,并且掌握一种数据库使用。推荐使用Oracle,而且最好不要用一些封装好的接口。而应该直接用Oracle提供的数据库API,可能对数据库了解的会更深入。  5. 并行CPU主频已经不能遵循摩尔定律了,现在CPU发展的趋势是多核心。无论是多线程,还是多进程,都是为了更好的利用CPU的性能,提供更好的用户体验。这就要求我们如果要写出高效的应用程序,必然要涉及到并行计算。多花些精力在并行计算上吧,一定会有丰富的回报。  6. 网络编程这里所指的网络编程是指socket编程。现在C++的应用很多都是在做服务器开发,如何开发一个高并发、大吞吐量、高稳定性的服务器就是我们要考虑的了。  7. 设计模式  设计模式不是具体的技术,更多的是如何让代码更容易阅读、更好扩展、更容易使用。  8. 库的使用C++标准库仅仅提供了一些很基本的功能,所以我们经常会引入一些第三方库。最著名的恐怕就是被称为准标准库的boost库,它提供了我们编程中用到的各方面的技术,文本处理、算法、网络、多线程、图像处理等等,几乎无所不包。其它也有一些专著于某一方面的库,比如ACE是网络通信方面的,TinyXML是解析xml的,OGRE是图形渲染方面的。  9. 操作系统的知识程序员需要了解的操作系统知识和普通用户是不一样的,一个高手是需要深入了解操作系统的方方面面,而不是停留在使用层面。至于应该了解哪些知识,Windows上的去看《Windows核心编程》,Linux的去看《深入理解Linux内核》,应该可以知道自己应该学什么了。以上都是学习C++游戏开发的前期准备,也就是打好基础。上面都是基本功,看起来有点多,但是磨刀不误砍柴工。这对于你后面学习游戏开发有非常大的帮助。举个我身边的例子,他就是先学习数据结构和算法,去参加ACM竞赛,后面转的C++游戏开发。学的非常快。这就是基本功扎实的好处!!!!二、图形图像处理:如果你不想开发游戏引擎的话,简单了解OpenGL或者DirectX,反之深入了解。 DirectX是微软的多媒体编程接口,在Windows的平台下,配合支持DX的高端显卡能把游戏场景的特效等等发挥得淋漓尽致,而OpenGL是一个跨平台的编程接口,是硬件无关的编程接口。前者主要Windows下开发游戏,后者主要是移动端。如果是开发iOS游戏,需要了解Object C,有些小游戏使用JAVA和Flash,网页游戏还可能需要了解 HTML5, DIV, CSS等知识;网络游戏还需要了解网络编程,加解密和数据库知识。另外很多游戏开发公司都可能会使用不同游戏开发引擎,这些引擎会把上述的知识点封装;使得你可以不需要了解底层的细节,调用它指定的API就可以实现一些功能。不过你如果了解底层细节,显然对调试问题更有好处。建议多看一下cocos2d-x官网的讨论和API范例。再往上走的话,可能会需要了解不同的显卡的特点,扬长避短。了解一些不常用的脚本编程技术可以减少你架构编译调试测试的时间。  三、项目经验了解上面的这些知识后,不多加练练可没用。特别是对游戏开发来说,项目经验更加重要。一个好的项目可以让你把各种技术进行综合运用,并且能学到一些新的知识。比如做播放器的要学习编解码器方面的知识。做游戏也是一样,要学习图形方面的知识,很多人会忽略项目的经验,而单纯的谈技术能力,这是错误的。其实这就是理论和实践的关系,技术就是理论知识,做项目就是实践,理论对实践有指导作用。实践能加深我们对理论的深入理解。建议前期多去做几个小游戏试试手,然后慢慢加大游戏的难度。(ps:网上有特别多的开发游戏教程,一开始照着教程,边学边做。)最后尝试自己想个游戏做出来或者去找个游戏公司实习。  总而言之,道路还是很艰辛的,且行且珍惜!!!前言:这个问题放了好久,主要是因为自己本身不是学游戏的。了解不深。所以我就去跟做游戏的同学和老师,深入了解探讨了下。以下观点有一部分是采集自学校老师的意见,不全部都是自己的观点。如果有不对的地方,请大家指正!言归正传,C++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高。而它的学习难度,主要来自于它的复杂性。现在C++的使用范围比以前已经少了很多,java、C#、python等语言在很多方面已经可以代替C++。但是也有很多地方是其他语言完全无法替代的,主要集中在需要运行效率比较高的行业;比如游戏、高效的服务器。  现在学习java、C#等语言的人数远远高于C++,主要是因为C++的入门门槛太高。  所以在此我们不讨论具体的技术细节,只说我们在哪个阶段应该学习什么东西。有个系统的规划。  一、技术能力  1. 语言我们要成为一个程序员,学的东西会很多很杂,但是最开始一定要从语言开始学习。学习语言的目的就是打好基础,特别是自学的,一定规划好自己的学习路线,一步一个脚印学习下去。学习语言最关键的莫过于多读书,但不能随便找一本C++书籍就去读了。对于学习C++书籍的推荐,见我另一个问题的答案:自己根据自己学习的阶段去读这些书,不要盲目敲代码!  2. GUIC++方面的GUI库有很多种,比如MFC、WTL、wxWidgets、QT。这些GUI库都各有自己的特点,其实我们只要先了解一种就可以了,只要深入了解了一种GUI库。需要的时候再学习其他的就够了,本质上都差不多,很快就可以上手了。MFC虽然设计上有很多问题,但是作为入门还是不错的,而且学习资料很多,碰到问题也好解决。学习MFC的推荐下面这个链接,里面有别人学习MFC游戏开发的笔记,可以多学习学习。  3. 数据结构和算法很多人都忽视了数据结构和算法方面的知识,尤其是一些编程语言的库做得非常好;几乎不需要自己去实现一些数据结构和算法,导致现在很多程序员不重视甚至忽略这方面的知识。但是,当我们想让我们的程序跑的更快、内存占用更少的时候,这些知识就非常非常重要了。很多程序员都是刚开始的时候不重视这些,但是工作几年后又来补习这些知识。最开始可能不需要学习的太深入,但是基本的数据结构和算法一定要知道。推荐《数据结构(C语言版)》。在数据结构和算法的学习中,最好不要去关心面向对象方面的技巧,就用C语言来实现。这样能更关注于算法本身的内容。另外,如果有精力剩余的话,推荐看一本书:(下面是亚马逊关于这本书的链接,有兴趣的可以点进去购买。)原书名:Introduction to Algorithms 中文名: 作者:Thomas H.Cormen,Charles E.Leiserson,Ronald L.Rivest,Clifford Stein 本书俗称CLRS(作者名字的简写),算法的经典教材,堪称算法分析著作中的“独孤九剑”。作者之一Ronald L.Rivest 由于其在公开秘钥密码算法RSA上的贡献获得了ACM图灵奖。全书内容全面,结构清晰,6个部分1000多页把数据结构算法的主要内容都包含了。作者用图表,伪码解释每一个算法,通俗易懂而不失严谨性,英文比较简单,语言流畅。因此,这本书更适合初学者,不要求读者拥有很强的数学背景和丰富的编程经验。书中习题安排合理,难度适中,在网上有全部习题的答案;网上还有作者在MIT讲述本书的课程的录像,可谓资源丰富。  4. 数据库学习数据库的基础知识,并且掌握一种数据库使用。推荐使用Oracle,而且最好不要用一些封装好的接口。而应该直接用Oracle提供的数据库API,可能对数据库了解的会更深入。  5. 并行CPU主频已经不能遵循摩尔定律了,现在CPU发展的趋势是多核心。无论是多线程,还是多进程,都是为了更好的利用CPU的性能,提供更好的用户体验。这就要求我们如果要写出高效的应用程序,必然要涉及到并行计算。多花些精力在并行计算上吧,一定会有丰富的回报。  6. 网络编程这里所指的网络编程是指socket编程。现在C++的应用很多都是在做服务器开发,如何开发一个高并发、大吞吐量、高稳定性的服务器就是我们要考虑的了。  7. 设计模式  设计模式不是具体的技术,更多的是如何让代码更容易阅读、更好扩展、更容易使用。  8. 库的使用C++标准库仅仅提供了一些很基本的功能,所以我们经常会引入一些第三方库。最著名的恐怕就是被称为准标准库的boost库,它提供了我们编程中用到的各方面的技术,文本处理、算法、网络、多线程、图像处理等等,几乎无所不包。其它也有一些专著于某一方面的库,比如ACE是网络通信方面的,TinyXML是解析xml的,OGRE是图形渲染方面的。  9. 操作系统的知识程序员需要了解的操作系统知识和普通用户是不一样的,一个高手是需要深入了解操作系统的方方面面,而不是停留在使用层面。至于应该了解哪些知识,Windows上的去看《Windows核心编程》,Linux的去看《深入理解Linux内核》,应该可以知道自己应该学什么了。以上都是学习C++游戏开发的前期准备,也就是打好基础。上面都是基本功,看起来有点多,但是磨刀不误砍柴工。这对于你后面学习游戏开发有非常大的帮助。举个我身边的例子,他就是先学习数据结构和算法,去参加ACM竞赛,后面转的C++游戏开发。学的非常快。这就是基本功扎实的好处!!!!二、图形图像处理:如果你不想开发游戏引擎的话,简单了解OpenGL或者DirectX,反之深入了解。 DirectX是微软的多媒体编程接口,在Windows的平台下,配合支持DX的高端显卡能把游戏场景的特效等等发挥得淋漓尽致,而OpenGL是一个跨平台的编程接口,是硬件无关的编程接口。前者主要Windows下开发游戏,后者主要是移动端。如果是开发iOS游戏,需要了解Object C,有些小游戏使用JAVA和Flash,网页游戏还可能需要了解 HTML5, DIV, CSS等知识;网络游戏还需要了解网络编程,加解密和数据库知识。另外很多游戏开发公司都可能会使用不同游戏开发引擎,这些引擎会把上述的知识点封装;使得你可以不需要了解底层的细节,调用它指定的API就可以实现一些功能。不过你如果了解底层细节,显然对调试问题更有好处。建议多看一下cocos2d-x官网的讨论和API范例。再往上走的话,可能会需要了解不同的显卡的特点,扬长避短。了解一些不常用的脚本编程技术可以减少你架构编译调试测试的时间。  三、项目经验了解上面的这些知识后,不多加练练可没用。特别是对游戏开发来说,项目经验更加重要。一个好的项目可以让你把各种技术进行综合运用,并且能学到一些新的知识。比如做播放器的要学习编解码器方面的知识。做游戏也是一样,要学习图形方面的知识,很多人会忽略项目的经验,而单纯的谈技术能力,这是错误的。其实这就是理论和实践的关系,技术就是理论知识,做项目就是实践,理论对实践有指导作用。实践能加深我们对理论的深入理解。建议前期多去做几个小游戏试试手,然后慢慢加大游戏的难度。(ps:网上有特别多的开发游戏教程,一开始照着教程,边学边做。)最后尝试自己想个游戏做出来或者去找个游戏公司实习。  总而言之,道路还是很艰辛的,且行且珍惜!!!
bravo!不是有一个笑话吗:&招聘文案上的:精通c++. (微笑)我一开始也往c++上使劲过。一开始的课程都感觉so easy,到后面的经历了windows编程和游戏开发这种课程的时候,我毅然决然的投入了web开发的队伍。不过我们老师说了,c++虽然很难学,但是学好了就可以一直用很久。而java这种技术,更新特别快,你之后的学习是一个一直动态进阶的过程, java学习是一条斜线,而c++的是一个曲线。如果真的对c++感兴趣的话真的可以坚持一把,这年头会写c++的越来越少了。。。不是有一个笑话吗:&招聘文案上的:精通c++. (微笑)我一开始也往c++上使劲过。一开始的课程都感觉so easy,到后面的经历了windows编程和游戏开发这种课程的时候,我毅然决然的投入了web开发的队伍。不过我们老师说了,c++虽然很难学,但是学好了就可以一直用很久。而java这种技术,更新特别快,你之后的学习是一个一直动态进阶的过程, java学习是一条斜线,而c++的是一个曲线。如果真的对c++感兴趣的话真的可以坚持一把,这年头会写c++的越来越少了。。。
昆明理工大学津桥学院
Breath And Life首先谢邀,我是学JAVA的,该怎么说呢,对C++真的不敢乱评论,只能说搞游戏还有很多的路,我也接触过unity之类的,感觉更好上手,最后说一句,任何一门语言学精了都是前途不可限量的,如果真的确定走C++这条路,那就坚持下去好好学,编程本来就难,c++比起其他语言更难学,但是学好了就会很牛,我感觉现在学C++的少了,你一旦通过招聘了,你的待遇就很高了首先谢邀,我是学JAVA的,该怎么说呢,对C++真的不敢乱评论,只能说搞游戏还有很多的路,我也接触过unity之类的,感觉更好上手,最后说一句,任何一门语言学精了都是前途不可限量的,如果真的确定走C++这条路,那就坚持下去好好学,编程本来就难,c++比起其他语言更难学,但是学好了就会很牛,我感觉现在学C++的少了,你一旦通过招聘了,你的待遇就很高了
后可以回答该问题
相关标签:
相关标签:
关注我们咨询服务合作法律法规京ICP备号
下载申请方APP
即刻拥有你的学业规划助手234被浏览15,082分享邀请回答416 条评论分享收藏感谢收起58 条评论分享收藏感谢收起他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 游戏客户端开发理解 的文章

 

随机推荐