C語言的高手也許可以歡呼了,暴雪在最新的星際爭霸2官方藍貼中證實了全新的星際地圖編輯器將採用一種類似C語言的腳本語言——Galaxy,任何一名有C語言基礎的SC2愛好者都可以輕易上手。
A:星際2的地圖編輯器使用一種全新的腳本語言,我們把它叫做Galaxy——銀河。這是一種很接近於C語言的語言,任何熟悉C語言的人對Galaxy都可以很快上手。
Q:它是事件驅動的還是面向對象的?A:雖然多數本地函數是基於對遊戲對象操作的,但Galaxy語言本身不是面向對象的。
Q:對比魔獸爭霸3的地圖編輯器,星際2中是否允許自定義遊戲界面,如果允許的話可以做到什麼程度(在魔獸爭霸3中這項功能被嚴重限制了)?A:遊戲中的用戶界面設定在大部分是放在數據文件中的,但是編輯器不支持修改這些文件。所以自定義用戶界面是可能的,只是不是那麼好操作。
Q:星際2地圖編輯器中有沒有值得我們注意的新功能,還是換湯不換藥?A:魔獸爭霸3中地圖編輯器的功能,無論大小,在星際2中都或多或少的加以改進了。
Q:在新語言中,觸發器中的事件通訊能力——比如通過動作或者條件元素——有沒有什麼改進?A:觸發編輯器一個顯著的更新就是支持自定函數了——包括動作和條件元素。這表示你可以基於其他動作元素上(或者自定義腳本)創建你自己的動作元素了,然後將他們應用於觸發器中,好了,現在你想幹啥就幹啥了。
Q:對於「英雄單位」的支持,與魔獸爭霸3有什麼不同麼?還是幾乎一樣?
A:我們一直在努力創建一套比魔獸爭霸3更加靈活好用的英雄單位編輯系統。比如,地圖製作者可以修改任何自定義屬性的數值,這樣就可以編輯英雄單位了。
Q:這套程式語言會不會有公用的API函數?
A:在魔獸爭霸3中,有大量反映遊戲功能的的本地函數,可通過腳本進行二次開發。如果這是你所指的「公用API函數」,那麼星際2中也會有。
Q:星際爭霸2地圖編輯器所採用新語言中關於「垃圾處理機制」會有什麼改善嗎?比如在JASS中,所有的局部變量都需要在用完後置空,某些數據類型用完後還需要手動從遊戲中刪除(例如點對象)以防內存溢出。
A:銀河語言有著適用於所有本地類型的強大的垃圾回收系統,相比魔獸爭霸3有巨大的改進(JASS語言在技術上來講根本就沒有垃圾回收系統)。魔獸爭霸3中腳本的內存溢出的問題將成為歷史了。