Ashley's Recent Forum Activity

  • I would avoid speculating on what causes issues until it is proven. Bugs are often very complicated and falsely correlate with irrelevant things.

    Given that, I'm afraid it's not clear what the problem could be. This is pretty much always the case with forum posts that just describe problems, because there's too little evidence to work with. This is exactly the thing our bug report guidelines are aimed at solving, by requiring that you provide enough information that we can actually help, so I would advise to follow those and file an issue accordingly if you think we should investigate this further. However if something works in iOS 14.5 and is broken in iOS 14.6, that is very good evidence that the iOS update broke it, since nothing else has changed. In that case, it's probably better to just get in touch with Apple directly.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • FWIW I just tried exporting Space Blaster to iOS and running it via Xcode on an iPhone with iOS 14.6. Audio playback worked just fine. So there doesn't seem to be any kind of fundamental issue with audio playback on iOS 14.6, at least as far as I can tell from that test. Xcode did log a message about "Required client entitlement is missing", but it did not seem to affect anything, and all audio playback worked fine regardless. Frankly I don't know what that message means or why it would appear, but it doesn't seem to cause any problem in my test.

  • I'm aware only apple/webkit can fix this bug, but presume you'd have some inkling as to the cause of this

    I'm afraid I have no inkling whatsoever. Apple regularly break things with iOS updates, and they often break in bizarre and unpredictable ways. It's their code which is broken, and I can't predict how or why it's gone wrong.

    I'd expect Scirra to have an existing relationship with iOS support built over the years you've been in operation, and a more efficient way of contacting apple than I have.

    I'm afraid no such relationship exists at all. I'd love to have such a close relationship with Apple. But they are an incredibly opaque company who rarely seem to talk to anyone on the outside at all.

    I shouldn't have to point out that this is potentially affecting all games published on your engine

    It's not yet clear that is actually the case. If only games that are 5 years old are broken, it's possible it was something we already fixed a long time ago, and thus the impact should be pretty limited. If all games are affected, we could potentially have a big problem, but even then what can we do? We can't fix iOS, only Apple can. It's often extremely difficult to find workarounds as we have to rely on sheer guesswork. If you can reproduce the problem in a new Construct 3 project, that would signify a wider problem. If you then share that project I could try testing this further myself, but once again, I can't guarantee that anything can be done until Apple fix the problem.

  • By default, audio should automatically stop when the page is hidden or closed.

    If it doesn't, please file a bug.

  • I'm not aware of any intentional change regarding how audio playback works on iOS. If an iOS update breaks something, you need to report it to Apple - we can't fix bugs in iOS, only Apple can.

  • It looks like some kind of bug when using the C2 runtime. But I'm not sure there's any point in fixing it - we're removing it in about a month, as per the sunsetting Construct 2 plan. So you should upgrade to the C3 runtime as soon as possible anyway.

  • WebM Opus is the only audio file format that is guaranteed to play on all platforms. If you let the user choose their own audio file and the platform doesn't support that format, it won't work.

  • As I said, tab crashes are browser bugs. I'm afraid I simply cannot speculate because we aren't responsible for browser development - such issues need to be filed with the browser makers and only they can deal with them.

  • As stated in the documentation, do not use any undocumented features. I can't stress this enough - it's a really terrible thing for support and compatibility which pretty much always ends in disaster for everybody, but it still seems to be hard to keep getting this message across. Undocumented features are not guaranteed to keep working as they are internal details of the engine and are subject to change at any time. If you use them, your code could break at any time and we won't offer support if that happens either. The official documentation also stresses this, which also points out:

    The only reason these can be found is because the way JavaScript works makes it difficult to hide them.

    Just make your own, especially as these functions are really simple. For example distanceTo is just Math.hypot(x2 - x1, y2 - y1), angleTo is just Math.atan2(y2 - y1, x2 - x1), toDegrees is x * 180 / Math.PI... I'm sure you can find many more equivalents with a quick web search.

  • The scripting reference covers what you can access directly from JavaScript, e.g. IRuntime. Some system expressions already have equivalents, which may be on different interfaces (e.g. how the layout width and height is part of ILayout), rather than in one big list, as is appropriate for a JavaScript API. Others are straightforward to implement with built-in JavaScript features or your own small functions. Some others may not be supported yet. So the answer depends on the specific system expressions you intend to use.

  • It's probably just a historical artefact of the original codebase from years ago. I think it was also probably not covered because skipping frames implies wasting memory, since if you have loaded frames in to memory that aren't displayed, then it would be better to reduce the number of animation frames. I can see how it's still problematic if you want a dynamic animation speed that varies widely, though.

    It's also difficult to change things like this without breaking existing projects, since for example if there are lots of projects out there that set an animation speed to 999 in events and just use that for a kind of maximum speed playback, then changing it to do frame-skipping will change how those projects work, and possibly break them.

    You should be able to work around it by controlling the animation in events and using 'Set animation frame'.

  • If you want to customise the loading screen, use a loader layout.

Ashley's avatar

Ashley

Early Adopter

Member since 21 May, 2007

Twitter
Ashley has 1,827,199 followers

Connect with Ashley

Trophy Case

  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Forum Wizard Made 5,000 posts in the forums
  • Forum Unicorn Made 10,000 posts in the forums
  • Forum Mega Brain Made 20,000 posts in the forums
  • x126
    Coach One of your tutorials has over 1,000 readers
  • x74
    Educator One of your tutorials has over 10,000 readers
  • x5
    Teacher One of your tutorials has over 100,000 readers
  • Sensei One of your tutorials has over 1,000,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • x44
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

32/44
How to earn trophies

Blogs