World Editor suggestions by avid campaign maker


Warcraft III terrain system is terrible. Due to its use of tile sheets it cannot even use basic mipmapping with the terrain, resulting in aliasing if a decent tile resolution is used.

Oh and the visible seams has nothing to do with the terrain engine. That is just a Blizzard art bug since the tiles were not constructed with proper wrapping boarders. It is completely possible for content authors to create seamless Warcraft III tiles with the current Warcraft III terrain system. Doing this makes it look a whole lot better and less dated, despite still not using mipmapping.


Come on guys, we are not remaking the entire terrain system because it’s dated. I don’t really want to be that guy, but if you really want to make elaborate maps, then port the Reforged textures into Starcraft 2.

They are overhauling the WC3 terrain, which means that they’re replacing all textures with new ones and updating the system. This does not mean that they scrapping the system all together. People keep talking about Reforged as if they are making a new game entirely, they’re not. They’re essentially going back to an old game and releasing a major update and new content.


No MileRisma, they have announced that they are remaking the entire terrain tiling system - THIS IS GOOD and very much needed


I need to find this announcement, I guess. But in the meantime, I don’t really know why you would want to do this. They say that the old maps and campaign can be ported, but if you change the entire system and remove tiles, I’m no expert, but wouldn’t that mess up the ports?

Everything I’ve found say that the editor is simply gaining a major update and new or revised mechanics, nothing about a remake.


Likely they are adding to it. Equally well they could simply be keeping the old system and referring to changing how it works internally (eg dynamically creating uber textures for terrain, or using 3D textures to map tiles instead of a tile map texture) so it supports features like mipmapping.


Not necessarily. I believe there will be a lot new features in the Reforged Editor. They don’t need to overwrite the old systems, just work on top of it. Like this whole thing with the new graphics is really just stickers on top of the old graphics, so inside it works just the same, but Reforged adds a new layer on top of it. This way most old maps will work with Reforged Editor. Though, Reforged maps might not work on Classic WC3 then, but I don’t think that’s a problem - the purists don’t want anything new anyway.


That’s not what they’re doing under the hood (gameplay-wise it’s still tiles), and graphically I doubt they’re planning to redo all the map terrain, so they’ll still need to look good with tiles. I’m just saying, unless they want SC2-style workload issues they’ll want to preserve the old fully-tiled editing method as an option.

That’s doable with modern cards and modern filtering if you know shader code well.


you come off as super defensive in your response, as if his suggestions insulted you or something…

Do you secretly work at Blizzard on the world editor and were offended by his suggestions or something? Cause some of the stuff he suggested are legit.


I’d like to be able to choose (in spell editor) whether floating text appears or not. I once tried to make an accuracy system for the game, and every time an enemy missed it would spam “MISS” over their head. I’d like to be able to choose whether or not that appears.


Yes, one can just use 3D textures like HiveWE does for terrain. Too bad that, along with common usage of programmable shaders, did not exist back in 2004 odd when Warcraft III was originally made. Warcraft III still uses the fixed function graphics pipeline (no programmable shaders) and will likely keep doing so until reforged moves it to a more modern shader orientated pipeline.

Tried importing a custom MiscData.txt with fade time set to be as good as instant or colour to fully transparent?


I think you’re meaning texture arrays? 3D textures will interpolate between all 3 axes. You wouldn’t want to interpolate between tile images that are next to eachother in the array.

The tricky bit is getting anisotropic filtering working correctly. You can do it with virtual texturing. The only way I can think of how to do it perfectly is to sometimes combine multiple anisotropic fetches, one for a macro-scale multi-tile texture (say the whole map at low resolution, say 4 texels per tile) with a fetch across a virtual full-resolution world texture indirectly populated with the texture tiles. Not sure if that’s actually possible (will find out early next year I think).


Add trigger event: unit has a buff. seriously custom spell making would get a catapult lunch with that single addon.


To be honest it was quite awhile ago that I tried that accuracy system. I doubt I tried that idea though, it would probably work, but it’d be nice to just have a tickbox or something in the object editor for such things. :slight_smile:


I’d like to see Quests not be global, so each player can have his/her own quest. Basically take the current quest triggers, and add a “player” parameter.


I’m honestly surprised that doesn’t already exist. Player Quests can be really useful!


ya, i was expecting them to be like in SC2, per player, but they’re not. They are global :frowning:


Probably. In any case it is a feature of modern cards.

What you describe is exactly why SC2 used repeating textures for terrain that were blended together. That way anistropic filtering and such had no issues as the texel data extended well beyond the smallest terrain units.


Paint pathing terrain blocked unbuild able… can already do this loool.


I managed to somehow fix the overriding difficulty for custom campaigns. What you have to do is to initially create a map with a dialog trigger asking players to select a difficulty ranging from easy to hard. Then store the selected difficulty in a game cache variable and advance the campaign level. Afterwards, DURING THE MAP INICIALIZATION of your custom campaign map, that is, under the map inicialization event, you must create a trigger that restores the Difficulty stored in the game cache previously created. Then, imediately after that, create a “If/then do/else do” trigger with this custom script action: “call SetGameDifficulty(Your_Difficulty)”, where Your_Difficulty must be replaced by MAP_DIFFICULTY_EASY for easy difficulty, MAP_DIFFICULTY_NORMAL for normal difficulty, and MAP_DIFFICULTY_HARD for hard difficulty. Do that for every other map, and everytime the map is being initialized, it will load your selected difficulty.


Yeah the big things I would like to have changed in World Editor are the missing settings on different objects, where for example you cannot turn buildings around without making them a unit for a while, or just plain annoying things like If i would want to make a doodad Guard Tower I could not set the model Scout/Guard/Cannon Tower to Guard Tower with required animation names / version specific checkmarks such models use in the Units section, and I have to resort to making a trigger to play the guard tower animation every few seconds so it wouldn’t flicker constantly

In short don’t lock certain editable things/variables to only certain object types. All variables or what ever they’re called, should be universal, even if just set to zero