1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. The Lich King demands your service! We've reached the 19th edition of the Icon Contest. Come along and make some chilling servants for the one true king.
    Dismiss Notice
  4. The 4th SFX Contest has started. Be sure to participate and have a fun factor in it.
    Dismiss Notice
  5. The poll for the 21st Terraining Contest is LIVE. Be sure to check out the entries and vote for one.
    Dismiss Notice
  6. The results are out! Check them out.
    Dismiss Notice
  7. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  8. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  9. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Warcraft 3 Patch 1.31

Discussion in 'Latest Updates and News' started by Ralle, Mar 25, 2019.

  1. Ralle

    Ralle

    Owner

    Joined:
    Oct 6, 2004
    Messages:
    11,226
    Resources:
    22
    Tools:
    3
    Maps:
    5
    Tutorials:
    14
    Resources:
    22
    A very rough Ralle news post about some breaking Warcraft news!

    I was sent a picture from a Chinese presentation about Warcraft 3 patch 1.31.

    unknown.png

    More will most likely surface about what exactly is coming and what is not, but it's definitely exciting.

    Lua support sounds very interesting. I wonder how that is going to work.
     
  2. maxxxus

    maxxxus

    Joined:
    Aug 25, 2015
    Messages:
    137
    Resources:
    0
    Resources:
    0
    omg i can't wait for Wc3 reforged, and i wish this patch could maintain my waiting for a long time.
     
  3. Bribe

    Bribe

    Joined:
    Sep 26, 2009
    Messages:
    8,037
    Resources:
    25
    Maps:
    3
    Spells:
    10
    Tutorials:
    3
    JASS:
    9
    Resources:
    25
    I wonder what kind of impact points 1, 2 and 4 will have on performance. Multicore support? I wonder if it means that modding can allow us to also take advantage of parallel actions.
     
  4. The_Silent

    The_Silent

    Joined:
    Feb 4, 2008
    Messages:
    2,876
    Resources:
    159
    Models:
    49
    Icons:
    89
    Packs:
    8
    Skins:
    12
    Maps:
    1
    Resources:
    159
    *Please please please give us multi-threaded jass*

    Very exiting
     
  5. mori

    mori

    Joined:
    Jun 13, 2016
    Messages:
    357
    Resources:
    2
    Spells:
    1
    Tutorials:
    1
    Resources:
    2
    I hope this implies that Lua is meant to be an alternative to JASS. And I hope this implies LuaJIT.

    I don't think there'd be much benefit in having multi-thread support in the scripting language itself, especially if they go with LuaJIT, as it has excellent perfromance as-is. Most maps simply aren't that demanding algorithmically that it should warrant moving to multithreading, not to mention the inherent pool of opportunities to shoot yourself in the foot that comes with multithreading.

    Fingers crossed.
     
  6. Sieben

    Sieben

    Joined:
    Nov 23, 2013
    Messages:
    644
    Resources:
    0
    Resources:
    0
    I have absolutely no clue of what all that under-the-hood stuff means, but I guess it's good news :p

    Also, on Reddit (here and here), Kam said that 1.31 WE would be the same as Reforged WE, and that there would be significant changes for UD in 1.31, so that patch is going to be pretty big.
     
  7. mori

    mori

    Joined:
    Jun 13, 2016
    Messages:
    357
    Resources:
    2
    Spells:
    1
    Tutorials:
    1
    Resources:
    2
    Move to DX11 likely implies an improved (rewritten?) renderer that can better take advantage of modern hardware. No more 20 fps when displaying a few hundred low-poly models, or zooming out in WE.

    Lua support potentially has far-reaching implications in the modding scene itself. I personally am absolutely sick of JASS and it is the number one reason I've given up on my projects repeatedly.

    64-bit support means that WC3 can finally properly take advantage of modern memory sizes.

    No clue about the last one.
     
  8. The_Silent

    The_Silent

    Joined:
    Feb 4, 2008
    Messages:
    2,876
    Resources:
    159
    Models:
    49
    Icons:
    89
    Packs:
    8
    Skins:
    12
    Maps:
    1
    Resources:
    159
    Well, maps aren't algorithmically demanding because it is not feasible right now. So that trend isn't telling of much. :p

    Also, I've never believed in the idea that 'bad' programmers should be an argument against more programming options. You can already utterly break wc3 if you don't know what you're doing as is.

    To me, multi-treadding is such a core feature of programming that i use in everyday programming, it feels limiting not to have access to it. I know this reflects the fact that i work more with data, than game programming, but hey, i want to do 'data-heavy' stuff in my maps.

    I want gradient-tree-boosting AI and procedural generation in mah maps man.
     
  9. Trill

    Trill

    Joined:
    Feb 24, 2018
    Messages:
    273
    Resources:
    1
    Icons:
    1
    Resources:
    1
    Metal means basic reflections? That's pretty awesome. I wonder if that in combination with DX11 means we'll get finally water that doesn't look like, well, Warcraft III water.

    THANK GOD!
    That was my main fear about Reforged, that they'd restrict access to all the good stuff in normal Warcraft 3 editor.
     
  10. mori

    mori

    Joined:
    Jun 13, 2016
    Messages:
    357
    Resources:
    2
    Spells:
    1
    Tutorials:
    1
    Resources:
    2
    In my personal experience with modding, even the most "demanding" mods don't really need to tap into multi-threading. I can't really think of many scenarios where using multiple threads would be a requirement, unless you're doing something really computationally heavy (in which case, perhaps you should be making your own game instead anyway...).

    If you simply want concurrent running tasks, then a single-threaded asynchronous model is preferable. Lua does have one in the form of coroutines already.

    I also wasn't so much referring to the potential of the users mis-using the API, but rather the inherent challenges associated with providing a thread-safe engine API. Even Lua doesn't really support multithreading, though there are some extensions and libraries that add such support, but even then, they come with some big caveats AFAIK. Which, in practice, translates to some ergonomic concessions when trying to use them. You most definitely would have to jump through weird hoops to send data between threads (channels?), and it's very likely that only one thread would have access to the engine's API. In other words, it'd be only useful for auxiliary computations that are entirely independent from the game state, depending only on the inputs you give to it.

    Don't get me wrong, I'm all for having the option, I'm just not sure how they're going to pull it off.
     
  11. Darklycan51

    Darklycan51

    Joined:
    Jan 12, 2011
    Messages:
    1,326
    Resources:
    3
    Maps:
    3
    Resources:
    3
    No... Metal.is Apples API for games
     
  12. The_Silent

    The_Silent

    Joined:
    Feb 4, 2008
    Messages:
    2,876
    Resources:
    159
    Models:
    49
    Icons:
    89
    Packs:
    8
    Skins:
    12
    Maps:
    1
    Resources:
    159
    It is probably way out of scope of them, sure, but it would still be nice. Could do some real funky stuff if that kind of computing power was available. Like actual 'learning' AI, or huge self-generated enviroments, complex spells with lots of moving parts, etc.

    For game dev vs wc3. I think wc3 is a really underrated prototyping environment for game development. I could make a game, but that takes ages, just to get to a prototyping stage, even with modern game-making programs. So i usually go wc3 before even considering game dev. Having more options in-engine would be great.
     
  13. Trill

    Trill

    Joined:
    Feb 24, 2018
    Messages:
    273
    Resources:
    1
    Icons:
    1
    Resources:
    1
    Ah, that's a lot less cool.
    But I guess DX11 means reflection support anyway.
     
  14. Devalut

    Devalut

    Joined:
    Feb 9, 2009
    Messages:
    798
    Resources:
    2
    Spells:
    2
    Resources:
    2
    >lua support

    Hold me
     
  15. EredarArbeiterYU

    EredarArbeiterYU

    Joined:
    Jul 15, 2015
    Messages:
    91
    Resources:
    0
    Resources:
    0
    Cool :)
    Meanwhile I'm patiently playing Skyrim until this comes out. :p
     
  16. MyPad

    MyPad

    Spell Reviewer

    Joined:
    May 9, 2014
    Messages:
    1,304
    Resources:
    7
    Models:
    1
    Icons:
    2
    Spells:
    3
    JASS:
    1
    Resources:
    7
    This has been quite a surprise. Extending the capabilities of what wc3 can officially do is quite desirable.

    Hopefully, the same patch will fix some crucial bugs reported by others as well.
     
  17. DoctorGester

    DoctorGester

    Joined:
    Dec 6, 2009
    Messages:
    76
    Resources:
    3
    Maps:
    2
    JASS:
    1
    Resources:
    3

    Agreed with every point. For an example on how multithreading can be done in lua check Love2D. They spin a separate Lua instance per thread and communicate them through channels. There are no data races because there is no shared memory. That however imposes certain performance constraints and limits the feasibility of multithreading in general. It's also pretty safe to say that is very rarely needed even in more or less real games made with love2d.
     
  18. Dr Super Good

    Dr Super Good

    Spell Reviewer

    Joined:
    Jan 18, 2005
    Messages:
    25,547
    Resources:
    3
    Maps:
    1
    Spells:
    2
    Resources:
    3
    1 will improve performance. It means they will be using shaders and a modern graphic pipelines with less API overhead than the D3D7 level fixed function pipeline Warcraft III currently uses.

    2 will have mixed results. Upgrading to x86-64 will improve performance with some operations due to improvements to the instruction set such as the addition of RISC style general purpose registers. However it will decrease performance with regard to cache efficiency and memory bandwidth due to the use of 8 byte pointers rather than the current 4 byte pointers and possible memory alignment and density implications of that.

    4 will likely only have much overhead if those features are used. Similar to LUA and JASS virtual machines which will only really generate overhead if a developer uses them.
    Nowhere does that mention multicore support... Although I can guess some multi threading might possibly be used for graphics the game will almost certainly remain single threaded.

    Maybe you misread "Metal support". Metal is Apple's graphics API, support for it is needed so the Mac build will keep running once Apple drops native support for OpenGL completely.
    You do not want multithreaded JASS... It would add entirely new ways to create OoS errors, bugs, and stuff like that except this time with the added problems of multithreaded errors such as not being reliable recreatable.
    Yes both JASS and LUA virtual machines will work in parallel. This gives people the flexibility to use both, or slowly port from JASS to LUA as needed. The only limitation is that there is limited interoperation between JASS and LUA, at least back when they announced it.
    It does not work very well for games since race conditions become a big problem. Certainly >99.99% of triggers people write cannot benefit from multi threading.
    No it does not mean that...

    It means this...

    Windows 7, 8 and 10 will use Direct3D 11, Mac OS will use Metal.
    Metal is Apples API for graphics acceleration. It is their only API for graphic acceleration of anything. OpenGL support will soon be gone and they refuse to add native Vulkan support.
    Raytracing is a Direct3D 12 feature.

    Sure one can use shaders to kind of hackily simulate some sorts of reflections but still...
     
  19. The_Silent

    The_Silent

    Joined:
    Feb 4, 2008
    Messages:
    2,876
    Resources:
    159
    Models:
    49
    Icons:
    89
    Packs:
    8
    Skins:
    12
    Maps:
    1
    Resources:
    159
    Well, I would benefit from multithreading.
    I'm not too worried about others not being able to use it as long as it is implemented as an additional feature, and not becomes required knowledge.
     
  20. Chaosy

    Chaosy

    Joined:
    Jun 9, 2011
    Messages:
    10,611
    Resources:
    18
    Maps:
    1
    Spells:
    11
    Tutorials:
    6
    Resources:
    18
    For me this raises more questions than it answers x)