[Feature Request] It's Time To Polish NW.js Exporting

  • >

    > > The NW.js exporters could indeed be a lot better. Adding the steam dlls and the txt to every one of the builds is annoying and time consuming when testing. I know Scirra can't just distribute the dlls but I'd love if I could point my steamworks folder to Construct 2, so it could get the dlls from there and use the in the exported games. Also the appid txt file.

    > >

    > It would be nice if we could set up a folder in the export window for files like this and during packaging, C2 would copy it's content to the exported folder automatically.

    >

    I thought you could it already by just dumping whatever you want in NWjsForC2 win32 folder or any folder inside.

    Anytime you export the NWJS version, anything inside will be included in the final release.

    Including the folder and files setup you made beforehand.

    It's true that you can go to NWjsForC2 folder and add anything there but the steam dlls must be inside the package.nw zip file, and it's C2 itself that zips the game files into it so there's no way of doing that.. so each time you have to test your game on Steam, you have to manually add the dlls to each OS' package.nw file

    Also keep in mind that, if you also make DRM-free versions of your game (which is my case), even if you could add the steam dll to the NWjsForC2 folder, you'd have to go back and remove it manually anyway.

  • ...or just add them in your project as external files.... (at least it works with my plugin)

  • The Packaging mostly takes up to 30 minutes on my PC, and a lot less on my laptop.

    Jeez, that sounds like your system is running out of memory and swapping solidly for 25 minutes or something. IIRC the packaging step consists solely of creating package.nw, which is basically adding all your project files to a zip. So it shouldn't take significantly longer than doing the same from Windows. I'd imagine it's limited by your hard disk write speed. It also doesn't compress any NW.js files so the NW.js version should have no impact on this at all.

    You could try disabling antivirus/Windows Defender in case that is slowing it down (AV may scan everything written to disk in real-time).

    30 minutes is extreme and sounds like some kind of fault condition (or poor hardware? :-\) but assuming export can finish in <5 minutes, that seems reasonable to me - I never thought anyone would export regularly, you do all your testing from C2's preview mode then you export once for publishing, right?

  • Jeez, that sounds like your system is running out of memory and swapping solidly for 25 minutes or something. IIRC the packaging step consists solely of creating package.nw, which is basically adding all your project files to a zip. So it shouldn't take significantly longer than doing the same from Windows. I'd imagine it's limited by your hard disk write speed. It also doesn't compress any NW.js files so the NW.js version should have no impact on this at all.

    You could try disabling antivirus/Windows Defender in case that is slowing it down (AV may scan everything written to disk in real-time).

    30 minutes is extreme and sounds like some kind of fault condition (or poor hardware? :-\) but assuming export can finish in <5 minutes, that seems reasonable to me - I never thought anyone would export regularly, you do all your testing from C2's preview mode then you export once for publishing, right?

    My hardware is surely counting as "old", compared to today's standards (DxDiag) but it is more powerful than the hardware inside my laptop. I have to admit though, having Chrome (Video Stream) + Steam + C2 Export running at the same time, might have an impact on the exporting time.

    The only thing that I still don't understand is, why NWjs 0.14.0 is doing the job so much faster than the updated version, it just makes no sense to me.

    I'm using Avira Anitvirus which is almost never complaining about anything I do and I also let C2 function over the firewall, if that helps in any way.

    I'm not exporting that frequently, just sometimes to test out multiplayer features with my friends, that's why an exporting time of 30 minutes is still acceptable but nonetheless could be improved with separated exporting I think.

    I will keep going with NWjs14 and give NWjs17 a shot, when it comes out to see if it brings any change.

    For now, I really hope that you could maybe surprise us with some NWjs enhancements in one of the future C2 updates.

  • ...or just add them in your project as external files.... (at least it works with my plugin)

    Doh, that sounds like an easy fix. I take it it doesn't it cause any problems to have dlls for all OS'es in all exports?

    I never thought anyone would export regularly, you do all your testing from C2's preview mode then you export once for publishing, right?

    I do test the game in NW.js' preview mode, but I also like to test it after it's exported on different computers and often times I decide to change something or find a bug. So I have to go back to C2, export it again and add all the dlls again.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • I never thought anyone would export regularly, you do all your testing from C2's preview mode then you export once for publishing, right?

    Well there's also exporting to share with teammates who aren't going to blow $130 on a license just to play / test the game they're working on...same for sharing with friends.

    Also there are sometimes discrepancies between preview and exported builds (95% of the time it's 3rd party plugins...) so it's good to test them out every now and then.

  • [UPDATED] How To: Export To Windows 32bit Only:

    I've decided to update this post and provide a better way to do this without any error messages.

    If you want to export to Windows 32bit only, feel free to do the following:

    • Go to your "NWjsForC2" Source Folder

      (C:\Program Files\NWjsForC2)

    • Completely remove the "linux32" and "linux64" folders
    • Delete the content of the Win64 folder (don't delete the folder itself!)
    • Delete almost everything inside "osx64\Contents" (keep the "Info.plist" file!)
    • Now the packaging process while exporting your game should be a lot quicker.

    There is one downside of the method though, C2 will still create folders and paste your package.nw file inside them. However, those folders don't contain any NW.js source files which brings down the total size by over 200mb. All we can do is hope that C3 will bring noticeable improvements to desktop exporting and provide us a way to select the exporting platform.

    Thanks and HERE is a link to my NW.js roundup, there you can find bugfixing help or learn more about custom features.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)