为什么Java不适合游戏开发?
首先是开发效率。前几年手机游戏流行,游戏公司多,产品相似度高。那么如何最快的开发出游戏并投入运营,在快速迭代中试错,减少开发周期就是降低开发成本。在这种环境下,很多脚本语言成为了首选,比如nodejs、php甚至lua、python(这里还有一点,虽然lua语言本身很简单,但实际上lua在游戏领域的使用成本是很高的,至少是四种脚本语言中最高的,因为它只是一种胶水语言,依赖于c/c++,而作为围绕游戏的库,需要自己搭建或者找轮子,而对于引擎部分,面对这些脚本语言,java并没有优势。Nodejs可以用js写出来(html5的普及让这种情况越来越多)。而且php好用,开发简单,喜欢一些免费的视频教程。
如果你问我java适合开发游戏吗?我的回答绝对合适。java开发效率高,运行效率一般。在需要高效运行的地方用C或cxx写就行了。现在市面上大部分游戏都不是用单一编程语言开发的,没必要和语言纠结太久。
很多人说运行效率也很重要,但其实一般逻辑你是感受不到区别的。普通逻辑用java或者c#,或者这样开发效率的脚本语言,调试效率高的语言会让你开发起来更加得心应手。尤其是脚本语言。
c和cxx只在特别需要效率的地方使用。
哈_,这里是子期!Java开发游戏性能效率差,开发一些小游戏还可以。元彪老师说java是面向对象的,所有的方法都封装在类里。要想调用方法,就得有实例类,而游戏主要是看逻辑。
物体就像机器,有很多功能,但我的游戏逻辑只需要每台机器的一个功能,但要用的话,就要整台机器做出来。这就是面向对象的缺陷吧?
c是面向过程的,可以更灵活地设计过程逻辑,省去了很多不必要的东西,性能也大大提高。
java的优点是利用现有的各种类包,达到重用的效果,大大提高开发效率。
当然,java也可以只为逻辑设计类,但那不是java的强项,没有太大意义。