Total newbie question , but what language was used by blizzard to crate the Starcraft II game play? I've been playing it for the last couple of days , and I'm constantly astonished by the complexity and the performance of the game. Is it an in-house language , or do they use some flavor of a know language?


The actual game itself uses a combination of C, C++ and XML (for metadata).

The scripting language used called 'Galaxy'. It's a C-based language built into the game engine.
It's used in the campaign and in custom maps.


The Map Editor is where 'Galaxy' is coming from (Galaxy Editor). It's a data driven editor which allows you to put together actions from English statements which really opens up an insane amount of possibilities. For example, attaching Thor cannons to a hydralisk is easy cheesy.

  • Create a Hydralisk object and modify attributes on it to give it the abilities you desire
  • Trigger - 'Create 1 Hydralisk for player 1 using default facing'

Take a look at this video tutorial that show off the trigger editor. Here are some good tutorials to get you started.

The game itself was written in C/C++.

  • 1
    \$\begingroup\$ Just to note: the Galaxy editor requires no programming experience, and generates scripts for you. The scripts themselves are written in a custom C-based scripting language called Galaxy; I don't know of any examples of something that needs to be written in Galaxy (ie. which can't be done from the editor), but it is possible to write Galaxy scripts if you wanted. \$\endgroup\$ – BlueRaja - Danny Pflughoeft Sep 7 '10 at 19:21

I assume you meant scripting language? (since programming language-wise, I'd be very surprised if they didn't use C++...)

A quick Google-ing turned this up:

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

  • 7
    \$\begingroup\$ No offense to anyone, but is Galaxy a bad-bad-case of "The Not Invented Here Syndrome"? Just sayin'. :-) \$\endgroup\$ – JustBoo Aug 8 '10 at 15:17
  • \$\begingroup\$ @JustBoo - do you have a reference to something demonstrating that Galaxy is essentially identical to an existing language? If not, it might just be that Blizzard needed something that wasn't already on offer. \$\endgroup\$ – Kylotan Aug 8 '10 at 17:51
  • 2
    \$\begingroup\$ When the product is successful, it's not called NIH, it's called a "competitive advantage". \$\endgroup\$ – user744 Aug 8 '10 at 20:39
  • \$\begingroup\$ @Boo: They created this language because it's easy and designer friendly: Look at this tutorial, for instance: forums.sc2mapster.com/development/tutorials/… Timer - Destroy Lava Timer Window Sound - Play Alert_BaseUnderAttackKlaxon for (All players) (at 100.0% volume, skip the first 0.0 seconds) That's the language. Very English - too verbose for a coder, but works well in an editor I guess. \$\endgroup\$ – jacmoe Aug 8 '10 at 20:41
  • 1
    \$\begingroup\$ @jacmoe Galaxy does not look like your example. That is their Trigger UI which generates Galaxy on your behalf (Similar to the WC3/JASS story). \$\endgroup\$ – Jonathan Dickinson Aug 16 '10 at 14:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.