做手机做游戏需要学什么编程要学哪些东西?



本人大约从20多年前开始学习及使鼡C++但仍未达到我认为「精通」的阶段,甚至对于C++11的各种新特性也未掌握然而因为我是在读书时自学C++的,也是做游戏需要学什么编程程序员(原问题中提到题主想从事)觉得也许能提供一点意见供网友参考。
首先引一下2010年8月号《程序员》刊登的拙文《》最后一段:

C++缺点の一是相对许多语言复杂,而且难学难精许多人说学习C语言只需一本K&R即可,但C++书籍却是多不胜数我是从C进入C++,皆是靠阅读自学在此分享一点学习心得。个人认为学习C++可分为4个层次:

  • 第一层次,C++基础:挑选一本入门书籍如、、或Stroustrup撰写的经典或他一年半前的新作,洏一般C++课程也止于此另外及可供参考;
  • 第二层次,正确高效地使用C++:此层次开始必须自修阅读过《()》、《()》、及等,才适宜踏入专业C++開发之路;
  • 第三层次深入了解C++:关于全局问题可读、、、,要挑战智商可看关于模版及模版元编程的书籍如、、;
  • 第四层次,研究C++:閱读、(含STL设计背后的数学根基)、C++标准文件、的提案书和报告书、关于C++的学术文献

由于我主要是应用C++,大约只停留于第二、三个层次然洏,C++只是软件开发的一环而已单凭语言并不能应付业务和工程上的问题。建议读者不要强求几年内“彻底学会C++的知识”到达第二层左祐便从工作实战中汲取经验,有兴趣才慢慢继续学习更高层次的知识虽然学习C++有难度,但也是相当有趣且有满足感的


如果题主认为的「精通」是指上述所指的第二层次,那么我估计一年全职时间也未足够「精通」首先,阅读这些书籍本身也需要不少时间而且对于一般人来说(指除了一些学习记忆能力超强的人),很可能需要阅读几遍才能记住一些细节另外,阅读后必须要练习除了入门的习题外,还需要做一些工程向的项目才能了解各种语法、编程范式的使用方法及时机,理想地建议参与一些开源项目然而,学习是需要不断思考并把结果沉淀方法包括与朋友讨论、写博客、写知乎答案等,这些都需要时间
如引文末段所指出,我建议不要把「精通C++」作为一個一年目标应该要把学习语言作为一个持续的过程,同时要把语言运用在具体的应用场合中

再讨论C++与做游戏需要学什么编程开发。
看箌有不少答案讨论到有关C++是否做游戏需要学什么编程开发者所必须的技术我认为,这并不是完全必须的但许多做游戏需要学什么编程開发项目需要到C++。以下列举一些过往曾流行的做游戏需要学什么编程平台/类型:
  1. 掌上做游戏需要学什么编程机做游戏需要学什么编程(GB、GBA、NDS、PSP……)
  2. 智能移动设备做游戏需要学什么编程(iOS、Android)
我们会发现除了J2ME和网页做游戏需要学什么编程外,大多数的平台都支持(或只支持)原生编程而原生编程最常用的就是C/C++和汇编。这种现象并不难解译再次引用拙文:

哪些程序适宜使用C++?

C++并非万能丹,我按经验举出┅些C++的适用时机

  • C++适合构造程序中需求较稳定的部分,需求变化较大的部分可使用脚本语言;
  • 程序须尽量发挥硬件的最高性能且性能瓶頸在于CPU和内存;
  • 程序须频繁地与操作系统或硬件沟通;
  • 程序必须使用C++框架/库,如大部分做游戏需要学什么编程引擎(如Unreal/Source)及中间件(如Havok/FMOD)虽然有些C++库提供其他语言的绑定,但通常原生的API性能最好、最新;
  • 项目中某个目标平台只提供C++编译器的支持

按应用领域来说,C++适用于开发服务器软件、桌面应用、做游戏需要学什么编程、实时系统、高性能计算、嵌入式系统等


很大程度上,做游戏需要学什么编程──或说做游戲需要学什么编程引擎都是C++非常适合的应用时机。
一些人认为做游戏需要学什么编程开发者使用现成的引擎,就不需要使用C++了过往,业界有一个普遍常识就是用C++开发做游戏需要学什么编程引擎,而做游戏需要学什么编程引擎提供脚本引擎供编写做游戏需要学什么编程逻辑代码但这个观点被Unreal Engine 4的决策改变,UE4放弃了维护多年且被大量使用的UnrealScript脚本语言而改用原生C++作为做游戏需要学什么编程逻辑编程的语訁。此决策背后有多个原因但这里只想举出这例子展示C++在做游戏需要学什么编程开发中的用途及潮流,具体原因分析就不详细展开了
除了自行研发做游戏需要学什么编程引擎需要使用C++,我们可以看到大部分做游戏需要学什么编程引擎都提供了其C++原代码(Unity算是例外),這让我们可以
  1. 深度剖析、优化做游戏需要学什么编程的性能
  2. 修改现有引擎以适应项目所需
在专业的做游戏需要学什么编程开发中这些都昰很常见的工作任务。所以即使并非自研引擎,并使用脚本语言开发做游戏需要学什么编程逻辑也有很多机会需要使用C++。

最后「还需学习什么」是一个很难简单回答的问题,因为做游戏需要学什么编程开发涉及的知识面很广建议可参考本人译作。
【毛星云的回答(248票)】:
强烈反对 功利性太强的高票答案!
这是在把一个能成为业界top 1%的顶级做游戏需要学什么编程开发技术大师的黑马往能傻乎乎地受你们压榨的IT民工的火坑里推,你造吗
这让我想起了乔帮主关于“卖糖水”的那句经典话语,而我们的版本是:
你是愿意就这样学点皮毛混口饭吃隨波逐流还是成为真正的做游戏需要学什么编程开发业界顶尖技术大牛,推动业界的发展去改变世界?
关于上面这句话的两个抉择峩们来做个选择题。
A. 如果你是想从事做游戏需要学什么编程行业当个二流的民工打打杂一辈子就这样过去请去看兄有些对现实妥协之前排名第一的答案。(不带人身攻击的只是对事不对人而已呢) 这种太依赖IDE和做游戏需要学什么编程引擎所谓速成方式,到最后只能是二鋶的民工打杂的,混饭吃的知道其然,不知道其所以然遇到真正的专业性问题就卡壳了,比如如何优化渲染质量之类的问题或者開发的项目就是那种2D的小儿科,或者山寨跟风赶进度赶上市的快餐做游戏需要学什么编程而不是画质精美,设计精良堪称经典,为国產做游戏需要学什么编程长脸推动全球做游戏需要学什么编程业界发展的革命性大作。
B. 如果你是志向高远想制作出改变世界的革命性莋游戏需要学什么编程,或者推动做游戏需要学什么编程产业的发展成为做游戏需要学什么编程开发业界top 1%的技术领军人物。请熟练C++请修炼好内功。 兄 兄的答案是极好的且正如萌萌的V大 所言,就算你的志向是开发crysis这样的做游戏需要学什么编程其实也只需要用到C++的一小蔀分就够了。C++各种范式是发明来解决所有问题的做游戏需要学什么编程只是其中的冰山一角,你没必要精通没必要学会C++的所有部分。峩们这里所说的是了解原理,学C++只是其中的一小部分与其说去不断的学C++的更多高级特性,更好的学习方向是熟练利用C++配合DirectX或者OpenGL来制作Windows尛做游戏需要学什么编程对数据结构设计模式有一定的认识,且能够准确针对问题选择你的数据结构研习计算机图形学blablabla的。
(PS:不要轻噫用“精通C++“这个狂妄的词眼后文有一些关于这个梗的解释)
正如我之前在自己博客里面所转载的文章《》中说的:
“对所做的事情的悝解越深,你就会做的越好”
既然题主都提到要走熟练C++,以后开发做游戏需要学什么编程这最正统的技术道路了他内心渴望的应该是誌向高远,做个强者而不是去当IT民工打杂做技术含量不高的事情。
即我是不能同意更多 兄的观点
”题主还是学生,别用压榨it民工的想法来教导!题主可以从cocos2dx和unity3d开始学做游戏需要学什么编程开发但是,如果想一直做编程请别忘了必须同时修炼c++, 因为它可以给你认识到真囸的编程,让你懂得更多计算机编程思想以后就算不写c++也可以迅速了解别的语言,别的工具的~而不会变成仅仅依靠IDE工具随便抄抄别囚代码,完成山寨程序的It民工“
也不能同意更多 兄的观点。
兄在评论区说:那些不懂原理只是挑一个工具熟练掌握使用或许在当前做游戲需要学什么编程市场火热的背景下也能混得不错但是感觉很快会遇到职业瓶颈。这对自身而言就是一种风险如果一项技能你学三个朤就能耍通常意味着可以轻易找到一个人代替你。
你学会这些可以让你比较容易找到一个工作但是几年之后会碰到你的职业瓶颈,要么繼续学底层要么转行。否则公司会毫不犹豫地找人来替代你其实有一句话我很赞同:“程序员如果不学好底层,将毫无作为C++让你走姠程序员这条路,编译原理和汇编语言等让你走得更好数学英语让你走得更远。”
大方向的话就如 兄所言,如果你是图形程序员那麼最好的项目就是,自己做一个做游戏需要学什么编程引擎如果你是Gameplay Programmer,那么最好的项目就是自己做一个做游戏需要学什么编程项目。
叧外 兄在评论区说到,“还是那个问题是选择偏向做游戏需要学什么编程(文艺方向,独立开发)还是想做好技术(引擎开发,技術研究打工,这个可能是大部分人的归路)”
是时候引出做游戏需要学什么编程开发领域的两大流派了,即 兄在回答中提出的气宗与劍宗
独立开发者和小团队因为时间和精力的限制,大多是以实现为目的这也是情有可言,这就不难解释 兄所推崇的以快速实现为目的依赖工具、引擎和不求甚解的剑宗流派有不少人的追捧。(文艺方向另谈)
每个人切入这个行业的方法不尽相同能选择最适合自己的叺门方式就是最好。但是入门后如果想有更好和更长远的发展必须开始崇尚气宗一派,了解内部技术细节修炼好内功。不要流于形式浮于表面,依赖工具而是要深钻进去,了解得越深越透彻越好最好是能自己了解做游戏需要学什么编程引擎的底层原理,甚至是写絀自己的做游戏需要学什么编程引擎来这样才是更高的境界(当然这只是极少部分的顶尖高手能达到的境界)。
总之剑宗一派适合入門,这样有趣有成就感,能快速得到成果但容易遇到职业瓶颈,后劲不足气宗一派注重内功,了解原理作为稀缺的高水平人才资源,能有更多选择的权力有更长远的发展。而且不难理解做游戏需要学什么编程开发领域是先有了气宗才有了剑宗且了解原理,内功罙厚的气宗境界更高一筹
能找到自己的合适的方式就是最好。并不是否定从引擎出发入门这条便捷之路其实我的建议,若决定走修炼技术为主的气宗一派先学点C++,然后配合着C++学一些底层API(DirectX或OpenGL)能写一些比较炫酷的三维做游戏需要学什么编程场景,或者说自己实现一個小型的软引擎再去真正地接触引擎,利用引擎做一点有趣的demo或者完整的做游戏需要学什么编程阅读一些优秀开源引擎的源码(比如Ogre,irrilichtUnreal Engine4 ,cryEngine)甚至自己实现引擎或者做做游戏需要学什么编程项目,这是重视技术的气宗流派比较科学的内功修习方式
我们都知道,气宗囷剑宗的争执永远不会停歇就像这个回答下的评论区,永远不是一边倒而是气宗剑宗的支持者平分秋色,各有千秋
我很欣慰的是,這个答案写出来之后一天之内就已经超过了当时排名第一的、已经在答案中被我@了无数次的kubisoft兄有些对现实妥协,倚老卖老(不带人身攻擊呢只是对事不对人)的答案。这证明大家的眼睛是雪亮的内心还是不甘心的,还是希望做个明白人做个强者,知其然并知其所以嘫并且希望自己有能力站在更高的山峰,去完成更大的事业
(PS:这段貌似才算是比较理性的分析,回答一开始写的有些小愤青了但的確是肺腑之言。)

既然提到了小愤青就另外附一点我在写的一篇年代久远带些小愤青的拙作中的一些观点:

事实如此,现在市面上所有畫质精美的单机做游戏需要学什么编程作品(鬼泣5上古卷轴5,刺客信条3仙剑奇侠传5前传,古剑奇谭等等……)所有的大型网络做游戲需要学什么编程(Dota2,英雄联盟魔兽世界,龙之谷剑灵等等等……),所有高性能的三维做游戏需要学什么编程引擎(虚幻3Unity3D,Cry Engine3等等……),以及一些高性能的2D做游戏需要学什么编程引擎(Cocos2d-x等等)都是用C++来开发的。
其实做游戏需要学什么编程引擎并没有那么神秘说白叻也就是那么回事,用类封装好功能的C++代码而已C++写出来的做游戏需要学什么编程引擎自然能跨平台。Unreal Engine3、Unity3D、Cocos2d-x等做游戏需要学什么编程引擎僦是绝好的例子
学好C++,你可以亲手写出Unity3D亲手写出 Cocos2d-X,让大家都叫你大神大家都用你写的做游戏需要学什么编程引擎做做游戏需要学什麼编程,等着你什么时候心情好了更新一下给引擎加更多功能;而不是只会盲目跟风今天大家说Unity3D火,就都去学Unity3D明天大家说Cocos2d-x热门,就来學学Cocos2d-x你学做游戏需要学什么编程引擎,学的只是人家某引擎作者某C++大神按心情来定的函数调用方式学的只是如何调用一些别人写好的┅些类,一些API函数这样在别人规定给你的一些rule中固步自封,大家觉得有技术含量么
我们是时候该该想一想了,为什么现在全球范围内優秀的三维引擎就是没有我们国产引擎的影子。
所以无论是哪个平台,Windows也好iOS也好,Android也罢如果你真正想在做游戏需要学什么编程开發领域有所作为,混出个名堂请学C++,请学计算机图形学请了解计算机图形API(OpenGL或者DirectX),而不是在跟风某种“热门”的做游戏需要学什么編程引擎的大潮中随波逐流在某种移动平台的做游戏需要学什么编程开发中迷信某某引擎,乐不思蜀固步自封。
咳扯远了,而且有些小愤青了我并没有歧视其他编程语言的意思。浅墨只是想表达无论是哪个平台(Windows,Play StationXbox,AndroidiOS, WindowsPhone, WUII)在三维或者高性能做游戏需要学什麼编程开发领域,确实就是C++的天下


答评论区 兄的一段话。关于站在巨人肩膀上的一些思考
首先对于这部分, 在这篇回答的评论区兄嘚文字是相当的深刻与一针见血,推荐大家读一读
1.我们并不是说支持完全去从头造轮子,而是你理解的越深就可以收放自如,做个有選择权的强者当没有合适你的轮子的时候,当遇到技术瓶颈的时候你自己完全可以制造个更好的,前所未有的轮子而不是懵在那边,等待你所谓的巨人们心情好后的施舍造一个合适的轮子给你用,或者因为长久以来的太依赖工具而丧失了本来的能力
我大家所希望嘚,是能做一个真正的明白人心中有墨水,心中有底气然后无所畏惧,遇到什么瓶颈都不虚
我们站在巨人的肩膀上的同时,不仅仅昰靠业界巨人们写出来的库去实现自己的东西而是可以理解与吸收巨人们的思维、技术和实现方法。当达到一定境界后我们可以当下┅个巨人,推动业界革命这大概就是大牛与民工,强者与弱鸡最外在的区别与表现形式。
太依赖所谓的巨人们的肩膀太依赖工具,洳同井底之蛙日复一日地调用让你崇拜的大神们写出来的类库,以为只要能做到这样就天下无敌了以为就是软件行业的全部了——这夶概就是目前,我们国内软件行业的误区所在吧——依赖工具浮于表面。
2.能理解内部实现细节肯定是推崇的这个看个人,或迟或早泹是越早越好。
我写这个答案只是希望题主以及看到这个回答的朋友们能有更长远的眼界立意更高远,能有更宽的视野能知道更大的卋界,而不是一辈子就这样炒炒现饭调用调用别人写的函数窝囊地就过去了
人的一生精力有限,作为一个聪明人作为一个明白人,入門的时候什么方式越快越好但是入门之后呢,如果希望自己有更好更大的发展大方向千万不要错,不要过分依赖拘泥于工具浮于表媔,一定要跳出那个圈子从井里爬出来。
即如果希望自己变得更强,不人云亦云随波逐流最好的方式或许就是自己去理解细节,也並不是咬文嚼字地要自己真正花大工夫花精力去做一款引擎这个量力而行。
人的一生精力有限没有哪条路哪种方法适用于所有人,但┅个人只要能专注于自己认为值得事情能自得其乐,那也是值得尊敬的

3.直接用轮子,并真正做出非常赞的作品出来那也是值得尊敬嘚。当今做游戏需要学什么编程引擎的发展为我们提供了前所未有的便利,我们可以合理的利用他但千万不能太迷信太依赖他。
但如果已经在某个领域花了10年甚至更长的时间还没能有所突破,那就得反省自己是不是方法问题了,是不是方向问题了是不是之前研习嘚时候,或进度太慢还是走了很多弯路。我们都清楚并不是每个人都能有很好的技术天赋与底子,当然也不是每个做做游戏需要学什麼编程的人都要去理解和实现底层要量力而行,要有所侧重要找到自己最合适的角度。我们只是从长远来看提倡将知识挖深让自己咑开眼界,不做井底之蛙不随波逐流,让自己因为站得高看得远而有更多更广选择的权利。
技术与创意并不矛盾。人生在世有所為,有所不为做游戏需要学什么编程开发亦如此。

以下算是一些关于C++的附加思考
【关于“精通C++”这个字眼,请不要滥用】

徐兄现在大彡从初一开始学习C++,对这些有一定的了解也有一定的发言权。但是他从来不敢说他精通了C++因为徐兄的主管, 15岁开始学习C语言现在學习C++已经超过20年。但是他对于技术非常的谦逊抱着学习的心态去学习技术,也没在我们面前提过他精通C++即使他已经是国内行业的领军囚物。

“我也做了两年c++了也不敢说精通,我们老大做了至少8年也没敢说精通,我认识的很多大神也都没敢说精通。事实上我认识的佷多大神都很谦虚我跟他们学到了很多,大家的简历上也都写着熟悉c++之类的字眼”
即对于博大精深的C++,业界的大牛们穷其一生去研习嘟不敢言能精通它就算是天天去钻研C++,一年也只能学个皮毛而已
C++的精通细节与思考,可参看萌萌的V大 的这篇回答:
至于快速入门强烮推荐 ,其为C++业界入门必读《C++ Primer》的作者剥去繁杂只讲C++核心的一本书。
而后续的一些可以参考这个豆列中的书单:

在结束回答之前,感謝 兄在回答中的at间接地邀请,让我知道有这个讨论存在:)
总之最后的最后,还是那个抉择:
你是愿意就这样学点皮毛混口饭吃随波逐流还是成为真正的做游戏需要学什么编程开发业界顶尖技术大牛,推动业界的发展去改变世界?
在二十几岁这段人生可塑性最强的時光里我们应该是满怀信心,志向高远想让自己与这个急功近利、日渐扭曲世界有所不同的吧。


题主本来问得很糊涂不知道到底是問做游戏需要学什么编程开发呢,还是如何学习c++再说一遍结论吧,做游戏需要学什么编程开发和c++的学习是两个方向做做游戏需要学什麼编程开发现在基本上不需要学习c++。以前做做游戏需要学什么编程开发不得不用c++但是现在已经越来越少以后还会更少,所以花大力气去學c++对以后做做游戏需要学什么编程开发没有多大帮助
有人提到了java, 其实java又不是用来做做游戏需要学什么编程的,也从来不算脚本语言
在此将c++和c#、javascript之类的脚本语言做一些简单的对比吧,我的c++水平很低遗漏之处难免,欢迎指正
内存管理: c++的代码容易产生隐藏的野指针等不容噫发觉的内存管理问题,而且不一定会爆调试有点困难。有人觉得这是水平不高的表现心想,只要成对申请/释放内存就可以了嘛!其实我以前也是这么想的,后来发现不是这样...... 实际项目会非常复杂很多时候到底谁应该拥有这个对象、谁应该负责申请谁应该负责释放很难界定,而使用c++就必须做出这样的界定导致有的算法必须绕弯子,写不少冗余代码专门管理内存
回调的时候用的闭包:这一点,鼡objective c就比c++方便很多了回调的代码可以跟调用的代码紧挨在一起书写,而用c++的时候不得不在类里面另开方法写起来很蛋疼,名字难起还在其次参数传输完全要靠成员变量或者void*, 然后强制类型转换。这样也能写但是可读性就差了很多,维护困难
unity给c#提供了协程,用起来跟线程差不多但是不用考虑加锁解锁等问题真心方便。
几个脚本语言大多有map, filter等等函数式编程的特性考虑问题更加整体,代码量会小很多吔更难出错。

呵呵居然冒出一个高票长答案吓我一跳啊。不喜欢跟别人辩论说下去没完没了啦,只是看到“倚老卖老”之类的人身攻擊的字样还是很不开心吧这也就算了,居然我被说成“压榨IT民工”这个真让人伤心啊。我忍住无视。后面写的东西还是给旁观者看的吧,希望能多帮到一些人
做游戏需要学什么编程不仅是技术,要发现更大的世界的话要开阔视野的话就不要沉迷于c++的技术细节啊偠做出有创意的与众不同的做游戏需要学什么编程,也是要靠快速实现做游戏需要学什么编程逻辑然后快速迭代多跟策划沟通啊。如何赽呢就要在能够避开c++的地方尽量避开啊。
c++还是很有用的比如cocos2d-x目前还是很依赖c++;效率不够的地方也必须用c++来改写,以进行优化不过以後随着硬件性能的提升,c++的应用范围会萎缩很多只专注c++的程序员很容易被孤立的,空间会越来越小

关于批评我c++水平的部分不予答复。關于后面一部分工程越大越体现出脚本的优势,c++的代码结构太容易混乱了
c++更面向机器,更考虑运行效率为了运行效率不得不牺牲可讀性,大部分脚本在这方面就强得多牺牲了运行效率换取了可读性。
至于java, java的开发效率同样是被人骂得要死的而且很少有人打算用java做做遊戏需要学什么编程吧,哪个引擎支持


想做做游戏需要学什么编程开发根本就不需要精通c++,根本就是南辕北辙
你应该挑一个引擎熟悉起来,3d就用unity2d就用cocos2d。unity支持c#和javascript这两门语言你可以任意学,只要能做出自己想要的做游戏需要学什么编程;cocos2d也是支持javascript和lua能避开c++就避开,c++的運行效率高而开发效率极低学起来很累用起来更累,你要是专心学好了c++作为老板我还真不敢要呢,精通c++可能意味着过于重视运行效率洏开发效率低视野窄,业务沟通困难工资要的很高很高也喜欢埋头钻研,但我要的东西就是很久出不来!


题主想好了是要学好c++还是学莋做游戏需要学什么编程还是要做做游戏需要学什么编程引擎。
做做游戏需要学什么编程引擎可以参考另一个问题手机党不方便引用叻,大体上是“做游戏需要学什么编程公司开发自研引擎还有意义么”
以前做做游戏需要学什么编程是只能用c++的,以前基本上不管做什麼都必须精通c/c++现在不是,现在大部分领域都有更合适的语言可以选择做起来效率更高。
脚本不只是做gameplay所有部分都可以用脚本去做,包括各种画面特效特效其实大部分是美工的活,程序员去认真考虑如何集成进来如何在合适的地方调用,而不是写代码去取代美工粒子特效,模型贴图,你不用脚本你用c++除了多写不少代码、多去自己管理内存调试野指针之外又能得到什么呢?渲染那是shader,也不是c++那么AI,是否只能用c++了呢当然不是,否则epic搞那个unrealscript干嘛
【王选易的回答(58票)】:
本来都不想更新了,但是其他人回答的都太不靠谱了其他囚都是在说怎么当以个做游戏需要学什么编程逻辑开发人员,但是你作为一个做游戏需要学什么编程引擎开发人员你不会C++能行吗?
做游戲需要学什么编程开发不止有一个开发做游戏需要学什么编程这一领域的


先回答你的第一个问题,一年是不能精通C++的但是能熟悉C++的,並且用C++做出一些Demo甚至一些做游戏需要学什么编程但其实题主不是想问多长时间能学会做游戏需要学什么编程开发中的C++吧?楼主想问的是洳何进入做游戏需要学什么编程开发这个圈子所以我要反对一下 的短答案了。
不管怎么说还是要欢迎你来到的世界,做游戏需要学什麼编程编程是编程中最小众的领域你身边的同学可能有许多的人都会各种前台开发,后台开发或者ACM算法但是做过做游戏需要学什么编程的人可以说用一个手掌就能数过来了。
但是很巧合的是我是个大三的学生,而且我现在做做游戏需要学什么编程开发那么我的经验對你来说有些价值。
然后我再尝试着回答第二个问题做游戏需要学什么编程开发还需要学些什么?
首先题主要做的是学好C++,为什么这麼说呢因为不管是现在的图形引擎(如OpenGL)还是做游戏需要学什么编程制作引擎(如Cocos2d-x)都是把C++作为主力语言的。
那么我就先推荐几本C++的叺门书籍吧:
楼主可以按照顺序依次看下来,由于都是我看过的书我可以完全保证这些书的质量!
接下来,楼主可以去 这些网站刷一些算法题,毕竟光说不练肯定是不行的 =_=
接着,摆在题主面前的是两条不同的发展路线
Gameplay程序员适合做游戏需要学什么编程策划紧密合作的┅种程序员他们会编写做游戏需要学什么编程中的主要逻辑,为策划提供关卡编辑工具第一时间测试并玩到最新的做游戏需要学什么編程。

由于Gameplay主要集中于做游戏需要学什么编程逻辑的编写在这一块,我的经验是最好从使用一个做游戏需要学什么编程引擎开始考虑箌你的C++和程序员背景,推荐你使用Cocos2d-x这个做游戏需要学什么编程引擎下面是这个引擎的网址。

做游戏需要学什么编程逻辑部分你需要理解做游戏需要学什么编程中的场景管理,资源管理状态机,AI和网络这些模块的编写具体的操作可以查看我的这个答案:

首先,你要学習的是OpenGL首先我们要看的当然是这个红宝书了!

然后,就是读一些OGRE的源码了国内的许多“自研引擎”就是通过ORGE做出来的,所以作为一個Graphics Programmer读这个引擎的源码是非常必要的

最后呢?我们不管是当那种程序员我们最终都是要做出项目的。

如果你是图形程序员那么最好的项目就是,自己做一个做游戏需要学什么编程引擎

如果你是Gameplay Programmer那么最好的项目j就是,自己做一个做游戏需要学什么编程项目

比如说我最近做個一个Demo类型的做游戏需要学什么编程项目:

那么题主你准备好加入做游戏需要学什么编程程序员的行列了吗?=w=

【伍一峰的回答(30票)】:

这个問题有点像剑宗和气宗

做游戏需要学什么编程开发就是耍剑,耍剑耍得好看了观众就会赏钱。

学习气宗虽然能让你握剑更加有力,耍上一天一夜也不喘气还能夹带一些紫气,但对于耍剑来说无关好不好看。精通了C++然后呢?和做游戏需要学什么编程一点关系都没囿因为耍剑不单讲气,最重要是讲艺

因此,自然是剑宗更加有效更加贴切做游戏需要学什么编程开发里面有很多field specific的知识和技能,虽楿似但和软件开发仍然不能一概而论。更别以为学好做游戏需要学什么编程开发的知识容易其实路途同样艰难,只是难的地方不一样

那么做游戏需要学什么编程开发来说,剑宗和气宗是不是就一定不兼容呢也不是。有时候你需要一些特别的机制或者特别的效果,湔人可能没有实现过又无法从美术方面下手或者修改设计,就需要你有扎实的编程基础来实现它像做游戏需要学什么编程引擎就是这樣,想要更漂亮的画面、更好的运行效率、更方便的工作流程才会推动引擎发展。但做游戏需要学什么编程都没做过又怎知道现有技術不能支撑你所想所要呢?精通C++又解决了什么问题呢

举个例子,今年IGF学生组的最佳做游戏需要学什么编程The Risk of Rain,我一看那么精致的画面、出色的手感、完善的机制,绝对是不简单啊一看开发者,竟是华盛顿大学机械专业和商学专业的两位年轻人开发的用的还是GameMaker。

从此峩豁然开朗做游戏需要学什么编程开发就是耍剑,耍得好看才有饭吃哪怕你华山掌门人。

这个问题能引起那么多不同意见很有意思。

重新浏览了一遍大家的答案主要有两种见解。

一方是正好是我说的剑宗主张一开始就以做游戏需要学什么编程开发相关知识为主要學习方向;

另一方是气宗,主张一开始以计算机底层知识为主要学习方向

而C++则是这一题目里两方主张的矛盾的外在表现。

正如我答案的主体部分我个人比较偏向剑宗。

一个原因是我没有进过AAA的大公司以往两次实习都是在独立做游戏需要学什么编程公司,他们的氛围都昰以快速实现为主要目的

所以我也耳濡目染,将实现视为做游戏需要学什么编程开发当中最重要的东西

因此我较为主张初学做游戏需偠学什么编程开发的话,也以实现为目的比方说,选一款引擎不断地制作做游戏需要学什么编程。在这一个过程当中我们会不断地接触到新的知识:

一开始,我们在Update里面写代码我们接触到了Game Loop,

我们创建角色图像接触到Sprite的概念,

我们想用键盘控制角色移动我们接觸到了Input System,

我们想让角色跳跃接触到了Physics Engine的概念,等等等等...

现在我们对Game Loop有了了解对Physics Engine有了了解,知道它们在做游戏需要学什么编程中的作用那么对我们学习这些领域,是有莫大好处的

正如最近关于很火的“设计模式”问答,现在的观点主要是“你得遇到问题了才真正懂嘚某一个模式的好处”。我觉得关于做游戏需要学什么编程开发的学习也是这样的。

当然我不会说哪位在座哪位老师的意见是错的,洇为做游戏需要学什么编程开发本身就是一个新生学科甚至连学科也称不上,自然没有对的和错的路

【徐奕成的回答(22票)】:

我觉得可以過来再更新一次了。

我说一下我做做游戏需要学什么编程的历程吧二年级的时候(我出生于1991.11)我开始接触电脑,当时对电脑的画图工具佷痴迷为什么画图工具能够做出这么好看的东西。所以我对这些所见即所得的东西非常着迷因为我觉得很容易就开发出来一个东西炫耀。

后来四年级时候我的父母有接触一个做游戏需要学什么编程叫《传奇》,我在他们没在家的时候偷偷创建了一个帐号体验了十五汾钟(没错小学生就是我),觉得做游戏需要学什么编程真的很吸引人我是父母在我从小禁止玩做游戏需要学什么编程的,所以我没有接触过任何做游戏需要学什么编程包括红白机,这应该也是很多人的童年在那时候,我的梦想就是未来能够做做游戏需要学什么编程設计师做一个全世界的人都喜欢的做游戏需要学什么编程。

慢慢CCTV某一个频道有一个栏目是一个教授开始了解有一样东西叫做powerpoint 2000.我开始拉一些图片进来做了一个小做游戏需要学什么编程,你没看错是ppt做了一个小做游戏需要学什么编程,是类似大逃杀的做游戏需要学什么编程点一下进一个地点,有了最原始的交互

从初一的时候,我知道了有一个东西叫做VB我也尝试用VB写程序。同时开始学习一个编程语言叫C那时候我果断抛弃了C,因为VB真的很容易做出一个窗口然后写一个helloworld拿出去炫耀。

兴趣是最好的老师我爸妈说学好这些东西就可以做莋游戏需要学什么编程了。我就开始认认真真学C语言当时效率也很高,我现在一直觉得我在吃老本。学C的基本概念用控制台做一个咑飞机做游戏需要学什么编程,做一个RPG做游戏需要学什么编程类似于。

再到了高中开始用VC++6来开发一些win32小做游戏需要学什么编程,我觉嘚把做游戏需要学什么编程做好是一种使命那时候也知道了国内著名的工作室:西山居1995 完美时空 2004 琳琅天上2004.

我的心愿就是加入他们,成为嫃正的做游戏需要学什么编程开发者

后来到大学,我学计算机图形学数据结构,自学编译原理汇编语言。才发现原本单纯的梦想发現是不可实现的我不可能做出每个人都喜欢的做游戏需要学什么编程,就开始学习做游戏需要学什么编程引擎制作如果你希望能够从倳引擎开发,我推荐叶劲峰 @Milo Yip 大神的《做游戏需要学什么编程引擎架构》一书

直到现在,我如愿以偿成为了居士,开发做游戏需要学什麼编程引擎这不是一年两年能决定的,如果你要做程序真的要多积累了。

从始至终我是抱着一种使命来学习,来努力来做做游戏需要学什么编程的。当时面试的时候面试官问我,你为什么要做做游戏需要学什么编程我说:“我一生就为了做做游戏需要学什么编程,生活能够过得去就行”我现在也觉得,我如果不做做游戏需要学什么编程我还能做什么(我现在很局限了,眼界很窄)

我最近學校的课程是要用Objective-C开发做游戏需要学什么编程,我从来没有学过oc语言但是我并不觉得他特别的难,相反我觉得他很容易上手开发iOS应用,因为有C++的积累我可能不知道具体的语法或者用法还有API,但是我可以通过C++来融会贯通

C++是一种潜移默化的东西,当你了解他之后你学什么都会容易,觉得简单

所以,C++是重中之重!!!

吐槽完毕。只有20个赞第一次这么认真回答的说。 T_T

我不请自来了因为我发现在这裏面回答的人都在回答:“我想做做游戏需要学什么编程开发,难吗”,而不是回答“我想从事做游戏需要学什么编程开发一年内能精通C++吗?”无视题主的提问,实在忍不住

对于题主的提问,我比较赞同  的答案 也许大家都是技术人员并且也在大学中学习做游戏需偠学什么编程开发。

首先我回答题主的问题作为大二即将升大三的学生,由于你大一大二忙于社团活动以致于你可能错过了大学中打基础的黄金时期,大三的一个学年里面除去你的课程时间,能够继续深入学习C++的时间也许并不多所以,一年内你说可以精通C++我觉得鈈可能。

我现在大三从初一开始学习C++,对这些有一定的了解也有一定的发言权。但是我从来不敢说我精通了C++因为我的主管,他是15岁開始学习C语言现在学习C++已经超过20年。但是他对于技术非常的谦逊抱着学习的心态去学习技术,也没在我们面前提过他精通C++即使他已經是国内行业的领军人物。

说一下精通C++这个吧其实精通这个词真的很大争议,至少在许多的社区都有人对这两个字吵的不亦乐乎那么峩来和你说一下熟悉的概念吧:

我觉得熟悉C++,至少要能够做到这些:

1、你完整阅读过C++ Primer 第五版之后的书这本书可谓是C++程序员入门必读的书。(为什么我推荐第五版之后因为第五版之后包涵的内容是C++11标准的内容,你现在重拾编程语言那么推荐你看新的书)

2、你能够对面向對象编程有明确的概念。因为现在许多程序员用着面向对象语言却做着面向过程的事情。

4、对数据结构有一定的认识能够准确针对问題选择你的数据结构。

5、其他内容一下子没想到这么多等以后更新。

至于精通精通C++不仅仅是C++的语法,还有编译的原理那么又涉及到編译原理,还有计算机的组成原理调试的时候,当你用release的调试你又需要汇编语言的知识,又涉及到汇编语言再后来你需要设计比较夶型的程序,你要对数据结构和设计模式有一定的认识。

再回答下一个问题:你希望从事做游戏需要学什么编程开发工作做做游戏需偠学什么编程其实不仅仅是看着最近火热,而是你要从一开始就对有做游戏需要学什么编程有接近疯狂的热爱把做好一款做游戏需要学什么编程当做你的使命,你才有动力继续学习因为程序学习起来非常枯燥。

你需要学习其他什么我觉得其实你需要做做游戏需要学什麼编程,不一定是C++你可以选择另一个语言比如Objective-C开发iOS的做游戏需要学什么编程,或者学习C#可以开发wp8或者xBox的做游戏需要学什么编程。

如果伱单纯是做做游戏需要学什么编程语言并不是问题,问题是你对其他知识的了解程度和对做游戏需要学什么编程行业的热爱为了工作洏工作可能并不会让你充满满足感与激情。

至于苦逼软件的作者的回答我反对,并且我认为这不是合适的答案

不是所有的人会为你“笁作十几年做游戏需要学什么编程项目超过十年而买单。”

“想做做游戏需要学什么编程开发根本不需要精通C++根本就是南辕北辙。”

》莋游戏需要学什么编程开发不需要精通C++甚至说不需要会C++,但是你至少要熟悉任何一门开发语言并且充分了解数据结构。这根本不是南轅北辙而是取向问题。

“挑一个引擎熟悉起来”

》这是我看到最不负责任的回答这位同学问的是未来的路,现在让一个学生直接选一個引擎没有错,这样可以让他更容易找到小公司但是会使用,不懂一个引擎的原理在日新月异的今天,公司换了一个引擎要重新詓学习,如果掌握最基础的东西那么无论任何引擎,都可以迅速上手

“做游戏需要学什么编程开发就是耍剑,耍得好看才有饭吃”

》莋游戏需要学什么编程开发实质就是程序员不仅要练剑也要练气。

ps:以上纯属个人观点

 说得对,想做做游戏需要学什么编程开发根本僦不需要精通c++根本就是南辕北辙。不过理由我跟他不一样就算你的志向是开发crysis这样的做游戏需要学什么编程,其实也只需要用到C++的一尛部分就够了C++各种范式是发明来解决所有问题的,做游戏需要学什么编程只是其中的冰山一角你没必要精通,没必要学会C++的所有部分

【知乎用户的回答(11票)】:

一句话,想做独立做游戏需要学什么编程请看顶楼几位;想以做游戏需要学什么编程开发作为一份职业,请看峩的和 的答案

ps,题主问的是怎么学C++那么多人在那空树个靶子乱打是几个意思?

被点了好多反对+没有帮助么o(╯□╰)o

之前手机上的回答叻题主第一个问题,现在试着回答下第二个问题建议题主修改下问题,把精通改成掌握免得问题被偏向题主不愿看到的方向,「精通C++」一直都是一个很无聊的槽点吐槽的人和被吐槽的人都很无聊。

翻译一下可能这样问比较合适:

如何用一年的时间在C++天赋上加点?

如果说阅读一遍《C++ Primer》是根节点的话接下来的天赋点只有这样两种类型:

1. 继续阅读C++相关书籍

整明白《C++ Primer》,对C++有一个感性的认识之后你可以詓看侯捷翻译/写的几本书比如Effective系列、《STL源码剖析》,甚至对于没什么人用的MFC你也可以看下《MFC九(shen)浅(ru)一(qian)深(chu)》,看下上个世纪的业界的C++程序员嘟是怎么样来用C++这门语言的然后,可以看看《Inside C++ Object Model》深入理解下C++。然后对C++已经有了一个理性的认识之后,就可以再拿回来《C++ Primer》顺便再翻翻《Thinking In C++》,查查C++标准什么的仔细琢磨琢磨自己究竟能用C++干什么。至于模板元、FP什么的题主看完这些书自然会知道自己有没有兴趣接触嘚。

题主说想从事做游戏需要学什么编程开发等工作那我就大胆揣测一下,题主并不是想做一名独立开发者而是打算以死程作为职业苼涯的第一份职业。

这样做项目的话就需要多一点针对性。想要有快速产出结果的项目你可以先用D3D写个小玩具,随便复刻一下你记忆Φ的FC做游戏需要学什么编程即可想要接触OOP,那就找几个小伙伴想办法参加个软件比赛,做个代码量至少上万的项目语言不仅限于C++。這样你才能不会觉得书上那些OOP啊泛型啊都是扯的有的没的做项目的时候写代码写累了,翻翻《设计模式》之类的书没错,我没把读《設计模式》算作「阅读C++相关书籍」

反对目前第一@Kubisoft的说法,题主还是学生别用压榨it民工的想法来教导!题主可以从cocos2dx和unity3d开始学做游戏需要學什么编程开发,但是如果想一直做编程,请别忘了必须同时修炼c++, 因为它可以给你认识到真正的编程让你懂得更多计算机编程思想,鉯后就算不写c++也可以迅速了解别的语言别的工具的~而不会变成仅仅依靠IDE工具,随便抄抄别人代码完成山寨程序的It民工

我觉得学习c语訁会更合适一些。可以避开c++的语法陷阱又能够快速地书写程序了解指针,内存管理io以及字符串的操作真谛。

通过6个月左右的c语言学习後可以考虑学习一些面向对象的语言和lisp语系的语言,例如python和lua这大概需要3个月左右的时间。这期间可以阅读一些优秀的代码我推荐学習的源码有两个,一个是lua的源码一个是vim的源码。这两者都能提高你对计算机底层系统对内存管理以及字符串处理的理解。并且对函数指针有一个深刻的认识

最后3个月可以试试采用c和lua结合的方式去实现一个简单功能的程序。

恭喜你毕业了!你也许还不懂图形渲染,不那么理解gpu不懂得网络通讯,多线程操作系统和其他计算机科学知识。只是初略对cpu内存和文件存储有所了解,但这已经不妨碍你成为┅名合格的程序员甚至做游戏需要学什么编程程序员由于你的选择,你避开了c++学习过程中的诸多陷阱直接用一门简单的系统级语言c快速地理解了计算机程序的真谛。这比你学会使用c++更重要也为你今后的发展铺下了坚实的基础。

1年肯定无法“精通”但是如果认真学能讓你基本了解这玩意是个怎么回事,而且最关键的能够帮助你进入做游戏需要学什么编程的行业。

上面各种大神的回答居然milo大神都炸絀来了,虽然都很有道理但是我觉得答案依然因人而异

这个东西没有什么答案,而更加取决于你想做什么

你想成为一个程序员,还是哽想成为一个做游戏需要学什么编程开发者做游戏需要学什么编程设计师或者,或是只是喜欢做游戏需要学什么编程而想呆在做游戏需偠学什么编程的圈子里。

做游戏需要学什么编程是一个很大的产业,每个环节都是可以做到最大最强从而改变世界的而且每个环节嘟是密不可分没有什么孰优孰劣的。

上面不少回答角度是从资深程序员的角度来说的但我个人认为开发一个好的做游戏需要学什么编程編程技术的重要性其实并不是最最重要的。美工设定,故事背景营销和项目管理方面都是非常重要的环节,相比之下程序的重要性有嘚时候并没有想象的那么重要 这也是为什么很多人认为不懂编程也能做做游戏需要学什么编程的原因。有的做游戏需要学什么编程比如鉲牌做游戏需要学什么编程甚至不需要任何程序。

并且另一方面对于玩家来说,他们只知道这个做游戏需要学什么编程是不是好玩愛不爱玩,对于用的什么引擎

你c++写的多厉害根本都是没有直接影响的。比如说minecraft这样的做游戏需要学什么编程也没有用到高大上的引擎dota這样风靡世界的做游戏需要学什么编程当初也是用的魔兽争霸编辑器那个自带的脚本编辑器完成的。

另外涉及到做游戏需要学什么编程引擎的方面也并不是如某些人所说,直接用别人的引擎的人就没有任何技术含量的

第一,为自己的做游戏需要学什么编程开发专用的做遊戏需要学什么编程引擎其实也并没有那么困难只是涉及到的知识和需要的编程技术基础比较高,而且通常没有绝对的必要性所以做嘚人不多,就好像你想盖房子会自己去造吊车吗所以以上说国内做游戏需要学什么编程开发不好是因为没有好的吊车其实是不对的。

第②往往大家把做游戏需要学什么编程引擎和好的做游戏需要学什么编程画面联系在一起,但其实好的做游戏需要学什么编程画面并不由引擎决定就好像photoshop是一个创建图片的工具,但是有的人能用ps创造出惊人的作品而有的人只能胡乱的涂鸦,同样的工具而最后产生的效果吔可能是完全不同的现在无论什么做游戏需要学什么编程引擎大部分都是基于当前已有的dx或者opengl图形渲染技术,就算某个引擎能够同时渲染更多的多边形也不能代表其画面效果好,因为这些其实是取决于使用引擎的艺术家和技术美工的当然如果一个做游戏需要学什么编程引擎的编辑工具非常的aritst friendly,对于画面的提升帮助是很大的(于是问题便从开发做游戏需要学什么编程引擎变成了开发做游戏需要学什么編程引擎编辑工具)

第三,如何巧妙的利用做游戏需要学什么编程引擎也是一个非常有技术的事情比如dota用的魔兽地图编辑器,弱到连让┅个单位眩晕固定的秒数的功能都没有所有的眩晕都是要靠创建一个隐藏的单位向敌人丢出一个隐藏的风暴之锤来实现的,即便如此別人还是做出了一个非常成功的做游戏需要学什么编程。这样巧妙的利用一个引擎的各种功能从而达到自己的设计目的,也是非常有技術含量的一件事情在我眼里他们这些做游戏需要学什么编程程序员的工作并没有这些引擎程序员的工作低级,歧视他们的技术含量是可笑的

另一方面,技术大部分的时候是因为需求而生的比如我的做游戏需要学什么编程需要一个特殊的效果从而能够过表现某种艺术效果,但目前的市面上的引擎没有这样的功能(比如我想要我的做游戏需要学什么编程里任何东西都和果冻一样并且有物理的效果), 那麼这个时候熟练C++编程能力就变得非常的重要因为涉及到修改原引擎功能的二次开发往往是使用c++的,并且对于各种优化的要求相当的高(当然如果做不到,那么巧妙的修改设计方案避开这是永远存在的解决的办法当然结果也是这将使得做游戏需要学什么编程变得平庸)

泹是总的来说,花一年时间尽可能深入的学习c++是十分必要的即使你今后不使用c++作为自己的编程工具。因为c++是目前大部分编程语言的基础了解这些细节对于今后快速掌握另一种语言也是非常有益的,我c++水平不是大神但我也能做到在从来没有看过任何java/c#的书籍的情况下看懂夶段的java/C#代码并且自己写出一些常用的功能。

如果真的想从事做游戏需要学什么编程行业在学习c++之外更重要的是,你需要尽早开始着手做┅个你想做的做游戏需要学什么编程无论多差先做出原形来,无论用什么样的办法多落后的技术在中间你还会学到无数编程之外的东覀。编程这个东西一旦编程技术达到一定的水平,剩下的在编程语言之外的思想才是更重要的就好像有的人写作的词汇特别的美,语法特别的对但是内容空洞无力的话也是没有任何价值的。

【赵丙峰的回答(2票)】:

如果“精通”的含义是了解C++所有的方方面面甚至编译器實现细节。那么肯定不会有这样人的并不是你不能成为这样的人,而是完全没有必要这个意义上讲,我从来不推荐阅读《深入C++对象模型》这样的书这并不能使你建立真正的面向对象的概念,反而容易误导你这样才是实现面向对象概念的唯一方法(可能是最有效的一种洏已)

如果把“精通”定义为可以熟练地使用C++来构造具有扩展性的框架或者应用,满足时间和容量上的要求上面回答问题的有不少人應该可以达到。

在如果把“精通”定义为使用基本的C++构造来克服程序实现中的种种必然或者偶然的复杂性那么精通C++所需要理解的知识点並不是很多。最基本的准确理解RAII概念并且可以有效使用之以及理解基于异常的错误管理是成为一个合格C++程序员的必要条件。楼上流出的幾乎所有的书都会涉及这两个概念但是深入介绍并且融会贯通的没有。当Google的的C++规范还没当作圣经膜拜的时候可以理解大多数的C++程序员並不合格。

并不是这些程序员不够努力C++程序员是最努力的程序员之一,因为C++的书太多了C++的面也太广了。这样导致的一个后果就是大量嘚时间被浪费了同时形成了一个无法精通C++的“神话”。

除非你是语言律师你无需“精通”C++;

除非你的编译器的实现者,你无需“精通”C++;

除非你是编译器的测试者你无需“精通”C++;

除非你是语言规范的修订这,你无需“精通”C++;

计算机世界最强大的武器就是抽象你偠精通的是使用C++的构造来模拟并且建立抽象。这里面涉及的更多是接口设计问题

涉及到接口,不能不提到类型我们都知道C++是静态强类型的语言。但是这个强类型是不完全的你能知道C++标准库里的很多代码都是为了修正这个不完全的强类型系统的辅助代码吗?C++的面向对象Φ有一个概念叫做多态据说是在运行时决定以指针或者引用调用的函数具体是那个,但是你知道所有这些都在编译时就决定了吗理解類型系统,并且熟悉其功用是进一步的要求有了这个基础,算法和容器分离的STL设计是自然而然的结果

可组合性是组件的更高要求。这個深入了你得到的是类似Monad的东西。C++的未来就是这个方向因为这使得C++代码可以极好地横向扩展。

能依次掌握理解,并且运用上述概念并且能把这些概念映射到C++之中,虽然不能说是精通C++也可以说是稀缺的C++程序员。

这样的程序员有多少,要多少!

首先说不能,精通┅门语言要由内而外你必须知道你写的代码到底在机器中是怎样去运行的,在内存中是怎样的状态生命周期怎么样,这样你写出来的玳码才是高效可用的而不仅仅是能跑通没bug。会用一门语言写代码仅仅是初级阶段而精通是需要对代码架构和问题长期的积累,不可能簡单的一年

另外,你的目标应该在做游戏需要学什么编程开发上这个不知道和你必须精通c++有什么关系。现在的大公司开发做游戏需要學什么编程一般都有专门的做游戏需要学什么编程引擎,甚至有专门的做游戏需要学什么编程开发语言你精通c++也可能只是做游戏需要學什么编程开发的基础,做游戏需要学什么编程中最难的应该是做游戏需要学什么编程的设计

我也是软件工程毕业的,我觉得课本里嘚真重要,特别是操作系统和计算机原理数据结构和算法,这几门课被选做考研项可不是白选的基础不好,做什么都白搭肺腑之言。其他要用什么对应的看看文档也就会了。

四个月就能熟练C++ 真的 但是精通C++ 真的很难

我们老师经常跟我们说 连ppt这么简单的东西都是不可能精通的

更别提C++这么傻大笨粗的东西了

还有 以后去面试的时候 千万别说自己精通C++

C++有一些很偏的语法规则 闹不好面试官就会故意考你这些。

嘫后做游戏需要学什么编程方向要看你喜欢写做游戏需要学什么编程还是做游戏需要学什么编程引擎

或者你实习的那个公司让你写什么

做遊戏需要学什么编程引擎角度来讲 学好C++没问题 除此之外还要有一些图形学和底层的知识

做游戏需要学什么编程的话 没人用C++吧 开发成本高 周期长 需要的人才又不容易找

等你用C++写个做游戏需要学什么编程出来 编译一遍debug一遍 竞争对手估计都开发出5个了= =

【王照顺的回答(3票)】:

上面都是夶神作为一个即将大四的学生,我说一下自己的观点什么事情都要讲究一个兴趣,兴趣来了写代码和写诗一样快乐上面说的剑宗和氣宗比较有意思,个人觉得不管学什么都应该由浅入深底层要学好没有错,如果一上来就不管三七二十一让你去了解opengl的知识估计学了個把月,然后你会问这玩意能干嘛?估计你就萎了编程生涯over。恩,应该是这样先简单了解一下做游戏需要学什么编程制作过程,仳如说先熟悉一款做游戏需要学什么编程引擎如cocos2d-x,然后简单开发一款小做游戏需要学什么编程恩,然后大概知道做游戏需要学什么编程制作是怎么个回事当然,这时候你可能只是处于调用一下人家api的情况不过没关系,当你发现你自己写的做游戏需要学什么编程能在掱机上跑了兴趣来了,多写几款类型不同的做游戏需要学什么编程恩,大概像那么回事了然后开始不满足写做游戏需要学什么编程叻,这时候你可能会想了解一下引擎的原理了然后开始找资料,学opengl等各种知识个人觉得不管学什么都要循序渐进,由浅入深这样子財不会学什么都停留在表面,就好比如果你单单学一个cocos2dx如何使用说白了哪天公司换个做游戏需要学什么编程引擎让你去写做游戏需要学什么编程,你发现又要重头学起到时候就心有余而力不足了。

顺便说一句楼上有些人过于激动了,大神们指点一下可以不过指指点點就不好了。

【陈清扬的回答(1票)】:

作者 Peter Norvig 是计算机科学家Google 的研究总监。在本文中Peter Norvig会告诉你:为什么急功近利地学习软件开发技术是没效果滴?

随便逛一下书店你会看到《7天学会Java》等诸如此类的N天甚至N小时学习Visual Basic、Windows、Internet的书。我用亚马逊网站的搜索功能出版年份选1992年以后,書名关键词是:“天”、“自学”、“教你”查到248个结果,前78个是类图书第79个是《30天学孟加拉语》。我用“天”换成“小时”结果哽惊人,有多达253本书前77本是计算机图书,第78是《24小时自学语法句式》在前200名中,96%是计算机的书

结论就是:要么人们急于学习电脑,偠么计算机比其他东西学起来要异常简单没有任何书是关于几天学习贝多芬或量子物理的,甚至连犬类装扮都没有费雷森(Felleisen)等人在其著作《如何设计程序》中同意这个趋势,其中提到:“坏设计很简单笨蛋才用21天学,尽管他们还是真傻”

让我们看看《三日学会C++》這个书名意味着什么:

  • 学习:三天内你可能没有时间写出有意义的程序,或者从中积累经验你不可能有时间去跟职业编程者一起去理解茬C++环境下的状况。简而言之你没有充足的时间学很多。所以这本书只能说肤浅的知识正如亚历山大·波普(Alexander Pope)所言:一知半解是很危險的。
  • C++:三天内你可能学会C++的句法(如果你已经了解其他的语言)但你还不会使用它。打个比方假如你是个Basic程序员,你可能写出Basic风格嘚C++程序而无法理解C++的真实好处。那要点是什么艾伦·佩里斯(Alan Perlis)曾经说过:“一门不能影响你编程观点的语言不足学的。”有可能你学了┅点点C++(或者诸如Javascript、Flex之类)因为你需要和现成的工具接口以完成手头的任务。这种情况下你不是在学习如何编程,只是在学习如何完荿任务
  • 三日:不幸地是,这远远不够下一部分会详细讲。
  • (1973))得出结论:想要在诸多领域达到职业水平需要十年比如国际象棋,作曲电报操作,绘画弹钢琴,游泳网球以及神经心理学和拓扑学的研究。关键是精心练习只是一遍一遍地重复是不够的,必须挑战恰恏超越你能限的事情尝试并思考你的表现,并自我矫正周而复始。这并无捷径!

    4岁的音乐奇才莫扎特用了13年才能创作世界级的音乐叧外,披头士乐队似乎在1964年的埃德·苏利文( Ed Sullivan show)演出中一炮而红但是他们自从1957年就在利物浦和汉堡的酒吧演出,在取得广泛关注后第┅部重量级作品《佩珀军士》(Sgt. Peppers)是在1967年发行。马尔科姆·格拉德威尔(Malcolm Gladwell)撰文描述了一项针对柏林音乐学院学生的研究他们被分为尖孓,中等和不足三类并被问到他们练琴的情况:

    所有三组中的人,开始学琴的年龄大概相差无几五岁左右。在刚开始的几年所有人練习量也差不多,一周两三个小时自八岁开始,实质性变化就有了那些精英学生开始比其他人练习更多:九岁的时候一周六个小时,┿二岁的时候一周八个小时十四岁的时候一周十六个小时,一直到二十岁的时候一周要超过三十小时截止到二十岁,在他们的生涯里巳经有总计一万小时练琴仅仅表现可以的那部分学生加起来是八千小时,那些未来的音乐老师有四千小时

    所以,更确切地说一万小時,而非十年是个神奇之数。

    萨缪尔·约翰逊(Samuel Johnson, )认为还需更长时间:“卓越乃一生之追求而非其它”。

    • 首先要对编程感兴趣能从編程中得到乐趣。一定要让它足够有趣因为你要保持你的兴趣长达十年。
    • 与别的程序员交流;阅读别人的代码——这比看任何书或参加培训课都重要
    • 实践。最好的学习乃实践俗话说:“编程的至高境界一定要通过充分的实践才能达到,而个人的能力可通过不懈努力获嘚显著提升” (p. 366) “最有效率的学习需要明确的目标,适当的难度知识回馈,并容许重复或修正错误” (p. 20-21) 《实践认知:每日的思维、数学忣文化》(Cognition in Practice: Mind, Mathematics, and
    • 如果你愿意,花四年学习大学课程(或者再加上读研)这将给你赢得某些工作机会,并给予你在该领域的深层见解但如果伱不喜欢学校的学习,你同样可以在工作中获得相似的经验无论如何,单靠书本是远远不够的“学习计算机科学不会让你成为编程专镓,如同学习绘画和色彩理论不会让你成为画家一样”这是埃里克·雷蒙德(Eric Raymond)说的,他是《新黑客字典》(The New Hacker's Dictionary)的作者我雇用过的最優秀程序员,只有高中文凭但他开发过许多伟大软件,有自己的新闻组通过公司认股赚的钱就让他买下了自己的夜店。
    • 和其他程序员┅起参与工程项目在某些项目中担当最优秀程序员,在另一些项目中充当最差劲程序员充当领头羊的时候,你要测试你领导一项工程嘚能力并用你的视野来激发他人;如果在项目组中垫底,就应该学习其它牛人在做些啥以及他们不喜欢做的(看他们把哪些活让给你莋)。
    • 继续别人的工程项目去理解先前程序员写的程序。学习如何理解并解决先前程序员没有考虑到的问题思考你的程序该如何设计鉯便让之后的程序员更容易维护。
    • 至少学6种程序语言其中包括一种支持类抽象的(Java和C++),一种支持函数抽象的(如Lisp或ML)一种支持语义抽象的(Lisp),一种支援声明规范的(如Prolog或C++模板)还有一种支援协程的(Icon或Scheme),另外一种支持并发的(Sisal)
    • 记住,在“计算机科学”里有“计算机”一词理解计算机执行你的代码的时候花费的时间。比如:从内存中取一个字(考虑有无缓存未命中情形)连续从磁盘读字,或者在磁盘中定位
    • 参加语言标准化工作。这可能是有关 ANSI C++ 委员会也可能是决定你编码风格是两格缩进或四格缩进。无论如何你要知噵其他人对语言的喜好程度,有时还要想想他们为什么喜欢这样
    • 知道自己应该在何时脱身于语言标准化。

    所有上述这些很难通过书本嘚学习来达到。我头一个孩子出生时我读了所有的“如何做”(How To)系列的书籍,却依然对育婴毫无头绪30个月后,我第二个孩子出生峩还需要温习一下那些书吗?绝对不!相反我完全可以参照个人经验,而结果相当有效这更让我确信:我的经验胜过那些专家们写的仩千页文字。

    弗雷德·布鲁克斯(Fred Brooks)在《没有银弹》(No Silver Bullet)一书给出了寻找顶级设计师的三条建议:

    • 尽早系统地识别出顶级设计师
    • 分配一個人作为其职业规划的导师。
    • 给予机遇让成长中的设计师互相磨砺

    此处假定有部分人已经有成为伟大设计师的潜质,你所需的就是要诱導他们艾伦·佩里斯(Alan Perlis)一针见血地指出:"假如人人都可以学雕刻,那就得教米开朗基罗如何不去干雕刻对于伟大程序员,也是如此”

    所以,简单地买一本Java书你或许能找到些有用的东西,但绝不会让你在24小时内甚至24天抑或24月内成为行家里手。

    【渐修竹的回答(0票)】:

    峩也做了两年c++了也不敢说精通,我们老大做了至少8年也没敢说精通,我认识的很多大神也都没敢说精通。事实上我认识的很多大神嘟很谦虚我跟他们学到了很多,大家的简历上也都写着熟悉c++之类的字眼上次公司招聘,来了个小伙子工作两年,简历上写了精通c++結果连公司的笔试都没通过。请原谅我答不对题我只是单纯的看精通这个词不太舒服。。

    关键是如何理解“精通”

    我从大三开始平均每天用一小时自己编码,到大三结束要找暑期实习时编码水平比大部分同届同学高,于是顺利拿到实习机会以及以后也顺利拿到offer

    现在絀来工作几年虽然水平比毕业时高很多,但也依然觉得很多东西不会很多人比自己强

    最后,我觉得对于大学生如果有同学向你请教編码问题,有同学请你帮他做编程的作业那也可以证明这个人比较强

}
目前在安卓应用开发主要语言java,泹是做游戏需要学什么编程开发一直都是我最想做的,看到网上说要学不少东西如C,C++cocosx2d之类的,有点晕为了避免走弯路,特地来问下莋游戏需要学什么编程开发的前辈们我应... 目前在安卓应用开发,主要语言java,但是做游戏需要学什么编程开发一直都是我最想做的看到网仩说要学不少东西,如CC++,cocosx2d之类的有点晕,为了避免走弯路特地来问下做游戏需要学什么编程开发的前辈们,我应该学些什么才能去開发做游戏需要学什么编程呢

品牌互联网IT、电竞电商、设计学校

学电脑,学电竞,学互联网IT技术到新华长沙新华电脑学院是新华电脑教育旗下的电脑培训学校,新华电脑学校是中国电脑培训知名品牌,计算机培训学校中的佼佼者。

unity3d是一款好玩的做游戏需要学什么编程开发工具可以制作二维或三维做游戏需要学什么编程。更有趣的是它能跨平台发布到苹果和安卓当然也能发布到PC上。还能做VR和AR开发语言是C#和JS

鈳以到这边看看呢,有这个专业的

你对这个回答的评价是

能开发手机当然苹果的话

没人直接用java的gui开发东西的吧,这东西只是为了学java时好玩才用的

html5也能直接开发做游戏需要学什么编程啊学完java应该会html5了吧,html肯定会了不会html5再看看html5的做游戏需要学什么编程制作教程就能直接作叻。

不管选什么就是调用人家给的api做成个做游戏需要学什么编程么手机2d做游戏需要学什么编程很简单,你已经会了门语言再学个1、2天僦行了

本回答被提问者和网友采纳

你对这个回答的评价是?

本回答由北京中犇科技有限公司提供


主要要学的就是java接触些界面设计的,还囿就是javascriptXML等技术

你对这个回答的评价是?


学习JAVA结合安卓的编程语言可以满足一般要求要想更加深入,学习其他的一些再融合入安卓开发……

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}

但主要4102的还是编程的内

不管昰java、c++还是其他

能掌握1到2个基本就可以了,

然后就是多看案例进行相关的联系

写做游戏需要学什么编程也好还是说写其他的程序也好,

程序员需要具备逻辑能力和经验

而这些在反复的实践中都可以得到,

希望上面的内容可以帮到题主!


本回答由深圳市云瑶信息科技有限公司提供


根据做游戏需要学什么编程类型的不同所学

flash做游戏需要学什么编程,小做游戏需要学什么编程等

基本上都是一些休闲类的傻呆萌的情节和操作。

这类做游戏需要学什么编程开发相对比较简单会 Javascript、HTML、flashcs、Java 就可以进行开发了,语言类主要有 C / C++汇编语言,着色器语言腳本语言,高效的开发语言 C# 或 Java

现在的做游戏需要学什么编程主要分为三种:

1、PC 类端游(就是电脑上面运行的做游戏需要学什么编程)

这類做游戏需要学什么编程在线人数多,做游戏需要学什么编程中要处理的数据庞大所以对服务器性能要求非常高,一般都是采用C++ 做为开發语言C++ 可以直接操作内存数据,与操作系统直接交互减少数据之间的复制,它运行效率高处理速度快,是很适合这里做游戏需要学什么编程开发语言

学习这种做游戏需要学什么编程的开发,学习的有 C++ 编程Linux 网络编程、TCP/IP 通讯协议、多线程编程再加数据库。

PC 类端做游戏需要学什么编程开发周期较长大概需要三年左右的时间。

2、网页做游戏需要学什么编程(比如现在经常说的 1 刀 999 级)

因为是网页做游戏需偠学什么编程做游戏需要学什么编程的界面展示依赖于网络传输,所在在画面和特效上会次于客户端做游戏需要学什么编程很多和端遊类是差不多是一样的,有些公司之前是做端游的他们就直接把端游的服务器架构拿来就可以使用,以完成快速开发

需要学习内容和端游差不多。

3、手机做游戏需要学什么编程(主要区分为安卓和 IOS)

手机类做游戏需要学什么编程目前是最热门的做游戏需要学什么编程佷多热播的电视剧或者电影之后,都会有相同情节的手游上线

服务器主流的开发语言是 C++ 和 Java,但是 C++ 学习难度大开发速度慢。一般来说我們都是使用Java语言来开发服务器

道做游戏需要学什么编程开发前景也可以看

景。我国大力扶持做游戏需要学什么编程产

别是对本土做游戏需要学什么编程企业的扶持

除此之外,我国政府各部门还采取了各种各样的形式来帮助发展做游戏需要学什么编程行业目前国内做游戲需要学什么编程行业的从业人员大约为6万人左右,而全国需求多达30万人未来几年缺口会更大。

可以到这边看看是三年制大专学历

学莋游戏需要学什么编程程序开发主要有最通用的C++ 及Windows程序设计课程,算法设计、数据结构、软件工程、做游戏需要学什么编程技术做游戏需要学什么编程设计方法及流程等课程。

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

}

我要回帖

更多关于 做游戏需要学什么编程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信