|
http://forums.battle.net/thread. ... 588788&sid=3000
StarCraft II Q&A Batch 52 : Map Maker Series
1. Does it still use the JASS language, or perhaps an upgraded version of JASS?
StarCraft II uses an entirely new scripting language, which we’ve called Galaxy. This language is very similar to C, and anyone familiar with programming in C will have no trouble picking it up.
2. Is the language event-driven or object-oriented?
The language itself is not object-oriented, although most of the native functionality is based around operating on game objects.
3. In comparison to the Warcraft III Editor, how much more, if any, can the GUI of the game be edited (it was extremely limited in Warcraft III)?
The in-game UI layout is externalized in data files to a large extent, however there is no editor support for working with these files. So it will be possible to customize the game UI, it just won't be a user-friendly process.
4. Are there new noteworthy functionalities in the Starcraft II Editor, or will the new editor just have general improvements?
I can’t think of a single editor feature from WarCraft III, large or small, which has not been improved in at least some way for StarCraft II.
5. Will the ability to communicate among triggers, for instance via actions or conditions, be improved in the new language?
One significant new feature of the Trigger Editor is support for custom function definitions, including actions and conditions. This means you can create your own actions that are built up from other actions (or custom script code), then use those in triggers just as you would any other action.
6. How does "Hero" support differ from the Warcraft III Editor? Or is it practically identical?
We’ve been working hard to create a hero system that is even more flexible than WarCraft III’s. For example, map makers will have the ability to define any number of custom attributes that modify a hero based on its level.
7. Will there be a public API for the programming language?
As with WarCraft III, there is a large set of “native” functions representing game functionality that can be accessed through scripts. If this is what you mean by “public API”, then yes.
8. Will there be improvements on the "Garbage Collector" for the new language? For example, in JASS all local variables need to be set to null at the end of their use, and certain data-types need to be removed from the game (such as Locations) at the end of their use to avoid memory leaks.
Galaxy features a robust garbage collection system for all native types, which is a huge improvement over WarCraft III (which technically did not have a garbage collection system at all). The script memory leak issues from WarCraft III will be a thing of the past.
---End of Transmission---
[ Post edited by Karune ]
1.我们还用JASS么,还是什么强化版JASS?
星际争霸II使用全新脚本语言,代号“银河”。该语言和C非常相似,任何熟悉C语言的人都能很快上手。
2.该语言是事件驱动还是面向对象的?
该语言本身并非面向对象,但大部分本地函数是对游戏对象进行操作。
3.相比起魔兽争霸III的编辑器,新编辑器对游戏界面的可自定义程度如何,有任何强化么?(这点在魔兽争霸三中被严重限制)
游戏界面大部分可由数据文件定义,不过我们并没有对那些文件提供直接的编辑器支持,因此自定义界面是可能的,只是缺乏友善的GUI。
4. 星际争霸II编辑器中有什么可圈可点的新功能乜?还是只有些基本功能强化?
魔兽争霸III中任何一处功能(无论大小)在星际争霸2编辑器都有某种程度的强化。
5.触发器中的事件通讯能力,如动作和条件,在新语言中有所增强么?
触发编辑器中一项显著更新是动作和条件中对自定义函数的支持。意即你能创建自己的动作(具体通过其他动作或自定义脚本创建),然后将其应用于你的触发器里。
6.相比起魔兽争霸III编辑器,对“英雄”的支持有所变化么?还是根本就一样?
我们努力制作了一个全新的英雄系统,比魔兽争霸III更具自由度。例如,地图制作者可以添加任意数量的自定义英雄属性。
7.这套编程语言有没有公用API?
在魔兽争霸三中拥有大量反映游戏功能的的本地函数,可通过脚本进行二次开发,如果这就是你所谓的“公用API”,那么回答是“有”。
8.新语言中的垃圾回收机制有所改善么?例如,JASS中所有的局部变量都需要在用完后置空,某些数据类型用完后还需要手动从游戏中删除(例如点对象)以防内存泄露。
银河拥有一套健壮的垃圾回收系统,适用于任何本地类型,相对魔兽争霸III而言是极大的跃进(其实从技术上讲魔兽争霸III跟本不具有垃圾回收机制)。魔兽争霸III中的内存泄露问题将成为历史。 |
|