Ashley's Forum Posts

  • It's often infeasible to work around browser issues. We don't know why or how they are going wrong, and all our existing code is there for a necessary purpose. So what could be changed? We could spend a few days making random changes and try to avoid it, but there is no guarantee we'd find a workaround, and no guarantee the workaround would actually work for everyone once established, because we don't actually understand what the problem we're trying to work around is. The only sensible thing to do is fix the underlying issue in the browser.

  • It was easy to do, so I've added it for the next release.

  • Regarding IAP. There has been bug fixes for the Google Billing Library in v3.0.1 (released 2020-09-30) and also in v3.0.3 (released 2021-03-12) which both could affect cordova builds afaik.

    Sure, all software libraries regularly update, and we periodically update the versions we use too. Minor updates like this tend to just be routine maintenance and so not something we have to rush updates out for. IAP also uses cordova-plugin-purchase internally, and we're up-to-date with the latest version of that (v10.5.0). It's not easy to update further than that Cordova plugin supports, but it's regularly maintained and it looks like they're already working on an update with Google Billing Library v3.0.3, so it will get updated in the end. This is all pretty normal for a software library.

    Regarding consent SDK (part of Mobile Advert plugin) there has been a lot of changes here

    I'm aware of that, but as I mentioned these changes are really difficult and time consuming to incorporate. It's on the todo list.

    Regarding Admob SDK (also part of the Mobile Advert plugin) Google has made a lot of changes for the different ads, most of which was released in v19.2-19.7.

    We actually already use v19.8.0, which only came out last month. I'm aware there's a v20 with lots of breaking changes - again it's difficult and time consuming to make all the changes necessary for this update, but it's on the todo list.

    In short, I'd like to point out that just because a new revision is out, e.g. 1.0.1 while we're still using 1.0.0, is not a sign of some kind of negligence about updating. It just means some regular maintenance has happened, and users of the library will update in due course.

  • Construct uses industry-standard JavaScript, identical to the language used in browsers or server-side tools like node.js. The language is not specific to Construct. What you learn using JS code in Construct will be highly transferrable to other places using JavaScript.

    However as with any tool or framework, there are various API methods specific to the platform, which you can find documented in the scripting section of the manual.

  • Both the IAP and ad plugins are maintained and should be up-to-date (apart from Mobile Ads not using the very latest version of the ads SDK, which AFAIK is not a problem for the time being).

    There are additional hurdles to some features - for example IAP subscriptions involves running a server to verify subscriptions. This is very difficult to support in software that's meant to run 100% client-side. Who runs the server?

    These plugins are also some of the most difficult and time-consuming plugins to develop. We're a small team with limited resources, and it's already painful the amount of time that gets sucked in to things like debugging ad issues (which often are just mistakes in events or people misconfiguring the AdMob side of things), and maintaining them to keep them up-to-date with changes. I know these addons are important to a lot of people. But they are not your only choices: there are already several third-party addons out there, some of them commercial, which provide lots of extra monetisation options - for example see addons in the Asset Store and the monetization category on the Addon Exchange. This is exactly what we intend with the addon system: to make sure you're not limited to just what we offer - anyone can make things like extra ad/monetization plugins, including covering lots of different kinds of ad services, which you can choose between.

  • Click "Learn more" and it will be permanently hidden.

  • This particular issue is a bug in Chrome on Android.

  • It looks like the Chrome origin trial for this experimental feature expired, and they haven't started a new one yet. This is why we warn that experimental features can change at any time!

  • This is not supported in Construct 2, but Construct 3 supports it with the solid collision filtering feature.

    • Post link icon

    The sprite angle is just Sprite.Orbit.Rotation + 90 when going clockwise, and Sprite.Orbit.Rotation - 90 when going counter-clockwise. It's as easy as that.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
    • Post link icon

    I now got the code to work using set mirrored action -- however, quite like my earlier work around -- where I set a flipped frame, to rectify the flipped image -- the set mirrored is visually noticeable by making the sprite blink.

    That's just a normal consequence of the 'Set mirrored' action. Even if the behavior controlled that for you, it'd still work like that.

    'Set mirrored' is a shorthand for setting a negative width. The reason we don't make behaviors control the mirroring is it effectively means the behavior then controls the object size. This could then conflict with any other actions or behaviors that also aim to adjust the object size. So by leaving this to your event sheets, you remain in control of how the object size is managed.

    Behaviors are really just to simplify some basic calculations and gameplay mechanics. Most behaviors can be replicated in events, and if you need to customise them beyond what the behavior provides, you can and should use events instead. This is an intentional design decision of Construct.

  • Why are you asking for this? It should make no difference to the game if Construct uses a spritesheet or not, and using a spritesheet is more efficient.

  • It is not possible to run games on a file:/// scheme because modern browsers have such tight security restrictions for local files that it prevents the game loading.

    Just use the right exporter for the job. E.g. use the mobile app exporters for Android/iOS, the desktop exports to run locally on Windows/macOS, etc.

    • Post link icon

    The sprite is not mirrored if you use a negative rotation speed. It just uses the same angle as if it had a positive rotation speed.

    I believe this is by design as it matches other features in Construct, like the Platform behavior. If you intend to flip the direction of the sprite, you can use the 'Set mirrored' action. For example a typical platform game will use the 'Set mirrored' action as the player presses the left and right movement keys - the behavior does not control that for you.

  • Construct 2 never had any official 3D features. Perhaps you were talking about a third-party addon, which is the responsibility of the addon developer.