• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Warcraft III TFT Versioning Question - Which is "Best"?

Status
Not open for further replies.
Level 2
Joined
Jan 4, 2021
Messages
5
Greetings,

One of these days I hope to get started on a fairly ambitious custom campaign for Warcraft III TFT.

It's come to my attention that quite a lot of players seem "locked in" to their respective versions of the game as a result of Reforged and various other factors. I've always clung to version 1.26a, as that was one I used for many years and it became my comfort zone.

I have four questions for those who might be so kind as to answer any of them:
  1. Which Warcraft III version do you run, and is there a reason for your choice?
  2. Is there a version which the community in general settles on as being the "best" version?
  3. If I developed content for 1.26a, would that cause headaches for players trying to run it on newer versions?
  4. Bonus question: are there any perceptible benefits to developing on a newer version of the game over 1.26a?
I am asking this question well in advance to try and prevent issues down the road with regards to people who might want to play my content. I'd very much like to limit the amount of trouble players would need to go through to run my creation/s.

Please note that I am morally opposed to Reforged, and am not interested in doing any work which supports it however indirectly. I will, unfortunately, disregard any suggestions which paint it as a viable choice.

Thanks very much for your time and help!
 
Which Warcraft III version do you run, and is there a reason for your choice?
I have a bunch of versions, but in general to play with other people I had to use whatever they were using.

Is there a version which the community in general settles on as being the "best" version?
I am finding that there is not. That is pretty unfortunate. Maybe Patch 1.31 because it has the new modding APIs added by the Reforged team, but it doesn't have the Reforged branding/models/HTML menu, so all the dumb parts aren't there and you basically are just cheesing off reality getting all the benefits of the 3 years of the Reforged dev team's work without actually using Reforged.

If I developed content for 1.26a, would that cause headaches for players trying to run it on newer versions?
No, because future patches are backwards compatible. So basically:
  • Up until 1.31 in 95% of use cases the game is backwards compatible
  • Some custom stuff is totally broken on 1.32 in inexplicable ways that require new and different workarounds, so even though 1.32 tries to be backwards compatible there are some cases when it isn't as much. Sounds like you wouldn't use 1.32 anyway though
  • Past patches are not forwards compatible. So you can't easily open a map made for 1.29 or 1.30 or ahead using the patch 1.26. There's some converter tool here on Hive someone made, but it's limited to only being able to port backward stuff where equivalent features actually exist on 1.26
Bonus question: are there any perceptible benefits to developing on a newer version of the game over 1.26a?
Very much yes. And that might be the worst part -- because the Reforged team added so many new modding APIs, there is a high incentive for creators to move forward to newer patches -- even though they then find that socially there is a lot of backlash against the newer versions, and the old versions literally can't do what the new modding APIs do. So there's no way for them to backport what they created, but it may be hard to find people to play their creation on the newer patch. Examples of new modding APIs:
  • UI natives so that you can create custom ingame UI, or turn off the ingame UI (to avoid being locked to the old RTS game UI hud like how it was on 1.26). Using them is really "technical" because they are based on binary exploits that were used in China to spawn UI components by hacking war3's out of game menu code, so basically it takes a long time to get anything done with these APIs because they generally feel insane to use, but it theoretically allows much more customization than what was previously possible. See Reforged UI Designer as an example of a workaround to make it easier to use the crazy new APIs, it probably still works on the 1.31 patch I'm guessing
  • 24 players per map instead of 12
  • 16:9 monitor resolution support, including new art assets for the widescreen version of the builtin RTS ui
  • Slightly more official support for saving map session information between multiplayer play sessions, so that on 1.31 you can natively save and load map data in multiplayer instead of having to toggle some registry thing like how it was on 1.26
  • Maps can opt-in to use a Lua VM instead of the Jass VM for the underlying system that the Trigger Editor contents convert into. In practice a lot of people using that will write their map triggers in some other language like C# or javascript/typescript or whatever and convert that back into lua. Mostly what this achieves is the ability to have code run much faster, because Jass is pretty hacked together and slower than the newer off-the-shelf lua solution. So, combining this with the map save data thing, you can have maps like CanFight's minecraft mod where you can move around in performant 3d with a minecraft block drawing UI and save to disk the minecraft map you draw with the blocks, then exit the war3 map and go online and play with a friend and get him to join and then load the minecraft map in multiplayer and show it to your friend.
So, you'll find people who say 1.26 is capable of the same thing, but in order to do it you have to do arbitrary code execution. What that does is essentially you run a trigger from the world editor that breaks the game and the computer and takes over running on the computer outside of Warcraft III where it can do anything on the computer. For example I once had a map that opened command prompt to troll you. But basically these arbitrary code execution hacks can do anything so when you play that kind of thing on 1.26, you're giving over full control of your computer in a "run as administrator" equivalent way, but in a manner that your virus protection won't be able to help you and won't notice no matter what the code is or does. So if you can imagine, it's a point of contention in modding because for some people it was their holy grail magic bullet that allows them to defy Blizzard and claim that they have a better more capable modding solution than the Reforged APIs, and for other people it's like a big security scare. And both of them are correct.

Edit:
( To be clear, for those virus maps originally they were thought to have been fixed by the 1.23-1.26 patch cycle, then it was later shown that 1.26 is still vulnerable, and then 1.28 tried to fix it but didn't totally. So then in 1.29 based on me tests I lost sight of any way to achieve the exploit. Doesn't necessary mean it's impossible but they would have to have found a new way. My theory is that if you play 1.29+ you probably don't have to worry about this kind of virus map, but 1.29 is a mess where 1.30 tries to fix the mess but removes easy user game data modding, so if you were inclined to use these newer patches and avoid the HTML reforged menu, then 1.30 or 1.31 are probably what you want. Some people tell me I shouldn't scare people by talking about virus maps because they are so rare or unlikely to be created, but if you feel that way just accept that running a map on War3 on your 1.26 or other outdated patch is the same level of trust for that map as if you installed software as admin on your computer from the map author. And some people are just fundamentally really okay with that, but it's up to you. I like to tear apart and dissect those older maps with modding tools and check them first before I would run them on those older patches. Generally if you rip out the map script on those versions, even on a "protected" map, you can see in the map script if it has a gigantic pile of hexadecimal to overflow buffers and break the computer that is clearly outside the scope of anything any normal human being would ever write in the world editor, even after obfuscation and "protection", then you know not to run the map if you're like me. Also look for casting between integer and function types. )
 
Last edited:
Level 29
Joined
May 14, 2021
Messages
1,114
This question has been literally answered, but I would say you should read this thread also:
Is 1.31.1 is still used or should I use the current versions?

There are still huge downsides that you might encounter if you use the latest versions of WC3 (either Reforged or Classic):
1.System requirements for the game is absolutely increased. 1.27 now uses the DirectX 9.0c and no longer supports the older versions of Windows (1.29.2 even requires Windows 7 or higher). 1.30's memory usage is large (3GB) because the game uses CASC instead of MPQ. 1.31 now uses the DirectX 11 (but you can still switch back to DirectX 9). In the future, Blizzard might drop the support for Windows 7 SP1 and any 32-Bit OS support from all their games presumably because of Microsoft's acquisition over Activision Blizzard, which forces all games to be playable only on Windows 10 and Windows 11 64-Bit.
2.Latest version of Classic WC3 is prone for numerous gameplay-related bugs. If you are using 1.31, then you might encounter the following bugs:
-AI Heroes can't pick up their skills. There is a solution to fix this problem by using a custom script like this one or this one.
-If you save your game in either custom maps or campaigns and then load that save, certain unit events will get broken. Meaning that maps that require a certain event to happen before you can progress will not work and you won't be able to finish the mission. The only solution is to play the entire mission in a single sitting without saving/loading. More information can be found here.
-Exiting the score screen by clicking the OK will cause the whole game to be locked up with just a black screen. There's no way to fix this rather than just logging out the computer. The main reason is memory leak issue, but you can solve this by doing a lot of modifications, which consumes a lot of time. More information can be found here.

Not only those bugs that came from single player maps, but the original single player campaign has still some bugs. The most notorious one is the missing item inventory in Night Elf mission 02 (Tyrande) and Orc mission 05 (Grom), missing audios for dialogues (like Maiev in Night Elf TFT mission 04), and the transition problem in Rexxar campaign, which resulting in the whole chapter being reset to the very beginning (the intro cutscene) after completing the sub-maps. More information can be found here.

Because of those issues, I ended up not using the 1.31.1 for gameplay. I usually prefer 1.29.2 and 1.30.4. You can download any versions of the game here. That version doesn't suffer from the save/load issue and AI heroes properly unlock skills as they level up. It also features native widescreen support and still has 24 players.
 
Level 2
Joined
Jan 4, 2021
Messages
5
Thank you, Ravager16829, for the links and insight. The more information I get on this the better, and it's nice to hear everyone's take on it.

Retera - what a magnificent response! You've exceeded my expectations of responses a hundredfold and have given a great breakdown explaining more or less exactly what I wanted to know on the technical side.

Given that what I would like to try make is fairly ambitious, but doesn't even slightly encroach on areas beyond what the base game was capable of, I suspect I already have my answer.

Thanks again!
 
Level 13
Joined
Jun 23, 2009
Messages
299
About this:
-Exiting the score screen by clicking the OK will cause the whole game to be locked up with just a black screen. There's no way to fix this rather than just logging out the computer. The main reason is memory leak issue, but you can solve this by doing a lot of modifications, which consumes a lot of time. More information can be found here.
I mainly use 1.31.1 and I never encountered it, I'm not finding any info about it in the thread you linked either, could you be so kind as to point me to the post/thread page where that is discussed? By how you're phrasing this it seems like if it happens it's because of map scripts leaking, is that it? It would make sense in my case since I always keep leaks in mind when I code stuff.
 
Last edited:
Level 20
Joined
Feb 23, 2014
Messages
1,264
By how you're phrasing this it seems like if it happens it's because of map scripts leaking, is that it?
Yeah, seems something is wrong with how the game handles leaks upon closing a map in 1.31.1, so if you're playing a map and it has a lot of leaks then Warcraft 3 will just freeze upon exiting the game, forcing you to either force close the program or if you can't, log out / restart.

That said, if you're making / playing a map that has doesn't have any periodic triggers that leak, because some occassional leak here or there isn't really a problem, you're not going to encounter this issue. That's why you haven't seen it yet.

---

As for which version is "the best"... They all have their pros and cons. 1.31 is a great example here - yes, it has some issues, but also comes with some nice features like Lua support, saving maps as folders, object modification API and more (see patch history). If any of that seems useful to you and you're willing to work around the bugs, which isn't really hard, or you want to play a map that was made for 1.31.1, then that's the best legacy version for you.

The same can be said about any version - for instance, 1.29 or 1.30 are a bit less buggy, but they don't have some of the features that 1.31 has. Pros and cons. Thus, my answer to the question of which W3 version is the best is - if you're a player then I'd say it's best you use whichever version is recommended for the map you want to play and if you're a creator then learn what each version has to offer and pick the one that best suits your needs.

---

I use 1.31.1, because I can't be arsed to spend like 30 GBs of my laptop's small SSD drive on a heap of HD assets that I'm not going to use, because I don't enjoy Reforged. And all my unfinished / forever-in-the-making projects are campaigns, which aren't supported by 1.32+. If not for that, I'd seriously consider updating to 1.32, because I enjoy having more features to play around with - which is the reason why I don't use 1.30 or lower.
 
Last edited:
Level 29
Joined
May 14, 2021
Messages
1,114
As for which version is "the best"... They all have their pros and cons. 1.31 is a great example here - yes, it has some issues, but also comes with some nice features like Lua support, saving maps as folders, object modification API and more (see patch history). If any of that seems useful to you and you're willing to work around the bugs, which isn't really hard, or you want to play a map that was made for 1.31.1, then that's the best legacy version for you.
The system requirements is absolutely a common enemy for most WC3 gamers, not just a technical changes.
Since Blizzard's latest updates, the game's requirements are slightly increased. As a result, some people might encounter random times of FPS drops and stuttering.
Even Blizzard had a plan to update the system requirements, which drops the support for Windows 7 SP1. This is presumably because of Activision Blizzard being acquired by Microsoft, which forces all games to be playable only on Windows 10 and Windows 11 64-Bit.
 
Level 17
Joined
Feb 25, 2013
Messages
303
Some of the system requirements changes that got mentioned above are not correct, but if they are to even be considered, you can always just download a version and test it, then download an older one if you cannot run the one you're after.

I would like to reference the previous comments for their engine explications: staying on 1.26 would cut you off from almost 11 years of development, of which you can, as a mapmaker, even disregard performance improvements to an extent, but you cannot exclude the other parts. The World Editor's limits got increased a lot, many things you required hacky ways to accomplish before now have proper (or in the worst cases at least standardised) methods (as the most simple example, hiding an ability's button. Beforehand you had to try and set it to [0,-11] and that could break on some of the patches, but now there is a native (1.29+) AND the [0,-11] method got official support (1.28+)). For the more advanced example, the instance API, UI APIs and Lua support (1.31), Folder mode (1.31), many more functions to interact with everything from cameras and sounds to getting mouse position, editing special effect rotation, damage events, getters and setters for so many things (part of which is the instance API), and much more.

From the limit increases, there's the absolutely insane ones like the "Raised file size limit from 8 MB to 128 MB" from 1.27.1, the giant list of 1.29.0 increases:
  • Object Limit: 30,000
  • Neutral Units: 2,048
  • Neutral Buildings: 384
  • Player Units: 4,320
  • Player Buildings: 2,400
  • Items: 1,024
  • Map Size Limit: 480 x 480
  • Tile Slot Limit: 16
  • Max Execution Limit: 3,000,000
  • Max Food Limit: 999
  • Max Resource Limit: 9,999,999
  • Array Size Limit: 32,768
  • Maximum number of players: 24
I will immediately note that the tile slot limit was previously bypassable using 3rd party hacks over the 1.21 World Editor, but having to resort to 3rd party means also means some extra headache when things break.

Of all those increases, you will probably only feel the object limit and the tile slot limit until your mapmaking gets advanced, the food limit only if you wish to use it as a tertiary resource or counter for something, but the twelve additional players give you a way to do much more, be it up to 12 more computers, or maps that play with over 12 players.

There are also important considerations for advanced players only, like 1.30's "Preloader native no longer requires “Allow Local Files” registry settings" which made way for the codeless save and load systems that wouldn't require players to hack away at their registry beforehand (needing your players to do any kind of modifications, even worse admin-level modification, to their systems would decimate your playerbase).

Before I accidentally document everything that happened in these almost last almost 11 years, I will stop and turn to the last, the most external but also the most useful, aspect of developing for as new of a version as you can: community resources. Be it just code snippets of full libraries, be it HD models or DDS textures, if anything catches your eye, it would be infuriating to be denied usage of these. Code can only sometimes be converted to an older version (which is of course dictated by whether it uses any new natives), textures can be converted but not without losing quality, HD models have no analogue in versions before 1.32.


From all the data in here, you are not expected to understand it all, but you are recommended to try and understand which parts will affect you. I will not recommend you 1.32 (which you wrongly call Reforged, as Reforged is not one patch nor is it a patch family denoted by the major patch 1.32) due to your post's penultimate paragraph, but make sure to read up on the patches if you'd like to make an "informed" decision, or just go for 1.31.1 as the newest and most featureful patch in your acceptable range.

As most of this was for your fourth question, I will also try to provide my quick opinions on the first three, as in the patch-sphere there are no correct answers.

1) I run 1.31.1 and 1.32.latest, with occasional opening of old patches for comparison, 1.31.1 I use to run my hostbots on LAN as par of active development, and to play with friends. Both are new, 1.31.1 is useful to any random person for custom campaigns, 1.32.latest is useful for playing on Bnet. Also note that you don't have to buy "Reforged" to play 1.32.latest, just add your CD-keys to your bnet account.
2) The community can't settle on anything. Not only is it too large, it's also very opinionated. Different usecases will benefit from different patches anyway, but you should never really play on anything older than 1.28 because of security concerns and the decreased performance.
3) 1.26 maps (as long as they make use of no bugs), will seamlessly work at least up to 1.31.1, and they will (other than a few non-negligible graphical/UI bugs) work on 1.32.X too. This does not mean you should stay on 1.26 because of the many ways things could be done easier AND better on newer patches.
 
Level 2
Joined
Jan 4, 2021
Messages
5
Thanks, BogdanW3.

This is an additional wealth of information you've presented; the limits increase is reasonably persuasive. I can definitely see why the issue of versions causes such trouble with all these various factors to consider.

It's really nice to see that Hive has a community that answers so comprehensively. I must admit, I was expecting to have to try determine the truth from a bunch of one-liners!
 
Level 17
Joined
Feb 25, 2013
Messages
303
My reply was, at first, meant to be just a small correction of the system requirements increases, as, for example, DirectX9.0c was not new in 1.27, it had been used by the game for a long while, and the things 1.27 changed were starting to utilise SSE2 and some other features that rendered ancient processors (talking times before 2003 or so) obsolete. I later decided the more important and useful topic would be a quick summary of the versions' good sides, as the system requirements are more of a hinderance (even though most are not likely to be near their edges now). Bugs are another important, and very hard to document, aspect that I can't extensively relay.
In the second of the two links I embedded, you will be able to browse notes per-patch. The patch notes have always been incomplete (through no fault of Blizzard before the people who used to write them left the company, giant props to those peeps), some bugs and some new adjustments did get missed from time to time, but it is still very good to read up on the "Bug fixes" sections to see how weird some of the patches could be. 1.30.X was notorious, but 1.31.1 is also not bugless. I've thankfully only experienced one bug on 1.31.1, which is the LAN map download bug.
I also tried, to the best of my ability, to remain objective rather than push 1.31.1 or 1.29.2 onto you, but they are very likely the two pre-32 versions to look at as the most important. 1.29.2 is the last version using the old data storage so the very ancient (not a pleonasm here) tools that read the game's data couldn't work past that point, and it is good for many custom campaigns.
1.31.1 is the latest pre-32 and it was the illusion of heaven to many, most of the bugs (both pre-30 and 30.x) finally fixed, many new features (I'll not repeat as that would be unnecessary and maybe even counter-productive).

For my sincere pre-32 recommendation, 1.31.1, but also don't feel like you only need to use one patch. Make on 1.31.1, but play old things on old patches if they break on 1.31.1 (even though they shouldn't unless they used quite a few hacky approaches). Warcraft 3 patches don't break each other (other than 1.28 breaking if first opened after an 1.29+ was) so you can have as many versions on the same PC at once. In the Discord there are a few screenshots of how many versions I have :D

I hope my replies help and are worth the large amounts of time needed to read, but I will also shortly retell one of the important facts someone else mentioned: a map made on any patch are not guaranteed to work on any older patch, but they should in almost all cases work on all newer patches.
 
Level 20
Joined
Dec 15, 2021
Messages
315
Personnally I'm running 1.27/1.28, because I don't want to upgrade with 30 Gb of useless textures.
I'm only interested in campaigns and from what I've seen here almost all "big" creators use 1.31 except Med.mapguy... so I can't play/test them :sad:

But right now I'm more interested in my project to update my old campaign made on 1.23 and for now upgrading didn't create any bug. I'm really afraid that going beyond 1.28 will start to break what once worked, especially the AI I made in the editor back then (yeah I know it's supposed to be terrible but I made it work well enough for what I needed).

But I would like to know if 1.31 really is useful if you don't make huge maps with 10 doodads on each tile or really complicated triggers, or maybe use jass extensively...
I don't need any of these, but on the other hand having the editor in english instead of half-french would be easier to not forget some translation, and I could play more recent campaigns.

So my TLDR question is : has anyone here tried to change maps made before 1.29 with an updated editor and did it break triggers or anything else ?
 
Level 13
Joined
Jun 23, 2009
Messages
299
So my TLDR question is : has anyone here tried to change maps made before 1.29 with an updated editor and did it break triggers or anything else ?
I sort of did, I moved and basically translated from compiled JASS back to vJass most of my project (based on 1.24) in late december 2018 (so patch 1.30.3) after recovering that code from an MPQ and a protected map (since I lost the originals), then finished the job recently on 1.31.1. The only things that broke were a couple of abilities based on Necromancer spells since the requirements changed for Raise Dead and Cripple in those versions (Reforged reverted these changes btw) and... the AI not assigning hero skills (a bug specific to 1.31), as was already discussed briefly in this thread.

I'd say generally it's fine sticking with older versions if you don't need any of the new features added in recent years, if you do that you're creating maps that can be played on older as well as newer versions, although there's cases where newer versions might actually break stuff that worked before, my mod for instance works fine in 1.31.1 but in Reforged all trees lose their models for some reason. Then again mods are a special case and the map version of my stuff works fine both in 1.31.1 and Reforged.

Anyway in your specific case I don't think anything would break if you upgrade, especially if what you've done is based on GUI or the World Editor UI in general (like AI made in the AI Editor)
 
Last edited:
Level 17
Joined
Feb 25, 2013
Messages
303
I sort of did, I moved and basically translated from compiled JASS back to vJass most of my project (based on 1.24) in late december 2018 (so patch 1.30.3) after recovering that code from an MPQ and a protected map (since I lost the originals), then finished the job recently on 1.31.1. The only things that broke were a couple of abilities based on Necromancer spells since the requirements changed for Raise Dead and Cripple in those versions (Reforged reverted these changes btw) and... the AI not assigning hero skills (a bug specific to 1.31), as was already discussed briefly in this thread.

I'd say generally it's fine sticking with older versions if you don't need any of the new features added in recent years, if you do that you're creating maps that can be played on older as well as newer versions, although there's cases where newer versions might actually break stuff that worked before, my mod for instance works fine in 1.31.1 but in Reforged all trees lose their models for some reason. Then again mods are a special case and the map version of my stuff works fine both in 1.31.1 and Reforged.

Anyway in your specific case I don't think anything would break if you upgrade, especially if what you've done is based on GUI or the World Editor UI in general (like AI made in the AI Editor)
For your trees losing models, that is likely caused by the skin systems and we have no way of completely disabling those systems currently. For the AI issues, I've heard of numerous bugs associated with patches, but note that the version a map is made on seldom affects them, instead only the played version does.
 
Status
Not open for further replies.
Top