The Warcraft III engine can't display tiles without seams. Even with a perfect texture, seams will appear between tiles because of how the engine works.
Incorrect. As long as you use 2 pixel wrapped frames for a 64x64 tile they will be seamless.
"The default terrain wrap in the game is just not aligned properly [...], it is about a pixel or two stretched into the tile." -
Talavaj.
Also incorrect.
The wrap is aligned exactly in the middle of the boarder pixels of a 32x32 tile. Hence if one made a 1 pixel wrapped frame on a 32x32 tile it will be seamless. However tile resolution was bumped up to 64x64 some stage during development after the wrap was hard coded. Hence the wrapping is exactly in the middle of the 2 edge pixels. Hence one needs a 2 pixel wide wrapping frame for the textures to be seamless.
One does not need to worry about bleed over from neighbouring tiles as mipmaps are not used. This also puts a maximum practical resolution for tiles since too high resolution causing aliasing artefacts (what mipmaps prevent).
This issue is even more apparent when trying to make connections between different tiles of the same tileset.
I admit I did not test this. I would imagine the blending allows as good as all such discontinuities to be masked however, as long as the area that is mismatched is fully transparent. Blend tiles need their own blend tile wrapping frames which need to be wrap compatible with the full tile wrapping frames.
Knowing that Warcraft III engine wrap into the tile by 1 pixel, one can improve a tileset by simply reducing the size of each tile by 1 pixel for each side and filling the missing space by a border.
One needs a 2 pixel wide wrapping frame for 64x64 tiles otherwise there will be a discontinuity due to linear interpolation.
Here are the exact actions to execute in your image software for each tiles (even for the overlay tiles):
1) Copy layer
2) Resize to 62x62 (or 124x124 if working with 128x128 tiles)
3) Merge down
One needs to create a 2 pixel wide wrapping frame for the centre tiles. One also needs 2 pixel wide wrapping frame for blend tiles. The problem is creating these to look good is extremely hard and requires good art skill. Since Blizzard did not make their tile textures with this in mind as they have placed unique features that span into the 2 pixel wrapping frame area so I do not think there is a good automated way to do this, at least without some AI to help.
And here is my proof.
Left is semi automated seamless, using a 2 pixel wrapping frame made from from one of the tiles. Right is original texture with seams. Note this is proving that tile seams can be completely invisible, not that the terrain looks completely continuous since my art skills suck and this was a rushed job so the wrapping frame is not that good.
A wrapping frame is a frame designed such that the corners of the frame can be translated to directly overlap each other. In other words the left outer edge of the frame is the same as the right inner edge, and the opposite and same for top and bottom edges. The content inside the frame does not matter, but should be feature continuous with the frame for best results.
It is worth noting that with 128x128 tiles the wrapping frame starts to behave differently. There is a 1 pixel disused frame (content never visible) followed by a 2 pixel wrapping frame and then a 122x122 internal panel.
It is also worth noting that 96x96 tiles are also seamless compatible. There is a 1 pixel disused frame followed by a 1 pixel wrapping frame then a 92x92 pixel internal panel.
Also worth mentioning that JPEG compression might introduce artefacts inconsistently into the wrap frames for each tile. Hence create subtle discontinuities. A compression quality higher than 90% might be recommended to minimize this, or using other formats such as palleted BLP (without dither) or true colour TGA which do not suffer from lossy compression artefacts.