[转]Java可以拿來开发游戏吗?

如果有一天,某个软件开发人员对游戏软件设计产生了兴趣,想找个业界的朋友询问游戏软件的开发经验,第一个问题一定是:“我该选择哪一种开发语言呢?”,通常得到的答案只有三个:
1.????? C
2.????? C++
3.????? C 或 C++
这是个非常合理的答案。开发人员不想接触太低阶的组合语言,可是又希望榨干硬件的每一分资源,C或C++是最能满足这个条件的语言。Java语言出现在1995年左右,当时的硬件条件加上早期Java本身的成熟度的不足,导致“Java = 龟速”这个恒等式烙印在很多开发人员的心里,所以自然无法成为游戏开发的主流语言。

這几年來,JIT Compiler技术的改良、HotSpot技术的精进,还有许多探讨如何撰写更有效率Java的书籍充斥于书店,加上硬件的进步,其实Java早就具备开发游戏的实力了,只是需要更多成功范例來说服开发人员。http://community.java.net/games/就是一個游戏开发者必去的好地方。

介绍Java开发游戏的好书

英文原文翻译书:
从做中学:手机游戏程式设计 (Beginning Mobile Phone Game Programming) /上奇
大师谈 Java 游戏设计 (Developing Games in Java) /上奇

日文原文翻译书:
Java Game Programming 建立游戏的演算法与框架 (Java Game Programming Algorithm and Framework) / 博硕

O’Reilly --《Killer Game Programming in Java》
目前市面上的游戏,不管是PC游戏,或是游乐器游戏,除了讲究2D、3D、声光效果、更强调善用网路,好比目前最风行的线上游戏,就充分运用了网路,达到多人共乐的效果。然而,恐怕得买上5、6本书,才能够学到开发这些现代游戏所需要的技术。O’Reilly所出版的《Killer Game Programming in Java》就是这样的一本书。本书接近1000页,共有四大主题: Java 2D、Java声音处理、Java 3D、Java网路程式设计,并在附录介绍如何利用install4j或Java Web Start,让使用者方便地安装所撰写好的游戏软体。除了人工智慧(AI)之外,这本书几乎涵盖了所有游戏开发所需要的知识,而这本书的不足,可以用O’Reilly的另外一本好书《AI for Game Developers》(O’Reilly臺湾分公司有翻译计画,中文版名称为《游戏人工智慧》) 弥补之。

《Killer Game Programming in Java》的作者,在第一章就列出了所有开发人员对於Java是否可以开发游戏软体的疑惑,包括“使用者较难安装Java程式”、“Java速度太慢”、“Java太高阶了,很难发挥硬体效能”、“真的有人拿Java开发应用程式吗?”等议题,一一释疑,并列出了许多相反的观点,以及可以实证的网路资源。 接著,作者就从游戏的基本程式结构开始,介绍Java影像处理、2D图形处理、声音处理。到此,读者对游戏开发会有个基本的认识,也可以写出一个简单、并具有声光效果的Java游戏。作者採用标準的Java 3D API,讲解3D图形处理,这一个部分,是所有关於Java 3D的相关书籍之中,讲述的最精采的一个部分,笔者认为这也是本书最有价值的部分。最后,作者介绍Java网路程式设计,并延伸前面章节所介绍的3D游戏,改良成网路3D游戏。作为一本介绍Java游戏设计的书籍,笔者相信这是目前市面上最有参考价值的一本书。

如果读者仍然对Java是否能够制作游戏心存疑惑,笔者必须说:“只要有心,人人都可以用Java制作出好游戏”。

你可能感兴趣的:(java,Algorithm,游戏,C++,语言,compiler)