拿Java來開發遊戲—談Java遊戲設計的好書 | Java 遊戲 範例
如果有一天,某個軟體開發人員對遊戲軟體設計產生了興趣,想找個業界的朋友詢問遊戲軟體的開發經驗,第一個問題一定是:「我該選擇哪一種程式語言呢?」,通常得到的答案只有三個:1.C2.C++3.C或C++這是非常合理的答案。開發人員不想接觸太低階的組合語言,可是又希望搾乾硬體的每一分資源,C或C++是最能滿足這個條件的語言。Java語言出現在1995年左右,當時的硬體條件,加上早期Java本身的成熟度的不足,導致「Java等於龜速」這個恆等式烙印在很多開發人員的心裡。所以自然無法成為遊戲開發的主流語言。Java可以拿來開發遊戲嗎?筆者...
如果有一天,某個軟體開發人員對遊戲軟體設計產生了興趣,想找個業界的朋友詢問遊戲軟體的開發經驗,第一個問題一定是:「我該選擇哪一種程式語言呢?」,通常得到的答案只有三個:1. C2. C++3. C或C++這是非常合理的答案。開發人員不想接觸太低階的組合語言,可是又希望搾乾硬體的每一分資源,C或C++是最能滿足這個條件的語言。
Java語言出現在1995年左右,當時的硬體條件,加上早期Java本身的成熟度的不足,導致「Java等於龜速」這個恆等式烙印在很多開發人員的心裡。所以自然無法成為遊戲開發的主流語言。
Java可以拿來開發遊戲嗎?筆者常常開玩笑說:「Java是帶業出世的!」,所謂的「業」指的就是「業障」,也就是Java需要JVM才能夠執行,與生俱來就很難在正常的情況下,擁有比C或C++還要出色的效能。這幾年來,JIT編譯技術的改良、HotSpot技術的精進,還有許多探討如何撰寫更有效率Java的書籍充斥於書店,加上硬體的進步,其實Java早就具備開發遊戲的實力了,只是需要更多成功範例來說服開發人員。
關於成功範例,可以在Sun官方網站 http://java.com/en/games/[1] 看到各種以Java開發遊戲的精采範例。如果你是遊戲開發人員,那麼在Sun官方網站針對開發人員所成立的技術論壇http://community.java.net/games/[2],也是一個必去的好地方。
如果讀者仍然對Java是否能夠製作遊戲心存疑惑,筆者必須說:「只要有心,人人都可以用Java製作出好遊戲」。就如同大多數人認知的Script語言,也是一種速度很慢的語言,很少人拿來製作遊戲,如果你看過使用JavaScript所設計的星海爭霸(http://elf.jsgame.net/sc/[3]),多少可以體會,語言的原罪並非無法克服。
講解Java開發遊戲的好書主流的C、C++行之有年,許多工具、函式庫、關於遊戲設計的書等,都是以C、C++為主,像是著名的《Game Programming Gems》系列(目前原文書出到第五集,中文翻譯書名《遊戲程式設計精華》,目前出到第二集)。Java遊戲設計的書,在原文書方面雖然比不上C、C++來的多,但是也夠令人眼花撩亂,品質差異甚大。反倒是中文翻譯書,通常挑選品...