StarCraft II Q&A batches/52

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 ---

Additional Comments
Thanks for the beta update.

This is pretty pertinent info for the beta, since it'll allow map makers to know what they are going to be working with when creating your favorite UMS (User Map Setting) maps.