• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

World Editor Limitations Removal

Level 6
Joined
Oct 31, 2011
Messages
103
Guys, I’d like to bring up a few points so we can discuss the limitations of the World Editor.


I’m planning to post this on the Blizzard forums, so I’m counting on you to add more ideas and improvements that need to be made.
They promised a new World Editor since the announcement of Reforged, but so far they haven’t even come close to delivering it. At the very least, they could have already removed some of the current editor’s limitations.
I’ve listed a few points, and I’d like you to add more suggestions. Let’s bring everything together to push for real change.




World Editor Limitations Removal — Lista Atualizada


1. Inventory ability should allow more than 6 slots. It should display 9 or more items in the interface, with additional items accessible through an extra button, like a bag. Native support is required, not just scripts. (This is very useful for custom maps.)
2. The number of Tile Sets should have no limit. We should be able to use all available tiles.
3. Render more than 2 cliff types correctly. Maps with 4 cliff types currently render 2 types as duplicates of others.
4. In the object editor, abilities in the Damage field should support damage formulas and allow editing damage type beyond just “spell damage.”
5. When adding an AI-controlled player, it shouldn’t require occupying a player slot or color. Create AI with no color and free customization.
6. Fix AI crashes on larger maps (reported on Hive).
7. Maps larger than 60 MB cause desyncs and player disconnects when downloading in the lobby — needs fixing.
8. Map size should be larger than 480x480 or support seamless multiplayer map transitions with full editor support.
9. Improve loading speed for large maps with many triggers and objects. Accessing player properties should also be faster.
10. Increase the number of ability and command buttons available.
11. Increase the number of skills a hero can learn (currently limited to 5).
12. Abilities like Life Steal, Critical Strike, and Evasion should also work with abilities, not just basic attacks.
13. Maximum unit movement speed, currently capped at 522, should be doubled or quadrupled.
14. Add natives for detecting when a unit is healed or damaged by specific types (fire, frost, shadow, etc.).
15. Fix water pathing issue — shallow water terrain lowering leaves aquatic pathing active, causing units to float on land.
16. Allow PNG or JPEG images for loading screens, minimaps, and preview screens. Bring back map preview in the lobby.
17. Improve the World Editor UI: fix small fonts, improve lists, allow custom folders for spells, units, and assets; allow deleting models/textures in folders.
18. Add the option to create additional currencies besides gold and lumber in the object editor, allowing mapmakers to set custom currencies for purchasing items and units.
19. Add alternative resource costs for spells (rage, energy, runes, etc., like WoW).
20. Add multiplayer cinematic triggers so only specific players see cutscenes.
21. Allow applying buffs directly to units via triggers without requiring spell casting.
22. Support simultaneous use of JASS and Lua scripting in the same map.
23. Increase the item ability limit (from 4 to 30 or remove the limit).
24. Fix Orb effects so they work with auto-attacks, not just manual commands.
25. Add option to enable/disable auto-attacks per unit or globally (useful for espionage maps).
26. Add an option for item name suffixes in the editor for internal organization without changing the player-visible name.
27. Add a buff field similar to the unit point value field for easier trigger identification of buff types.
28. Add the option to disable cheats in single-player mode within custom maps.
29. Increase the player limit from 24 to 32 or 48.
30. Add more editable fields in the Object Editor via triggers (e.g., gold and lumber cost for items).
31. Add skill charges so skills enter cooldown only after charges are depleted.
32. Add a native map protection system allowing password locking to prevent unauthorized access.
33. Allow mapmakers deeper access and enhancements in object and trigger editors.
34. Provide an export mode for “playable-only” maps that can’t be reopened and auto-optimize by removing unused assets and compressing scripts.
35. Ability to change keybinds for abilities via triggers.
36. Ability to change spell icons per unit basis without hacks.
37. Increase JASS line-limit from 256 to 512 or 1024 for longer strings and tooltips.
38. Implement Template Strings (e.g., sprintf or String.format) for dynamic text in tooltips and quests.
39. Improve compile times for maps with many triggers and systems.
40. Allow adding/removing bonuses like Strength, Agility, and Intelligence, as well as base values, directly through code without requiring abilities.
41. When changing ability values via triggers, new values should apply immediately without needing to re-level abilities.
42. Add triggers to enable/disable attack 1 or attack 2.
43. Support clean registering/unregistering of unit event listeners to prevent memory leaks.
44. Add multiplayer-safe GetZ functions for units and effects, prioritizing safety over precision.
45. Add IsUnitDestinationValid(unit, x, y) to check if a unit can path to a location, considering terrain and collisions.
46. Add GetUnitValidPathable(unit, x, y) returning the nearest reachable point to target coords.
47. Allow specifying string keys from war3map.wts and StringList FDFs in all string fields to reduce custom strings needed for translation/localization.
48. Fix bug where upgrade effect fields (like rmvx) are wrongly added to war3map.wts.
49. Make entries in war3mapMisc.txt translatable instead of requiring per-language file copies.
50. Fix summon unit event for Pocket Factory (currently does not work).
51. Fix GetTriggerUnit for EVENT_PLAYER_HERO_REVIVE_START (does not return the altar unit).
52. Fix EVENT_PLAYER_HERO_REVIVE_CANCEL event, which does not trigger when clicking the hero icon in the revive queue.
53. Black Arrow ability needs a field to specify max creep level (currently hardcoded to 5).
54. Staffall buff effect (the star effect) is always the same and cannot be customized — needs option for variation.
55. Fix game crashes when dependencies have equivalent IDs.
56. Fix crashes when the minimum number is larger than the maximum number in Dark Portal settings.



What do you guys think? I’m looking for more suggestions.
I want to start a strong movement of mapmakers to, at the very least, get a response from Blizzard.
 
Last edited:
Level 6
Joined
Oct 31, 2011
Messages
103
I'll wait at least 3 days to see if anyone wants to contribute and then I'll take this post to the battle.net forum.
 
Level 31
Joined
Aug 29, 2012
Messages
1,415
My biggest request would be the ability to test campaign maps from the editor itself - Still today, when you use the test map feature, any custom asset created in the campaign manager is ignored in the test, so you have to launch the game and test the campaign from there. The amount of time spent to test even minor stuff is aggravating
 
1. The Inventory ability should allow more than 6 slots. It should display 9 in the interface, with additional items accessible through an extra button, like a bag. I know there are scripts that simulate this, but it should be a native feature.


2. The number of Tile Sets should have no limit. We should be able to use all available tiles.
I don't think they're going to do this. Isn't a better form a protest to just make our own mods of the game where these things work, which will incentivise everyone to stop using the official one?

I will bet you $1000 that neither of these first two bullet points are implemented into the game, unless they make "a new game release" of it that isn't compatible with previous maps. If these are added in a free patch to the existing Reforged game, while that game still retains backwards compatibility with most existing maps, hit me up and I'll send you the Amazon gift card of this.

I don't care if you're a Blizzard employee and can literally go do it just for free cash. I know you're not, or that if you are, you're powerless to do these things, so it doesn't matter.
 
Level 6
Joined
Oct 31, 2011
Messages
103
My biggest request would be the ability to test campaign maps from the editor itself - Still today, when you use the test map feature, any custom asset created in the campaign manager is ignored in the test, so you have to launch the game and test the campaign from there. The amount of time spent to test even minor stuff is aggravating
Great request to agree to. I'll add it.
 
Level 6
Joined
Oct 31, 2011
Messages
103
I don't think they're going to do this. Isn't a better form a protest to just make our own mods of the game where these things work, which will incentivise everyone to stop using the official one?

I will bet you $1000 that neither of these first two bullet points are implemented into the game, unless they make "a new game release" of it that isn't compatible with previous maps. If these are added in a free patch to the existing Reforged game, while that game still retains backwards compatibility with most existing maps, hit me up and I'll send you the Amazon gift card of this.

I don't care if you're a Blizzard employee and can literally go do it just for free cash. I know you're not, or that if you are, you're powerless to do these things, so it doesn't matter.
Hello Retera,
I’m well aware of your work and how important you are to the community — contributing even more than the game’s own developer in many cases.

I’m writing this list in an attempt to draw the attention of some well-intentioned Blizzard employee. I also want to highlight how beneficial it would be for Blizzard itself to address these limitations and update the World Editor, encouraging map creators and sparking the interest of new players to purchase the game.

With that, future expansions could gain even more traction in sales — everyone wins: Blizzard profits, and players enjoy a more active and engaged community.

Thank you for your comment!
 
Level 28
Joined
Feb 2, 2006
Messages
1,648
By now I have created my own wishlist: GitHub - tdauth/warcraft-iii-wishlist: Wishlist for the game Warcraft III: Reforged.

For the editor I would like to specify string keys from war3map.wts and StringList FDFs in all string fields which would reduce the number of custom strings required to be translated.

Items can only have 4 abilities which should be removed.

There is a bug that upgrade effect fields are added to war3map.wts like "rmvx".

Entries in war3mapMisc.txt are not translatable and the file has to copied per language.

It is annoying that JassHelper adds different number of underscores to identifiers of libraries etc. which constantly changes the whole generated map script.
 
I believe this is stuff that will never happen, but what I'd wish for are:
  • Increase jass line-limit from 256 to 512 or 1024. When writing strings for tooltips, quests, custom GUI etc. this would be useful!
  • Template Strings, bastically C sprintf, or java String.format. If you want to print damage-values in tooltips of abilities with damage-scalings (% of Str, % of Danage, or a custom stat), you currently need to string-concatinate.
  • Faster compile on maps with many triggers and systems, plz!
  • Make it possible to add/remove bonuses and base-values with code without going through abilities
  • When adjusting values of many abilities with triggers (for example updating bonus damage or damage of a spell), you need to "update" them by adding and removing a level of ability. It feels like it should happen in the underlying code when the value is changed rather than doing it "manually" in jass in order for it to actually take effect.
  • Trigger for enabling/disabling attack 1,2
  • Removing event, making it possible to register specific-unit-events as well as unregister them (of course leakless)!
  • Multiplayer-safe GetZ for SpecialEffects, Units, for cases where multiplayer-safety is more important than exact values.
  • IsUnitDestinationValid(unit u, real x, real y) - Function for checking if a unit is possible to move to specific x,y while consider its collision size and all collision reasons and its movement type etc.
  • GetUnitValidPathable(unit u, real x, real y) - 2 functions (or 1 with loc) to get closest valid pathable point.

Probably also check the old feedback post. Not much have happened since 1.31 imo.
 
Level 6
Joined
Oct 31, 2011
Messages
103
By now I have created my own wishlist: GitHub - tdauth/warcraft-iii-wishlist: Wishlist for the game Warcraft III: Reforged.

For the editor I would like to specify string keys from war3map.wts and StringList FDFs in all string fields which would reduce the number of custom strings required to be translated.

Items can only have 4 abilities which should be removed.

There is a bug that upgrade effect fields are added to war3map.wts like "rmvx".

Entries in war3mapMisc.txt are not translatable and the file has to copied per language.

It is annoying that JassHelper adds different number of underscores to identifiers of libraries etc. which constantly changes the whole generated map script.
Thanks for your contribution. Some items are already on the list, but others are very interesting, I will add them to the list. Your wish list is very good, but this list is already very long and I will start prioritizing what is most important now for the World Editor.
 
Level 28
Joined
Feb 2, 2006
Messages
1,648
I forgot one of the most annoying things about the World Editor.
For big maps with many units and generated object variables like gg_unit_xxxx it takes forever to select a unit in the trigger editor.
Besides, choosing a unit type is equally slow with around 1000 - 2000 custom unit types.
Sometimes the icons are not shown anymore.

The overall performance for big maps could be much better.

Saving and loading big maps takes a long time as well.

I would have loved to see fully readable JSON/XML formats when saving the map which is better for Git and manual changes without Editor and then the option to store everything in binary format for releases.


A paged button system would be great if you add more than 12 things like sold items/units etc. to one unit. There could appear page buttons to change the current page and allow more slots to be used per unit. The page could be per player in multiplayer and not for all players sync.

Some important bug fixes:
  • Render more than 2 cliff types. My map has 4 cliff types but 2 of them are rendered like the other 2.
  • Fix the summon unit event for Pocket Factory (does not work).
  • Fix GetTriggerUnit for EVENT_PLAYER_HERO_REVIVE_START which does not return the altar.
  • Fix the event EVENT_PLAYER_HERO_REVIVE_CANCEL which is not triggered when you click on the hero's icon in the queue.
  • Black Arrow needs a field specifying the maximum creep level which is hardcoded 5.
  • Fix AI crashes for larger maps (was posted somewhere on Hive).
  • Staffall buff effect (the star effect) is always the same and cannot be customized.
  • Fix game crashes if the dependency equivalent is the same ID.
  • Fix game crashes if min number is bigger than max number for Dark Portal.
 
Last edited:
Level 6
Joined
Oct 31, 2011
Messages
103
I forgot one of the most annoying things about the World Editor.
For big maps with many units and generated object variables like gg_unit_xxxx it takes forever to select a unit in the trigger editor.
Besides, choosing a unit type is equally slow with around 1000 - 2000 custom unit types.
Sometimes the icons are not shown anymore.

The overall performance for big maps could be much better.

Saving and loading big maps takes a long time as well.

I would have loved to see fully readable JSON/XML formats when saving the map which is better for Git and manual changes without Editor and then the option to store everything in binary format for releases.


A paged button system would be great if you add more than 12 things like sold items/units etc. to one unit. There could appear page buttons to change the current page and allow more slots to be used per unit. The page could be per player in multiplayer and not for all players sync.

Some important bug fixes:
  • Render more than 2 cliff types. My map has 4 cliff types but 2 of them are rendered like the other 2.
  • Fix the summon unit event for Pocket Factory (does not work).
  • Fix GetTriggerUnit for EVENT_PLAYER_HERO_REVIVE_START which does not return the altar.
  • Fix the event EVENT_PLAYER_HERO_REVIVE_CANCEL which is not triggered when you click on the hero's icon in the queue.
  • Black Arrow needs a field specifying the maximum creep level which is hardcoded 5.
  • Fix AI crashes for larger maps (was posted somewhere on Hive).
  • Staffall buff effect (the star effect) is always the same and cannot be customized.
  • Fix game crashes if the dependency equivalent is the same ID.
  • Fix game crashes if min number is bigger than max number for Dark Portal.
Thanks for your contribution. I will add your suggestions here.
 
Level 9
Joined
Jul 7, 2011
Messages
285
  • Bug "Destructible - A destructible within Region<gen> dies" Make this event recognize the death of a Destructible added via Trigger and not just a Destructible added by the Terrain Editor.
  • Add a function that detects the unit that destroyed a Destructible. Same as the killer unit in the unit dies event.
  • Buffs have charge options. Useful for stacking skills.
  • Fix bug where Triggers don't work to change item ability values.
  • Improve handling of Terrain Type functions in triggers. Have options for regions, points and coordinates instead of just shape. Be able to access terrain type data in the Hashtable. Last modified terrain.
  • Local variable and Sub-Trigger. Saves performance and time. Thanks Clicli for the inspiration.
  • In-game Shift Queue function available in the Trigger Editor.
  • Being able to add new behaviors to skills via Trigger. No dummies.
  • Official knockback system that can be used to uninterrupt channeled abilities and orders. Like Dota 2's Force Staff.
  • Event Response should be local and not global. This would save time having to create variables to avoid conflict with other triggers.
  • Function to prevent non-hero units from being deleted and dropping items. Could use Resurrect trigger. Like the Courier from Dota 2.
  • A boolean that checks if the skill is in Autocast.
  • Improve handling of Order Triggers. No longer need baseorder to access skill. Access skills directly as equal value Ability comparison.
  • Improved invisibility handling. With layer, condition and type systems. Being able to create an undetectable invisibility that does not remove when attacking and using abilities. Like the Ultimate of the hero Slark from Dota 2.
  • New "buff" events. Unit received a buff. Unit buff expired. Unit buff was purged...
If you want inspiration to add more items to the list as suggestions, check out these links: CliCli Youtube Channel
 
Last edited:
Out of curiosity, does anyone have an estimate for how many tens or hundreds of thousands of dollars it would cost for me to convince someone to implement every suggestion on your list into the Warsmash rewrite project?

I'm guessing it's a pseudo infinite sum of money for me, and ergo impossible. To me, that says something about the level of trolling here to be asking a large corporation for an indefinite sum of money as a large handout. But admittedly because of missing features in my rewrite, the cost might be higher because of scaffoldings needed to be added as basics that WC3 wouldn't need. If someone has a number, a financial quote for the amount of that, let me know so I can decide if I'm interested. But there's probably no one who would want to do it here on Hive.

I was reviewing some of the bullet points on Battle net and the "bigger than 480x480" maps seems particularly egregious given that my rewrite already performs worse than the original game on 480x480 maps. Did you guys see my funny YouTube video from this past weekend where I tried to load the entire World of Warcraft Eastern Kingdoms map on my rewrite, and was only able to get it marginally functional by rewriting how terrain works entirely so that it loads and unloads areas as we pan the camera around the map? The result is a 8192x8192 map instead of 480x480, but the performance was ripe garbage on my outdated 10th generation Intel integrated graphics with no dedicated GPU
 
Top