【正文】
web. 缺點:使用一個“虛擬機”來運行可移植的字節(jié)碼而非本地機器碼,程序?qū)⒈日嬲幾g器慢。有很多技術(shù)(例如“即時”編譯器)很大的提高了Java的速度,不過速度永遠比不過機器碼方案。早期的功能,如AWT沒經(jīng)過慎重考慮,雖然被正式廢除,但為了保持向后兼容不得不保留。越高級的技術(shù),造成處理低級的機器功能越困難,Sun為這門語言增加新的“受祝?!惫δ艿乃俣葘嵲谔??! isadvantages: Uses a virtual machine to run portable bytecode rather than native machine code, so apps are slower than true pilers. There are technologies (like Just In Time pilers) that greatly improve the speed of Java, but the speed will likely always lag behind true machinecode solutions. Early features like the Abstract Windowing Toolkit were not well thoughtout and, while officially abandoned, have to hang around for backward patibility. Is very highlevel, which makes dealing with any lowlevel machine features very difficult. Sun is pretty slow in adding new blessed features to the language. 移植性:最好的,但仍未達到它本應(yīng)達到的水平。低級代碼具有非常高的可移植性,但是,很多UI及新功能在某些平臺上不穩(wěn)定?! ortability: The best of the lot, but still not what it should be. The lowlevel code is very portable, but a lot of the UI and newer features are wobbly on some platforms. 使用Java編寫的游戲:網(wǎng)頁上有大量小的Applet,但僅有一些是商業(yè)性的。有幾個商業(yè)游戲使用Java作為內(nèi)部腳本語言?! ames Written in Java: Lots of little applets in web pages, but only a couple of mercial offerings. Several mercial games use Java as the internal script language. 資料:Sun的官方Java頁面有一些好的信息。IBM也有一個非常好的Java頁面。JavaLobby是一個關(guān)于Java新聞的最好去處?! esources: [Sun39。s official Java page] has some good info. IBM also has an excellent [Java page]. The [JavaLobby] is the best place to go for news about Java.創(chuàng)作工具 上面所提及的編程語言涵蓋了大多數(shù)的商業(yè)游戲。但是也有一個例外,這個大游戲由于它的缺席而變得突出?! ll of the programming languages mentioned above cover prettymuch every mercial game out there. There is one exception, but it39。s such a big one that it would be conspicuous by its absence. “神秘島”。沒錯,賣得最好的商業(yè)游戲不是使用以上任何一門語言編的,雖然有人說“神秘島”99%是使用 3D建模工具制作的,其根本的編程邏輯是在HyperCard里完成的。 Yep, the best selling mercial game of all time wasn39。t written in any of the above languages. While some would say that 99% of Myst was written using 3D modeling tools, the underlying program logic was done in HyperCard. 多數(shù)創(chuàng)作工具有點像Visual Basic,只是它們工作在更高的層次上。大多數(shù)工具使用一些拖拉式的流程圖來模擬流程控制。很多內(nèi)置解釋的程序語言,但是這些語言都無法像上面所說的單獨的語言那樣健壯?! ost authoring tools are a bit like Visual Basic, only they work at a much higher level. Most of the tools use some kind of clickanddrag flowchart motif to model control flow. Many contain embedded interpreted programming languages, but these languages aren39。t nearly as robust as the standalone languages mentioned above. 優(yōu)點:快速原型 — 如果你的游戲符合工具制作的主旨,你或許能使你的游戲跑得比使用其他語言快。在很多情況下,你可以創(chuàng)造一個不需要任何代碼的簡單游戲。使用插件程序,如Shockware及IconAuthor播放器,你可以在網(wǎng)頁上發(fā)布很多創(chuàng)作工具生成的程序?! dvantages: Fast prototyping if your game fits the motif the tool39。s made for, you can probably get your game running faster than any other language. In many cases, you can make a rudimentary game without writing any code. You can broadcast many authored apps on web pages with plugins like Shockwave and IconAuthor Player. 缺點:專利權(quán),至于將增加什么功能,你將受到工具制造者的支配。你必須考慮這些工具是否能滿足你游戲的需要,因為有很多事情是那些創(chuàng)作工具無法完成的。某些工具會產(chǎn)生臃腫得可怕的程序?! isadvantages: Proprietary, so you39。re at the mercy of the toolmaker as to what features will be added. You39。ve gotta really look at these tools to see if they39。ll do everything that your game39。s gonna require, because there are things that authoring tools simply can39。t do. Some of these tools produce frighteningly bloated apps. 移植性:因為創(chuàng)作工具是具有專利權(quán)的,你的移植性以他們提供的功能息息相關(guān)。有些系統(tǒng),如Director可以在幾種平臺上創(chuàng)作和運行,有些工具則在某一平臺上創(chuàng)作,在多種平臺上運行,還有的是僅能在單一平臺上創(chuàng)作和運行?! ortability: Since authoring tools are proprietary, your portability is limited to whatever they offer. Some systems, like Director, can author and run on several platforms. Some tools can author on one platform but play on several. Some are singleplatform beasts. 使用創(chuàng)作工具編寫的游戲:“神秘島”和其他一些同類型的探險游戲。所有的Shockwave游戲都在網(wǎng)絡(luò)上?! ames Written in Authoring Tools: Myst and a few other exploration games of the same genre. All of the Shockwave games on the web. 資料:Director、HyperCard、SuperCard、IconAuthor、Authorware。結(jié)論(Conclusion) 你可能希望得到一個關(guān)于“我該使用哪種語言”這個問題的更標準的結(jié)論。非常不幸,沒有一個對所有應(yīng)用程序都最佳的解決方案。C適于快而小的程序,但不支持面向?qū)ο蟮木幊獭++完全支持面向?qū)ο?,但是非常?fù)雜。Visual Basic與Delphi易學(xué),但不可移植且有專利權(quán)。Java有很多簡潔的功能,但是慢。創(chuàng)作工具可以以最快的速度產(chǎn)生你的程序,但是僅對某一些類型的程序起作用。最好的方法是決定你要寫什么樣的游戲,并選擇對你的游戲支持最好的語言?!霸囉萌臁钡淖龇ǔ蔀楣I(yè)標準是件好事情?! ou probably were hoping for a more cutndry conclusion to the what programming language do I use dilemma. Unfortunately, there39。s no solution that39。s optimal for all applications. C is suited for fast and small applications, but doesn39。t support OO programming well. C++ has very plete OO support, but is frighteningly plicated. Visual Basic and Delphi are easy to learn, but are nonportable and proprietary. Java has a lot of neat features, but is slow. Authoring tools can get your app working quickest, but are only useful for a narrow range of applications. It might just be best for you to figure out what kind of game you39。re writing and pick the language that would best support your game. It39。s a good thing that the try it free for 30 days offer has bee the industry norm :)12 /