Ashley's Forum Posts

  • Do you mean a special "don't delete any layers" mode, or a specific "don't delete the layer with this name" mode?

    It's still quite tricky to handle such cases, because suppose in your example in Layout A, you move Sub Layer A after Sub Layer B, and then replicate it ignoring Unique Sub Layer. Should layer replication on Layout B move Sub Layer A after Sub Layer B (before Unique Sub Layer), or before Sub Layer C (after Unique Sub Layer)? It's easy to come up with one answer, but then one day you or someone else might need another answer. So then maybe you need a way to choose. But then you need to design some UI to express your intent, and I'm not sure how that would work. As you start trying to carve out exceptions then you get more tricky cases like this.

    One easier solution might be to have Unique Sub Layer on every layout and replicated as normal, but just left empty and unused on some layouts.

  • An update: as of r501 there are two new features in the Layers Bar modelled on the option C approach.

    Please back up your projects before trying them - they make complex project-wide changes, and in particular, currently replicating layers cannot be undone. If anything goes wrong it's possible they will make a real mess of your project, so take care.

    'Replicate layer across project' will copy the layer properties and the structure of all sub-layers (and their properties) to all other layers in the project with the same name. This means you can easily update layer properties, as well as adding, moving and deleting layers across the entire project. Note however that due to the aforementioned problem, renaming a layer will be counted as deleting the layer with the old name and adding a new layer with the new name.

    'Rename layer across project' is designed to solve that last problem by renaming every layer in the project with the same name.

    Let me know how it works out for you in your real projects!

  • I posted a while back about all the many problems NW.js had, including relying on unsupported hacks to get the Steam Overlay working that we cannot guarantee will keep working, and which did indeed break for several months (shortly after we made the change to our own exporters, so not many people noticed). Our new export options support the Steam Overlay now. We'd like to improve support and it may be possible to in future, but it would be a lot easier if Steam (who are a multinational corporation with thousands as times as many staff as we have) co-operated. The more people who contact Steam about it, the more likely they are to act, so please do contact them about it.

  • I just tried a test build and the build service seems to be working normally for me, so it doesn't at first appearance to be an issue with the server. Does it still reproduce if you remove the third-party addons? If not, it's probably caused by one of them, in which case you'd need to report it to the addon developer.

  • If there is a problem with a Steam feature, please report it to Valve - there's usually not much we can do on our end, and it's up to them to get Steam features to work properly.

  • The ad SDK should be including the permission automatically, if your project uses the Mobile Advert plugin.

    Perhaps you previously uploaded some other app version that didn't use the Mobile Advert plugin? Google Play might be warning about that, rather than the latest one you uploaded. The message only says "one of your active artifacts", so it could be referring to any.

  • Construct's Mobile Advert plugin is basically glue that joins the event system to Google's ad service. We have no involvement in whether Google's ad network decides to serve ads or not, so if you have issues with that, it may be best to contact Google support first. If you believe there is a problem with Construct, please file an issue following all the guidelines so we can properly investigate.

  • Construct 3 should be good for this - and so would Construct Animate. Both should handle that all just fine. Probably the only thing to be aware of is autoplay restrictions in browsers often mean you can only start video playback in a click or touch - but that's how browsers treat web content in general, it's not specific to Construct, and all you need to do is add a "play" button to start video playback.

  • We aren't really involved in publishing apps so we're not always best placed to answer such questions, but I think in this case all you need to do is update your advertising ID declaration (presumably by clicking 'Update declaration'). I believe the problem is you've effectively told Google Play your app uses an advertising ID, and then you uploaded an app that doesn't use an advertising ID, so it's asking you to resolve the discrepancy. (I don't know why they have to ask you to make a declaration when they can tell from the app you upload...)

  • You must have done something wrong. If you choose the Linux (CEF) export option, it has no dependency on Microsoft Edge WebView2 at all.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • The link you pointed out is intended to go to construct.net. That's the site for Construct 3 and Construct Animate!

    It's usually impossible to help from just a picture of a crash - especially because the screenshot only includes a small amount of the crash report information, and nothing relating to the actual crash that happened. It's best to file an issue following all the guidelines to ensure we can properly investigate - or at least copy-paste the full crash report, otherwise there's nothing we can tell beyond "it crashed".

  • The situation you described shouldn't normally result in a conflict. Suppose Layout1 has instances of ObjectA and ObjectB. User A modifies the position of some ObjectA instances on Layout 1. Meanwhile you change some properties of ObjectB which change how they are saved to the layout file. These should result in non-overlapping changes (i.e. they affect different lines in the layout JSON file) which all get merged fine.

    Conflicts only occur when two users both modify the same lines with conflicting changes - such as if you both modify the position of ObjectA instance 1. Now the line in the layout JSON file with the position of that instance has two conflicting changes, so the source control tool will ask you to resolve the conflict.

    I'd suggest having some policies about how your team work to reduce the chance of conflicts - for example making regular small incremental commits is better than waiting a month and making a huge commit with tons of changes which has a much higher risk of conflicts. And of course avoid directly working on the same thing at the same time.

  • WKWebView has basically the entire Safari browser engine. The main difference for Construct with video playback is to get the video to render inside the canvas it has to do texture upload of the video to WebGL/WebGPU every frame. That can work efficiently and be fully GPU-accelerated, but it seems to be a bit problematic on some platforms. You can bypass it by just using a video tag in a HTML element object, and HTML layers if you need more layering - that will just play the video normally, but with limited features in other ways (e.g. because it's not rendered inside the canvas, it won't respond to layer opacity, effects etc.)

    FWIW I think the AI is wrong - Construct mobile exports do not run on the file:// protocol, it uses a custom scheme handler and works much the same as a HTTP server, and I don't think that GPU acceleration is affected by how anything in the networking stack works (I've never heard of such a thing before nor is there any obvious technical rationale to do that). I think it's still the case that AI doesn't say "I don't know", it just makes up plausible sounding guesses.

  • IIRC .mov is an older variant of .mp4. I didn't think there would be any significant difference in support for them and everything on the modern web would use MP4 instead of MOV. Are you sure you've encoded the video correctly?

    AFAIK alpha support for video is pretty inconsistent in browsers at the moment - you might have better luck encoding the alpha channel as a separate greyscale video, and then using it like a mask.