TheRealDannyyy's Forum Posts

  • Here is a quick example I came up with for the time being. (Download Example: Link)

    How to reproduce:

    1. Open In C3
    2. Run preview or export+upload as HTML5 (optionally enable fullscreen using F11 key)
    3. Enable "Spawn Auto" mode
    4. Notice occasional jank caused by GC
  • Maybe make a test where a game doesn't need garbage collection.

    The runner example wouldn't need GC to do work at all, especially not as often as it currently does.

  • Here is my Performance Profile, you can clearly see that GC is being triggered right after some Construct related runtime work.

  • I can reproduce this in Chrome 69 as well (high-end Desktop PC). Judging based on my performance profile, GC is all out again and doing its thing whenever it likes to, this time it seems to trigger whenever Construct performs runtime work with draw calls in it.

    Speculation Alert: This might be caused by objects being destroyed or created.

    I'd do a Chromium bug report but this example is a bit too unreliable for me. Currently trying to figure an example which triggers GC calls by doing the things mentioned above.

    If anyone's got suggestions or a more reliable example, please post it here and I'll check it out.

    Found this reported bug, which might be related?

    https://bugs.chromium.org/p/chromium/issues/detail?id=815259

    This happens across browsers though, more or less.

    Nah that's something else, nothing to do with this issue.

  • There are still various contradictory aspects in the state of this. I'd prefer to see a response to my comment on this issue clarifying the situation before continuing.

    Ashley you've probably seen this already but the issue has been closed and the developer confirmed that it wasn't an accidental release. Would appreciate if you could add this to the Construct(s), whenever you got the time to.

    By the way, do you perhaps know how I could get the attention of FireFox (Mozilla) and Edge (Microsoft) to implement this feature to their browsers as well? Now that Chrome supports it, they'd probably be more interested in supporting it too.

  • > > Hello one question.

    > > I thought that NWjs.AppFolder would give me the directory of the location of the nw.exe file.

    > > But this is not the case, NWjs.AppFolder gives me the directory where the capx file is located.

    > > What the hell do I want that directory ?.

    > > I need the directory of the nw.exe application because there are my files to load.

    > >

    > > How do I obtain this directory ?.

    >

    > Ashley added new expressions after I did a feature request about this a while ago. Just update C2 to R257 or newer and use the new expressions.

    >

    > I think they should also work with fetching the executable path. If not you should be able to manually replace parts of the fetched path. Although I'm guessing in your case it's an issue that only occurs during preview and not in the exported version.

    My problem is with the exported version.

    I have files that my program loads to create the levels.

    I have used the expression NWjs.ProjectFilesFolder seems to work but it is not the path of the executable file nw.exe

    I suppose that NWjs.ProjectFilesFolder is the path where the files are decompressed and then loaded from there.

    Thanks for the info.

    Usually NWjs.ProjectFilesFolder should fetch the app path of the executable and the new expressions fetch the files found inside your package.nw archive file. Not sure why it wouldn't work, maybe uploading a quick example for reproduction would help me finding out what's going wrong.

  • Hello one question.

    I thought that NWjs.AppFolder would give me the directory of the location of the nw.exe file.

    But this is not the case, NWjs.AppFolder gives me the directory where the capx file is located.

    What the hell do I want that directory ?.

    I need the directory of the nw.exe application because there are my files to load.

    How do I obtain this directory ?.

    Ashley added new expressions after I did a feature request about this a while ago. Just update C2 to R257 or newer and use the new expressions.

    I think they should also work with fetching the executable path. If not you should be able to manually replace parts of the fetched path. Although I'm guessing in your case it's an issue that only occurs during preview and not in the exported version.

  • > > TheRealDannyyy

    > >

    > > Maybe you want to add this info to your guide for everyone to see.

    > >

    > > construct.net/forum/construct-2/how-do-i-18/how-to-integrate-steamworks-in-137049

    >

    > Not sure what you'd like me to add where?

    1. A link to the installation instructions (just to keep it all in one place for everyone).

    https://www.construct.net/il/construct-2/addons/83/greenworks/documentation

    2. The user needs to make sure he doesn't update NWjs beyond the supported version by greenworks (sometimes greater versions that are not published in C2 (both NWjs and greenworks) work, but it requires user testing, for example I'm using NWjs 0.29.4 with greenworks 13 0.29.4, both are not available for download through C2 website).

    3. Where you can download all greenworks and NWjs versions.

    https://github.com/greenheartgames/greenworks/releases

    https://dl.nwjs.io/

    4. What to modify on greenworks.js to make it compatible with C2.

    I'll see what I can do. Currently on vacation, don't wanna change stuff from my phone.

    Thanks for the info.

  • Also, another thing worth mentioning is that if the host's window is minimized, it seems as if data stops sending- like it is being paused(even though the setting to not pause while unfocused is correctly set).. I'm guessing the lag simulation uses the time in construct to alter the gameplay, but when minimized the time stops completely.

    So objects will be destroye and recreated on the peer side when this happens, even if the host is changing the data constantly- the minimized window prevents data sending.

    I'll create another bug report when I get the time..

    This is a known issue with multiplayer and the window out-of-focus implementation of certain browsers.

    Ashley Did this ever get sorted out in the Chromium bugtracker?

    I remember having a discussion about this in the past, with a potential workaround using service workers to keep the game active in the background.

  • TheRealDannyyy

    Maybe you want to add this info to your guide for everyone to see.

    https://www.construct.net/il/forum/construct-2/how-do-i-18/how-to-integrate-steamworks-in-137049#forumPost947520

    Not sure what you'd like me to add where?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Ashley They updated the status tracker. Would appreciate if you could sneak this feature in whenever you find the time to do it.

    You can also feel free to privatly give me an "alpha" version of the updated plugin for testing if you like (therealdannyyy@gmail.com).

  • I was kind'a hoping of getting this answer when I previously asked if I should keep NWjs up to date and if there are any known issues with the latest version.

    But that's ok, next time I'll know when not to update.

    Are there any other issues like this documented somewhere around the site I should know about?

    I did an "Archive" section which holds the majority of issues with affected versions. I don't know much about Steamworks so I didn't really keep track of what's supported and not (same goes for Steam4C2).

  • Thanks for the update! With your test site, would be great if it had some default values, it says "haptic effect done" but I didn't feel anything (I'm using PS4 controller).

    Not all controllers are supported, it's a web thing. No clue if there is a list of supported controllers but generally don't expect every controller to work.

    Maybe try these values out: 0 | 1 | 1 | 1000

  • It looks like it might have shipped accidentally. It wasn't a listed release, the tracking issue isn't marked "fixed" yet, and the latest spec differs from what was shipped. I've asked for clarification on the tracking issue. Obviously we'd like to implement this but if it's likely to change in feature to what the spec says, it would be better to wait, otherwise we'll be writing code that is going to be broken in the near future.

    As long as we get official support for this in the near feature, I'm personally fine with this approach.

  • I am not affiliated with them in any way but....

    Enigma Virtual Box (free, ive used and works well) will allow you to turn your nwjs package into a fairly secure exe

    and Enigma Protector ($199, ive not tried) will allow you to hardlock the exe to a unique machine / user with unique licence serial number access keys distributed by yourself.

    both products can be found here.

    https://enigmaprotector.com/

    as TheRealDannyyy says though its likely all cracked allready if you go search the right places.

    But it would at least deter casual / lazy sharing of assets and game.

    also Im not sure if dev tools is accessible through nwjs apps, possibly not, but if it is it would make all this pointless.

    also if you are putting your game on steam I am pretty sure they have some DRM options.

    Those are valid options. Won't add this to the roundup though, too "hacky" for me and I generally try to avoid the use of 3rd party systems in any of my workarounds.

    You can completly remove dev-tools by using a custom build, see "How To: Hide/Prevent Chrome Devtools For The End-User".