The Galaxy Editor is great but it's not perfect! This is why I am making an official thread for you to express yourself. Just tell what you'd like to change in the editor!
Rules
Make it constructive, we are here to make a better editor :)
Do not hesitate to tell obvious stuff, what is obvious for you isn't for everyone.
You can be informal, just make sure that we can understand!
Tell all what you have in mind, from the smallest little thing that annoy you to the great but impossible idea you've got.
Reward
Since it's funnier to do things with a reward in mind, here is all what we can do.
1 month Curse Premium for each improvment that is being implemented! (You will have to PM me when it is done).
History
If you want to know the reasons behind this, please read :)
I have been talking to RodOfNOD on the IRC and he was whining because there was no water pathing in Starcraft 2. After thinking about it I realized that it can be obvious to him that Water is needed in the editor because it was in Warcraft 3, however it may not have been to Blizzard. I mean, they don't need it in the campaign, and it is not something you will say if you were asked about the missing functionnalities. So Blizzard may not know that it would be a cool feature!
Alright, I know this example is very bad to prove my point, as water is still obvious. Now what about those little things that could make our life so much easier
Double-click anywhere on the trigger window to make a new action.
Shift-Enter in the text-box when modifying actions to validate.
Galaxy Developers are not using much their editor and have a biased vision of it. As for the Campaign developers, they use only a small part of it and don't want to make complete different games with it. This is why we are the best ones able to talk about it and ask things.
Dear blizz-o-max, please to be having a more exact 'fill’ brush for the terrain editor. The borders it leaves around natural cliffs can be very tedious to clean up especially when brushes can reach up to the level above or bellow where the point is applied.
Give us some kind of hashing function for all objects. Even World Editor had this (in the form of a bug...but when they patched it out they were nice enough to provide a replacement API), and lots of maps/systems relied on it. So why should sc2 mappers miss out? At this point I don't even care if it generates one-to-one hashcodes (though it would be really nice if it did).
Player leaves game trigger event is CURRENTLY not triggered on disconnects and quits. Right now it only factors in defeats/ties/victories, not disconnects/quits. (note: we can detect when a player hits the quit button; but still this leaves disconnect up for grabs)
Items that are NOT checked to drop on death, still do drop on death regardless.
Screen buttons shown for certain players only? Right now it's automatically displayed for everyone.
Placing a terrain-object will modify nearby cliffs/terrain. However, when you ctrl+z, it doesn't fix the terrain that was auto-changed. You have to reload or redraw the cliffs.
An auto-fill feature for all numeric fields (as in WC3's NewGen Editor)
Ex: You can ctrl click on a field, such as veterancy levels. You tell it you want 25 levels, starting at 200 xp, and increasing by 100 xp per level, and it creates all 25 levels for you
Also, more terrain levels. Just because we can work without them, why should we have to?
Filtering by object source when selecting objects for a field entry. (I.e. when you need to select an effect in the field, and the full list of 50000 effects comes up, you should be able to filter out anything not from my map. Right now I add an editor prefix that starts with a "[" character to make all my stuff at the top of the list.)
Fix the damn bug where sometimes when you dupe an object, the duplicate's identifier cannot be edited (introduced in patch 16, IIRC.)
Make duping more consistent. Behavior shouldn't be different when you right click->Duplicate versus copy & paste.
When you first start the editor there's a web link to a Blizzard editor wiki, which is just a 404 right now.
I guess these are all mostly bug fixes and not feature requests. I've found very few things that I flat out can't do with the editor, but there's a lot of things that could (should) be made MUCH more convenient.
edit: Add a "Custom Map" object family so that sorting mechanism is useful. Add a bunch more Behavior Categories, as 3 is NOT enough. Add more attributes or let us add them ourselves.
AND LET US OVERRIDE THE GOD DAMN BASE UI, this is clearly the #1 thing missing from the editor right now.
These are all based on the last beta version as I don't have retail yet and can't see if they've already been fixed. I'll edit this post when my copy arrives.
• Stack tracing-- When a custom script's function call in a trigger has an error, it would help if the trigger debugger would report the function that caused the error along with the trigger. The line number of trigger and function errors would be helpful too.
• Similarly, when compiling a script generates a syntax error, the script test should give an indication of which trigger line 280 is in.
• Script test should show all syntax errors and not stop at the first.
Mac editor GUI:
• column resizes need to stay resized when changing which object is selected.
• Testing a map needs to hide the editor application instead of minimizing it, which forces each window to be manually clicked to restore it without preserving the window order.
• Command-W is used to create new elements instead of closing windows. What's the new window closing command?
Maybe mac only issues:
• typing in custom scripts is very slow. There's a time delay after each character is typed before it appears on the screen that is nowhere else in the editor.
• Selecting Window: Previewer (or any of those menu items in the same group) when the Previewer is already open does not bring it to the foreground
I would really like to see the copy+paste of lines of code that contain an array of a record with an array inside it bug to be fixed. This makes the index of the second array disappear when it is copied (In the trigger editor obviously). Example;
Set variable SomeInteger = RecordArray[Parameter1].SomeArray[Parameter2]
When this line is copied the Parameter2 turns into Unkown Index. Which is really annoying as I like many other people (probably) structure most of my arrays within records because it makes the code a bit cleaner when viewing it through the trigger editor.
Also I'd agree with YiffMaster on his "Stack tracing" point, this is particularly hellish when developing a library as you never get a proper trace on where the bug is.
Finally a way to dump all your variables and values into the trigger debugging window (or optionally a new tab in the same window that contains a list of your variables and values).
When creating/moving UI elements like dialogs, portraits, etc. the coordinates you specify are not actual screen coordinates in pixels, they're translated into some other coordinate space. But the "Mouse Clicked UI Position X/Y" functions return the mouse position in actual pixels - which is completely useless information. There are no functions to translate coordinates between the two systems.
Although this video was made as a joke, it really outlines where I think the editor needs more help.
Basically the interface lag from the galaxy editor, and the horridness of the Custom Script. Syntax highlighting is great but I'd like some IntelliSense functionality. And for it not to lag when you copy and paste into it.
Every single thing in the data editor needs a short description of what it is when you hover over it. A lot of elements already have this but there are a TON of data fields without this. Look at the mover field for instance. It is insanely difficult to make the mover you want because people have no idea what many of the fields do. Giving everything a short description will make it much easier for newer users to get started and make it easier for advanced users to create the complex data functions they want without having to spend 30 minutes doing trial and error on an obscure function.
The key feature would be making a unlimited number of layers. You would get a list of layers with tabs that can toogle is layer visible on map. For each layer you can set the unit group. For example:
Land pathing - unit group: all land units.
Build pathing - unit group: all building.
Air pathing - unit group: all flying.
Water pathing - unit group: groupwater1 or Fregate, Raft, Battleship or anything you would like.
Every single thing in the data editor needs a short description of what it is when you hover over it. A lot of elements already have this but there are a TON of data fields without this. Look at the mover field for instance. It is insanely difficult to make the mover you want because people have no idea what many of the fields do. Giving everything a short description will make it much easier for newer users to get started and make it easier for advanced users to create the complex data functions they want without having to spend 30 minutes doing trial and error on an obscure function.
A lot of them have hilariously non-descript tooltips, too. For example, if you're editing a Mover and you mouse over the Polarity field under Motion Overlay, it gives you the wonderful description "The Polarity of the Mover." Thanks, I'd have never figured that one out on my own.
I think that Blizzard should make the Campaign a standard dependency for every map. It's annoying to have to add it everytime I want to do a map with Campaign models.
If this feature does not already exist or has not been suggested,
We need some sort of "Flatten Texture Map" feature. I am sure many of us are aware that when you terrain, you paint in new layers of textures to blend them together and make something great. However even when covered over, the map keeps storing the lower layers that are no longer visible. This can skyrocket the file size if you are not careful to go back and remove old layers which can be very difficult to be sure you got them. Anyways what I am suggesting is a button you press, that will remove all non-visible layers. People are already struggling with the file size limit without adding unnecessary and unused aspects.
This is more for the data editor, as I find the trigger editor to be.. ok..
For improvements, I don't really know where to start.
I've been working with the WC3 editor for years, and switching to
this editor is a nightmare. The first thing I've noticed was the sheer
complexity of the data editor. I tried my hardest to get it like the
WC3 editor, but it still has a few differences that I cannot avoid.
ctrl+shift+O & ctrl+T & shift+alt+E has really made it as close
as possible. There are 3 main categories of units, Neutral, Campaign, and Melee,
but honestly, it was a small luxury to have the Custom category for the
creation of new units.
How about making creating custom units a bit easier?
I've used the duplicate, and copy + paste, but they both
appear as a black ball. Why is that? Also why can't we change the
model of the unit inside the unit category? Is it really that hard
to implement a simple way to choose a model for a unit?
In my opinion there should be a simple version of the editor, and a normal version.
The simple version would have everything the normal person would need
inside the data editor for unit, such as the damage, the model, the size
and the color. In the normal version, there would be everything that this one
has, and you can enable advanced options which is pretty neat.. I guess.
About the advanced options though. Some options are hardly advanced.
The "Editor - Description" field is mandatory for any map editor out there.
It's as simple as that. A description of what you're training/building.
Newer users who wish to edit that one field are forced to choose advanced
options and get confused of what the point of each field is.
Honestly, the data editor is not user friendly at all. I'm very discouraged
of making maps because there's so many categories and it's too advanced!
I wouldn't mind having this kind of power be optional, but in order for someone
to get the basics of the data editor, they have to take 3 hours to study it.
Also I wouldn't mind seeing the ability to make a custom brush size. 16
just seems a bit small.
Please.. just simplify the editor with the option of having the normal editor.
The 1/16 trigger execution interval to be changed to 1/100 at least. I mean, Warcraft 3 supported this just fine. And it's really a terrible ingame limit. Plus it adds an average of 31.2 MS delay to events, maximum of 62.5 MS. This could matter a lot.
Get Local Player. I understand they're worried legions of people who have no clue what they're doing will crash the game and it'll interfere with Blizzard's server model or whatever, but it's really incredibly useful sometimes.
Set Unit Data seems to appear in every category of GUI actions, even if you search for random stuff it appears. I don't think it's that universal of a function that it relates to every possible thing.
The UI/GUI dialog system is kind of confusing, what with the random differing coordinates and all. Fix!
We also need a better way of dynamically calling functions than wrapping them in a trigger and executing that trigger. I don't want every dynamic function to have to have to accept two booleans and return one, as well as being passed in the form of a string.
The 2^21 byte limit really, really needs to be fixed.
Banks should get lots more space. It's only slightly better than a savecode at the moment.
Either a way to Force UI Events, or a way to get the mouse position of all players at all times. Even if you have to use a native to enable this functionality first, it's way too useful to just leave out.
Edit: Another thing, the search function in the "view script" window seems to be broken.
The Galaxy Editor is great but it's not perfect! This is why I am making an official thread for you to express yourself. Just tell what you'd like to change in the editor!
Rules
Reward
Since it's funnier to do things with a reward in mind, here is all what we can do.
History
If you want to know the reasons behind this, please read :)
I have been talking to RodOfNOD on the IRC and he was whining because there was no water pathing in Starcraft 2. After thinking about it I realized that it can be obvious to him that Water is needed in the editor because it was in Warcraft 3, however it may not have been to Blizzard. I mean, they don't need it in the campaign, and it is not something you will say if you were asked about the missing functionnalities. So Blizzard may not know that it would be a cool feature!
Alright, I know this example is very bad to prove my point, as water is still obvious. Now what about those little things that could make our life so much easier
Galaxy Developers are not using much their editor and have a biased vision of it. As for the Campaign developers, they use only a small part of it and don't want to make complete different games with it. This is why we are the best ones able to talk about it and ask things.
Dear blizz-o-max, please to be having a more exact 'fill’ brush for the terrain editor. The borders it leaves around natural cliffs can be very tedious to clean up especially when brushes can reach up to the level above or bellow where the point is applied.
Give us some kind of hashing function for all objects. Even World Editor had this (in the form of a bug...but when they patched it out they were nice enough to provide a replacement API), and lots of maps/systems relied on it. So why should sc2 mappers miss out? At this point I don't even care if it generates one-to-one hashcodes (though it would be really nice if it did).
Player leaves game trigger event is CURRENTLY not triggered on disconnects and quits. Right now it only factors in defeats/ties/victories, not disconnects/quits. (note: we can detect when a player hits the quit button; but still this leaves disconnect up for grabs)
Items that are NOT checked to drop on death, still do drop on death regardless.
Screen buttons shown for certain players only? Right now it's automatically displayed for everyone.
Placing a terrain-object will modify nearby cliffs/terrain. However, when you ctrl+z, it doesn't fix the terrain that was auto-changed. You have to reload or redraw the cliffs.
An auto-fill feature for all numeric fields (as in WC3's NewGen Editor)
Ex: You can ctrl click on a field, such as veterancy levels. You tell it you want 25 levels, starting at 200 xp, and increasing by 100 xp per level, and it creates all 25 levels for you
Also, more terrain levels. Just because we can work without them, why should we have to?
Missing triggers:
- Revive unit
- Change terrain cliff height
Features:
- Banks stored on server to allow better data protection
- Increase map storage size
WYSYWIG text editing.
Filtering by object source when selecting objects for a field entry. (I.e. when you need to select an effect in the field, and the full list of 50000 effects comes up, you should be able to filter out anything not from my map. Right now I add an editor prefix that starts with a "[" character to make all my stuff at the top of the list.)
Fix the damn bug where sometimes when you dupe an object, the duplicate's identifier cannot be edited (introduced in patch 16, IIRC.)
Make duping more consistent. Behavior shouldn't be different when you right click->Duplicate versus copy & paste.
When you first start the editor there's a web link to a Blizzard editor wiki, which is just a 404 right now.
I guess these are all mostly bug fixes and not feature requests. I've found very few things that I flat out can't do with the editor, but there's a lot of things that could (should) be made MUCH more convenient.
edit: Add a "Custom Map" object family so that sorting mechanism is useful. Add a bunch more Behavior Categories, as 3 is NOT enough. Add more attributes or let us add them ourselves.
AND LET US OVERRIDE THE GOD DAMN BASE UI, this is clearly the #1 thing missing from the editor right now.
These are all based on the last beta version as I don't have retail yet and can't see if they've already been fixed. I'll edit this post when my copy arrives.
• Stack tracing-- When a custom script's function call in a trigger has an error, it would help if the trigger debugger would report the function that caused the error along with the trigger. The line number of trigger and function errors would be helpful too.
• Similarly, when compiling a script generates a syntax error, the script test should give an indication of which trigger line 280 is in.
• Script test should show all syntax errors and not stop at the first.
Mac editor GUI:
• column resizes need to stay resized when changing which object is selected.
• Testing a map needs to hide the editor application instead of minimizing it, which forces each window to be manually clicked to restore it without preserving the window order.
• Command-W is used to create new elements instead of closing windows. What's the new window closing command?
Maybe mac only issues:
• typing in custom scripts is very slow. There's a time delay after each character is typed before it appears on the screen that is nowhere else in the editor.
• Selecting Window: Previewer (or any of those menu items in the same group) when the Previewer is already open does not bring it to the foreground
I would really like to see the copy+paste of lines of code that contain an array of a record with an array inside it bug to be fixed. This makes the index of the second array disappear when it is copied (In the trigger editor obviously). Example;
Set variable SomeInteger = RecordArray[Parameter1].SomeArray[Parameter2]
When this line is copied the Parameter2 turns into Unkown Index. Which is really annoying as I like many other people (probably) structure most of my arrays within records because it makes the code a bit cleaner when viewing it through the trigger editor.
Also I'd agree with YiffMaster on his "Stack tracing" point, this is particularly hellish when developing a library as you never get a proper trace on where the bug is.
Finally a way to dump all your variables and values into the trigger debugging window (or optionally a new tab in the same window that contains a list of your variables and values).
When creating/moving UI elements like dialogs, portraits, etc. the coordinates you specify are not actual screen coordinates in pixels, they're translated into some other coordinate space. But the "Mouse Clicked UI Position X/Y" functions return the mouse position in actual pixels - which is completely useless information. There are no functions to translate coordinates between the two systems.
I have a headache at the moment. And the GE is making it worse. @#@@%%@#!$@%@$@%@#!%@%. Hope that explains my feelings..
But.
Custom UI needs to addressed. Dependencies Mods should be able to integrate into the map. Without Xml editing to import the data. etc etc etc
Although this video was made as a joke, it really outlines where I think the editor needs more help.
Basically the interface lag from the galaxy editor, and the horridness of the Custom Script. Syntax highlighting is great but I'd like some IntelliSense functionality. And for it not to lag when you copy and paste into it.
Every single thing in the data editor needs a short description of what it is when you hover over it. A lot of elements already have this but there are a TON of data fields without this. Look at the mover field for instance. It is insanely difficult to make the mover you want because people have no idea what many of the fields do. Giving everything a short description will make it much easier for newer users to get started and make it easier for advanced users to create the complex data functions they want without having to spend 30 minutes doing trial and error on an obscure function.
I wold like a sugest an better pathing editor.
The key feature would be making a unlimited number of layers. You would get a list of layers with tabs that can toogle is layer visible on map. For each layer you can set the unit group. For example:
A lot of them have hilariously non-descript tooltips, too. For example, if you're editing a Mover and you mouse over the Polarity field under Motion Overlay, it gives you the wonderful description "The Polarity of the Mover." Thanks, I'd have never figured that one out on my own.
@vjeux: Go
I think that Blizzard should make the Campaign a standard dependency for every map. It's annoying to have to add it everytime I want to do a map with Campaign models.
If this feature does not already exist or has not been suggested,
We need some sort of "Flatten Texture Map" feature. I am sure many of us are aware that when you terrain, you paint in new layers of textures to blend them together and make something great. However even when covered over, the map keeps storing the lower layers that are no longer visible. This can skyrocket the file size if you are not careful to go back and remove old layers which can be very difficult to be sure you got them. Anyways what I am suggesting is a button you press, that will remove all non-visible layers. People are already struggling with the file size limit without adding unnecessary and unused aspects.
Export/Import tool for data editor:
1. Selected objects/object groups
2. All custom/edited objects
Open Multiple windows of the editor:
1. Terrain
2. Data
3. Triggers
Floating panels for palettes:
1. Unit pallet
2. Doodads
3. Texture
4. etc.
That's it for now, will update as I find more.
Whatever you do, wholeheartedly, moment by heartfelt moment, becomes a tool for the expression of your very soul.
This is more for the data editor, as I find the trigger editor to be.. ok..
For improvements, I don't really know where to start. I've been working with the WC3 editor for years, and switching to this editor is a nightmare. The first thing I've noticed was the sheer complexity of the data editor. I tried my hardest to get it like the WC3 editor, but it still has a few differences that I cannot avoid. ctrl+shift+O & ctrl+T & shift+alt+E has really made it as close as possible. There are 3 main categories of units, Neutral, Campaign, and Melee, but honestly, it was a small luxury to have the Custom category for the creation of new units.
How about making creating custom units a bit easier? I've used the duplicate, and copy + paste, but they both appear as a black ball. Why is that? Also why can't we change the model of the unit inside the unit category? Is it really that hard to implement a simple way to choose a model for a unit?
In my opinion there should be a simple version of the editor, and a normal version. The simple version would have everything the normal person would need inside the data editor for unit, such as the damage, the model, the size and the color. In the normal version, there would be everything that this one has, and you can enable advanced options which is pretty neat.. I guess.
About the advanced options though. Some options are hardly advanced. The "Editor - Description" field is mandatory for any map editor out there. It's as simple as that. A description of what you're training/building. Newer users who wish to edit that one field are forced to choose advanced options and get confused of what the point of each field is.
Honestly, the data editor is not user friendly at all. I'm very discouraged of making maps because there's so many categories and it's too advanced! I wouldn't mind having this kind of power be optional, but in order for someone to get the basics of the data editor, they have to take 3 hours to study it.
Also I wouldn't mind seeing the ability to make a custom brush size. 16 just seems a bit small.
Please.. just simplify the editor with the option of having the normal editor.
Hashing, of course.
The 1/16 trigger execution interval to be changed to 1/100 at least. I mean, Warcraft 3 supported this just fine. And it's really a terrible ingame limit. Plus it adds an average of 31.2 MS delay to events, maximum of 62.5 MS. This could matter a lot.
Get Local Player. I understand they're worried legions of people who have no clue what they're doing will crash the game and it'll interfere with Blizzard's server model or whatever, but it's really incredibly useful sometimes.
Set Unit Data seems to appear in every category of GUI actions, even if you search for random stuff it appears. I don't think it's that universal of a function that it relates to every possible thing.
The UI/GUI dialog system is kind of confusing, what with the random differing coordinates and all. Fix!
We also need a better way of dynamically calling functions than wrapping them in a trigger and executing that trigger. I don't want every dynamic function to have to have to accept two booleans and return one, as well as being passed in the form of a string.
The 2^21 byte limit really, really needs to be fixed.
Banks should get lots more space. It's only slightly better than a savecode at the moment.
Either a way to Force UI Events, or a way to get the mouse position of all players at all times. Even if you have to use a native to enable this functionality first, it's way too useful to just leave out.
Edit: Another thing, the search function in the "view script" window seems to be broken.