Ashley's Forum Posts

    • Post link icon

    The Nintendo development process is covered by an NDA. Rather than get in to debates about what is or isn't public information, you should simply go to https://developer.nintendo.com/, sign up there, and ask on their forums after you've agreed to the NDA. Then you can be told everything, and nobody has to risk breaking the NDA via our own forums. Closing this thread.

  • We don't normally accept full projects in bug reports as per the bug report guidelines. You should try to find a way to reproduce it in a new project.

  • Closing as won't fix for the time being - this is arguably a user convenience choice and is probably better to discuss in the Construct 2 General forum to see if there's any consensus amongst users.

    Nobody ever complained about space autocompleting before IIRC, except for the recent report about group names, because those can legitimately contain a space which makes autocompleting irritating. In normal expressions like your example, space can never be part of an identifier, so that autocompletes on the same basis typing another character would (like +).

  • I guess by "tap" you mean "bar" (as in Z order bar) or "tab" (as in event sheet tab)?

    Either way I can't reproduce any problem and this bug report is now closed, so you'll need to file a new report with full reproducible details if you want this investigated further.

  • Changing layout has nothing to do with multiplayer. If the host changes layout it needs to send a message to all peers to tell them to change too (otherwise they will sit on the same layout), and after they receive the message and switch layouts themselves, they will receive new data about object positions asynchronously.

  • The golden answer to any performance question: measure it

    If you can't measure a performance difference you're just wasting your time.

    Having said that:

    Re 1): loops have a certain amount of overhead, so combining both in to one loop removes the overhead of the second loop. Often this is negligible though. However these examples are not identical in what they do. If "AI animation" requires *all* "AI behavior" to have completed first, then you need two loops and moving it in to one will break it. You can only make that change if "AI animation" only depends on its own "AI behavior" (which in this case sounds reasonable). But you can't always just blindly make this change.

    Re 2): in Construct 2, 'Else' is not the same as an inverted condition of the same type. In C2 'Else' means "if the previous event did not run", and it does not pick any instances. Inverting the condition will re-test every instance and run with the instances that meet the inverted condition. So again you cannot blindly swap one for the other.

    In programming languages "Else" is a code block that is jumped to if the condition was not true, which happens without testing a second condition at all, so is faster if the condition is slow to test.

    Again though I must emphasise, there may be something in your project using 50% of the CPU time, and worrying about details like this is trying to shave off 0.01% of the CPU time instead of focusing on the 50% that matters. This is why you must make measurements otherwise it's very likely you are simply wasting your time.

    • Post link icon

    Update!

    I didn't succeed in building Greenworks myself last time, but two new pre-built versions of Greenworks have become available: one for NW.js 0.14.7 (the LTS branch) using Steamworks SDK 1.37, although for some reason this one omits the 32-bit platforms, and one for NW.js 0.15.0 (the second-newest) using Steamworks SDK 1.36, which includes all the platforms. I tested both and they both worked for me, so I've updated the original post in this thread with the new versions.

    I also revised the instructions on how to get it working to be clearer. It's also important to make sure you match the right NW.js version and Steamworks SDK version for the Greenworks version you are using. If any versions are different it seems to cause compatibility problems. We didn't have a NW.js-for-C2 build for 0.14.7, so I added it to make sure you can match the versions exactly.

    I don't know why the 0.14.7 release omits Greenworks for 32-bit Windows and Linux, but the 0.15 version has them all, so that looks like the best candidate for the time being. I don't know why the Greenworks team don't publish more releases, and I don't know why my own builds never seem to work (I may look in to that again if it's a long time before the next update), but hopefully at some point support for NW.js 0.16+ will appear too. NW.js 0.15 is based on Chrome 51 so that's a reasonably modern version to work with for the time being.

    Since it's a bit messy trying to match an exact NW.js version and Steamworks SDK version, I don't think we can realistically ship the Greenworks plugin as built-in to C2. Since NW.js can update independently of C2, having a fixed Greenworks plugin version built-in to C2 would break easily. Assuming the latest releases work OK, I think it would be better to add another table to the scirra.com/nwjs page listing all the Greenworks plugin releases available and the NW.js & Steamworks SDK versions they use, and then you can download whichever you want to work with, instead of being stuck with some fixed built-in version. So I think that would be the best we can do for officially providing the plugin.

    Let me know how everything works out.

  • If you just jump to a loading screen then jump to a big layout, the loading screen should already be displayed for the duration of loading. I didn't think layouts took that long to load anyway - surely it's only a couple of seconds even for a lot of content? Also loading is a pretty intensive and janky process which will tend to freeze whichever way we do it, so it will still hammer the FPS if it's showing progress. It's also easy to misuse this in a really bad way: if you are on a large layout, then you preload another large layout, you can reach up to double the peak memory usage, which causes crashes on low-memory systems. Currently the engine is smart enough when moving between two layouts to ensure the old layout is fully unloaded before loading the next one, ensuring peak memory usage is only the largest of the two layouts and never both at the same time. Any feature where more than one layout can be in memory at once could make this a serious problem.

  • I can reproduce, but this involves a very tricky part of the engine. I'm not sure it will be easy to fix quickly. Hopefully it is straightforward to work around.

  • I still can't reproduce this. It's a pretty confusing report for me. Your .capx includes the event you describe, but I'm not meant to use that? OK, so I just create an identical event beneath it? Then when you say "right click and change object...", what exactly am I supposed to right click? I tried following the steps again, and replaced the object for the second condition, and it still worked fine.

    You have to be absolutely precise, thorough and unambiguous with your steps to reproduce, otherwise it's a struggle to follow along with what you're doing.

  • Thanks, should be fixed in the next build.

    Please always attach a .capx as per the bug report requirements. You include a screenshot of events but did not provide a .capx of the same content. This makes it quicker and more reliable to fix the problem you describe.

  • Thanks, should be fixed in the next build.

  • Thanks, that's a useful demo. I think you just about figured it out with your workaround. Several effects (including replace color) do un-premultiply (divide by alpha), process, then premultiply (multiply by alpha). If the alpha is 0 (transparent space), it does a divide by zero, which is probably undefined behavior. For some reason only iOS handles this differently, but I suppose it is allowed to, since dividing by zero is a weird thing to do.

    My fix is slightly different - it just skips the divide if the alpha is zero. I patched several other effects which had the same issue as well.

    Thanks for the report, should be fixed in the next build.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Closing, read the bug report requirements or we will not investigate.

  • If you don't provide a minimal .capx, this will not be investigated. The bug report requirements go in to detail about why we need this.