It works well with Unit and Model ... However when it comes to Actor it's getting lame.
<!-- Not working ... The unit does not show up! --><CActorUnitid="TDWave1"parent="Ultralisk"/><!-- If you use the Ultralisk parent as parent, then it kinda works. However the attack is not working--><CActorUnitid="TDWave1"parent="GenericUnitStandard"><Parentvalue="Ultralisk"/></CActorUnit>
I don't know exactly what is going on but there are really strange things going on within the ActorData.xml file. Here are some strangeness.
##id## (why not $id like they do with $parent?)
<On> tag containing strings similar to code
Actor referencing random data from everywhere (unit, abilities ...)
If you know if that's possible to make parenting work, that would be of great help :)
The Galaxy Language is really close to C. This is a good choice because everyone knows C or a language derivated from it.
The error reporting is aweful, we only know there is an error and don't know the line. This is hopefully getting to be fixed later but we can still workaround using Lapin Syntax Validator.
The language is missing a lot of needed features (for loops, dynamic allocations, etc ...). However many of those lacks can easily be fixed by Blizzard itself or using one of the many tools. (Andromeda, MilkyWay Precompiler)
The language is faster than Jass but still way too slow. (Benchmark)
Galaxy API
The Galaxy API is really incomplete. At the moment, all the AI functions are there and all the strictly needed dependencies. From what we can see, it's pretty well done.
The API is clearly object oriented but done through naming instead of relying on syntax.
The API is not minimal, you can rewrite a bunch of API functions using another ones.
They have many containers (UnitGroup, UnitOrder, UnitGroupFilter) but no common way to use them.
XML Data
All the data are stored in XML Files. You can customize pretty much everything using them: Units, Spells, Models, Textures, Races ...
All the different spells are using the same basic nodes, this way it's very generic and easy to make custom spells.
There is an inheritance system that allows you to make different variations of the same object in few lines.
Localization is really easy. All the strings are stored in a text file inside a folder for each language.
At the moment, it's really painful to edit those files by hand, they are split in a lot of files and it's really missing autocompletion. The editor is going to help a lot in that area.
Interface
The game interface can be changed! It's a set of XML files that really looks like WoW Addons. However not much research has been done on this yet.
Support relative position and parents like WoW addons
Haven't found yet if it was possible to add custom interface inside the map files.
Terrain Data
The Terrain is probably the hardest thing to handle without the editor. It is stored in a very compact way as it already takes about 90% of the map size. We managed to understand how it was stored and will soon be able to draw it. However it's not something we will be able to edit manually.
Conclusion
After a month of Starcraft II maps analysis we can expect great possibilities. Everything we talked about here is going to have a polished GUI that will make edition much easier and faster. Let's hope Galaxy Editor is going to come soon!
0
You can use AITrain() to order the AI to create an unit. You also have the possibility to make a unit spawn using abilities or when the unit dies.
0
You've made a really nice work!
I've updated the Tutorial with your files Alevice (here attached) to make it work without pain.
I'm going to announce the results of the contest during the day.
0
http://forums.sc2mapster.com/development/map-development/284-heros-level-and-xp/#p15
Alevice made a sample map with a hero inside.
0
Hello,
For the Tower Defense, I've been trying to make complete new units. In order not to copy & paste I used the parent="" utility of the XML files.
It looks like that:
It works well with Unit and Model ... However when it comes to Actor it's getting lame.
I don't know exactly what is going on but there are really strange things going on within the ActorData.xml file. Here are some strangeness.
#
#id#
# (why not $id like they do with $parent?)If you know if that's possible to make parenting work, that would be of great help :)
0
Can you do <SomeArray removed="1" /> to removed all the array contents?
0
Oh nice, I didn't know the removed="1" thingy. Thanks
0
Galaxy Language
The Galaxy Language is really close to C. This is a good choice because everyone knows C or a language derivated from it.
Galaxy API
The Galaxy API is really incomplete. At the moment, all the AI functions are there and all the strictly needed dependencies. From what we can see, it's pretty well done.
XML Data
All the data are stored in XML Files. You can customize pretty much everything using them: Units, Spells, Models, Textures, Races ...
Interface
The game interface can be changed! It's a set of XML files that really looks like WoW Addons. However not much research has been done on this yet.
Terrain Data
The Terrain is probably the hardest thing to handle without the editor. It is stored in a very compact way as it already takes about 90% of the map size. We managed to understand how it was stored and will soon be able to draw it. However it's not something we will be able to edit manually.
Conclusion
After a month of Starcraft II maps analysis we can expect great possibilities. Everything we talked about here is going to have a polished GUI that will make edition much easier and faster. Let's hope Galaxy Editor is going to come soon!
0
Digging inside the game files I found neat loading screens. I wonder if they are already viewable ingame or if they are for campaigns only.
http://www.sc2mapster.com/assets/blizzard-loading-screens/images/
0
Lava using low settings ... does not look like lava :p
0
overload119 from hiveworkshop posted a teaser for his sc2 map ( http://www.hiveworkshop.com/forums/starcraft-ii-408/my-sc2-map-heroes-163156/ ). We can see that he managed to display Lava instead of water.
Grum on the IRC managed to get that effect. It's in fact really easy, it no more than 3 lines in the WaterData.xml file:
And here is the result:
0
You can use AICast to ask the unit to execute an order. It's not exactly what you want but you might find a workaround with that.
0
This is nice, they reused the same concepts as WoW interface XML.
0
Really nice!
Could you give us some code to make this work?
0
Some videos talking about the Galaxy Editor
0