学什么那种编程语言最好能做出游戏方面的,像网页那种在线小游戏

只会C语言编程还要学哪些才能做俄罗斯方块这样的小游戏?_百度知道游戏编程很复杂吗,就是那种编写程序之类的小游戏,单机或联网的。_百度知道最适合游戏开发的语言是什么?
对游戏开发很感兴趣,同时对现在的工作很不感兴趣,通过百度论坛等等介绍,选择了cocos2d,语言选择学习C++,自己用业余时间看了C++primer前面几章,感觉不是那么回事,毕竟学习成本太高而我又时间有限,可能大神要笑我无知,毕竟我没有一点基础,所以我想请问该做游戏到底该从何入手?C++还是java,js?(问的没啥深度,见笑了)
如果只能??一??言,我??C++。我二十多年前的***和?在一?,估??可以延?多至少十年。
别局限在语言上面。就手游来讲,10年前是J2ME的java语言,和看起来很高大上的C语言。现在都是C++、Object-C、C#、Java以及各种脚本语言。这些语言被使用的背后是硬件的升级(不要忘记摩尔定律)和更好的解决方案的推出。举例来讲,Unity3d流行使很多C++阵营的人一夜之间用上C#,Cocos2d-x的流行又使人离不开C++。苹果的手机漫天都是的时候,Object-C也就成为了很多开发者必须要会的东西。所以,选择的时候,首要的不是语言,而是你选择用什么东西做游戏。语言只是其中的一部分,不能本末倒置。
C++应该还是最好用的吧
如果可以选择,我希望是 Ruby。写过这么多种语言,Ruby 算是写起来舒服的。可惜由于种种原因,它仅凭借 Web2.0火了一下,后面有逐步被其它类似的语言追上。Python 也就罢了,JavaScript 这种反人类的语言,怎么看都是一种勉强将就的解决方案,真不明白为什么能火这么长时间。现在用 Unity3D,主语言是 C#,算是中规中矩的语言,总体来讲还是优点比缺点更多,就是 Mac 下的 IDE 太蛋疼了。就算 Unity 的官方要换另一种语言,当下所有语言里也未必有更好的选择,目前 C#还是最棒的。一款语言的发展壮大,也是讲究天时地利人和的,另外傍上一家巨头公司也尤为重要。PHP 的创始人曾在 Yahoo 呆过很长时间。后来 PHP 也被 Facebook 大为重用。Python 的创始人在Google 呆过。Python 本来可以借助 Blender3D 这款开源软件,在游戏领域发展壮大。可惜的是 Blender3D 组委会一直不紧不慢,白白错失了良机。Java 是 Sun 的命根。C#是微软的亲儿子。ObjectiveC 的兴起是借助 iOS 的流行。当初据说苹果内部也考虑过 Ruby,甚至 MacOS 也内置了 Ruby 脚本,跟 Python 平起平坐。MacRuby 在 Ruby 社区内曾一度呼声很高,但那又如何,高层终究不会采用。所以才有了新推出的 Swift,Go 等语言。Javascript 最初是网景和 Sun 共同推出的。后来成了统一 Web 的语言。我个人写了不少 Javascript,但始终喜欢不起来,原因很简单,语法不优美,甚至比 ObjC 更难看,可读性差,歧义多,手写的话 Bug 率奇高。node.js 火的时候,很多人宁可用 CoffeeScript 来写。Ruby 的创始人是日本人。估计他未来也不会去任何巨头公司任职了。Rails 出到5.0, 但很多上线多年的代码依然用的是2.几的代码。社区很活跃可惜一直没有出现革命性的产品或者方向,反而一直充当开拓者,很多新的思想都发源于 Ruby/Rails 社区,验证成熟后再被其它社区吸收使用。==========最后附带说一下,有一款文字+策略经营RPG游戏叫《The Dark Room》,中文名小黑屋,它的移动版是用RubyMotion开发的,是 Ruby 的跨平台移动 app 框架,具体可以看作者的开发日志:作者采用它(Ruby 语音)来写程序,能一直不停歇地工作12个小时,非常享受其中的编码过程。我也了解了一下 RubyMotion,然而在游戏方面,它对图形动画方面的支持并不够多,3D 就更别想了。只能用来做 App 或者文字类游戏,所以一直没有考虑采用。
对于初学者来说,语言的选择并不重要。游戏开发者作为一个群体包括很多不同的分工,从游戏性编程、界面交互到服务器编程、架构设计和图像渲染。对于开发者的要求有很大区别。由于有着成熟商业游戏引擎和负责引擎研发的专业团队,在这个行业里的很大一部分程序员都不需要掌握太复杂的编程思想和算法就可以进行游戏开发的工作。当然想要做优秀的程序员和优秀的作品,对技术和思想的深入掌握是不可或缺的,不过如果是刚入行就考虑这些问题,反而会让学习的难度加大很多。个人认为,选择编程语言就是这样一个“专家级”的问题,由于有大量商业引擎和库,在应用层面上,不同语言之间的差距并不大,基本上同样的事情,借助合适的库就可以通过不同语言来实现。作为初学者尤其是游戏开发初学者,根本没必要关心底层的东西,相比于其他软件,游戏开发在内容生产、细节打磨、体验优化方面需要做的事情太多了,而这些工作都不需要底层的知识就可以去做。而当初学者经过多年实践经验的打磨,到了要自己做引擎做架构或者为他人编写实现库的时候,才需要根据具体需求的情况选择实现最容易效率最高的语言。===========最后说下结论,先选择一个引擎或开发框架,再学习这个框架支持的语言,开始的时候不用学的很深,掌握基本语法,会查api就够了。当然宏观的编程逻辑和面向对象之类的思想还是要掌握。拿题主的例子来说,因为先接触了cocos2d-x,所以从C++开始学没有什么问题,学习材料可以选择浅显易懂一些的,看不懂的部分不用硬着头皮看,以能解决问题为主导思想就好。
我跟其他回答的人观点完全不同。这个问题重点不是游戏开发适合用什么语言,而是问问题的人对游戏开发完全不懂。在问题描述中,我觉得问问题的人根本没有弄清楚什么是做游戏,对游戏这个概念极度的模糊。我只从问题的内容来看,可以了解到问问题的人没有什么程序语言的基础。所以我给的建议是,请先去学一些程序语言的基础,在考虑做游戏开发。当前做游戏也就是走研发路线的话会分3个路线:策划,美术和程序员。如果想走程序员路线的话,既然你已经开始看C++primer,那就把它看下去,如果你觉得学习成本高,那么就请放弃成为游戏程序员的路线。因为这个基础中的基础,你连这个都吃不下,别去想其他的东西了。如果走美术的路线的话,我不知道你美术能力如何,自己决定。如果你说我程序不行,美术也超级垃圾的话,请别来做策划。游戏策划肯定不是你想的那种工作,并且一个合格的游戏策划对自身能力要求极高,不然就是tmd在坑人。以上。
大致列举一下2D页游:AS3 JS3D页游:AS3 C#(Unity)IOS游戏:Obj-C js/lua(Cocos-2d-x) js/C#(Unity) AS3安卓游戏:java js/lua(Cocos-2d-x) js/C#(Unity) AS3在线小游戏:AS3 JS大型单机游戏/客户端MMORPG::C++ C#其中AS3 JS C#(Unity)都是跨平台的。AS3(flash)目前被唱衰,JS目前又比较翔,Unity还不错。如果你没有非要万事亲力亲为的强迫症,用游戏工具来做游戏是个不错的选择。
邀请我来唱个反调吧,对于初学者来说,是有Lua及类似的脚本语言才是最适合开发游戏的语言,初学游戏开发的人需要的是快速开发出游戏原型,保持住对游戏开发的热情,其他东西的学习可以延后考虑。现在包括Unity3D和Cocos2d-x都有Lua binding,同时Cocos2d-x有存在quick-x这种更加方便的引擎,对于初学者来说,没有理由不使用Lua了,不是吗?
居然没人说lua,关于题主说的“游戏开发”,我理解为游戏逻辑开发。C++的话,开发效率不高,一方面是静态语言改动起来麻烦,另一方面是编译速度造成。在我看来,C++适合用来做需求稳定的、逻辑经典的模块,比如物理引擎,渲染引擎、网络层等等。我第一次用lua就感受到动态语言是面向对象最好的归宿(虽然lua没有直接支持oop)。当我们第一次去解决某个问题的时候,常常对问题的理解总是不够深刻的,随着开发的进行,我们理解时刻变化,我们也会在开发中重构我们的代码,如果用动态语言,那么就非常合适,而且运行效率非常高,解决问题非常简洁。因此lua是游戏逻辑开发的首选。综上所述,我给lua点个赞。
学游戏开发不是应该从数学和英语入手吗,拿本c++翻两页有什么用?
已有帐号?
无法登录?
社交帐号登录

参考资料

 

随机推荐