Ashley's Forum Posts

  • You do not have permission to view this post

  • As far as I am aware it works fine. There may be a mistake in your events, sharing your project could help others identify that.

  • Yes, each shortcut has its own ID. But they still launch a URL like it does in the Chrome browser, and use the same storage as the Chrome browser.

  • You have probably bookmarked different URLs. You can't see the address bar in home screen apps so it can be hard to tell if you did that.

  • Those triggers should also work, they do count as user input triggers.

  • "Add to desktop" does not use a separate cache. It shows exactly the same thing you see in the Chrome browser. It is essentially a shortcut to a bookmark, with parts of the Chrome UI hidden (e.g. no address bar). I would guess you just got confused by the update process, which requires an extra reload.

  • Basically I'm saying:

    • "ignore GPU blacklist" contradicts "use Swiftshader", because if you ignore the GPU blacklist, it will never use Swiftshader
    • there is currently no reason to use Swiftshader because we already have a software rendered fallback to canvas2d. However most people want their games to run faster, even with risk of glitches, so they use the "ignore GPU blacklist" setting, which disables software rendering.

    So there's no reason to do this now. We'll probably do it later though, since it makes sense for the C3 runtime - assuming you don't use "ignore GPU blacklist". Again, if you do, that literally disables Swiftshader, so...

  • I think R0J0 alluded to some interesting difficulties. FWIW OR blocks are extremely complicated internally which makes them difficult to begin with. But when you add picking, things start to get less intuitive. For example take this gotcha with the existing OR blocks:

    + Sprite instance variable 'health' < 0

    OR

    + Spacebar is down

    -> Add 10 to score

    -> Sprite: spawn 'Explosion'

    People run in to this counterintuitive issue where the event can run with no instances picked. Suppose you press space and no sprite instances have health < 0. The event runs because the space bar condition was true and the score increments - but zero instances of Sprite are picked because they all failed the condition - and no explosions are spawned. So it looks like the "Spawn" action is broken, when actually everything's working as designed. There is nowhere else in the event system events can run with zero instances picked, and this kind of quirk occasionally trips up users. In other words, once picking gets involved, it's not as simple as boolean algebra any more. I am sure this suggestion would uncover similar confusing and difficult cases.

    I think the bigger problem is that even with this feature, it's still limited. Currently you can do events of the form A AND B AND C, and if you use an OR block, you can do A OR B OR C. If you add a sub-event that is also an OR block, you can make events of the form (A OR B) AND (C OR D). This suggestion allows for (A AND B) OR (C AND D). The next logical step is to allow more complex forms, for example (A OR (B AND C)) OR D, etc. To do that you'd really need "open parenthesis" and "close parenthesis" conditions, which I really think is a step too far. I think expressions are better suited to that, especially the "pick by evaluate" condition which also allows for picking instances by arbitrary expressions.

    Basically given the complexity of this, the weird edge cases, and the unsuitability of taking it further, I think we have an OK tradeoff as it is.

  • You also must run the site on HTTPS. Insecure HTTP does not support fullscreen mode.

    Do not add a wait before requesting fullscreen: that will break it. You must request fullscreen in a user input trigger with no wait.

  • Swiftshader is a software renderer. Software rendering is slow. People don't want their games to be slow. This is the whole reason the "Disable GPU blacklist" option exists: it will prevent the use of software rendering and ensure the game is fast using the GPU (at the risk of glitches due to known graphics driver bugs).

    Further, SwiftShader is a software renderer for WebGL. If the GPU is blacklisted and the blacklist is enabled, then Construct games already drop back to canvas2d, which will probably be software rendered (and AFAIK that doesn't use SwiftShader).

    The C3 runtime will not use a canvas2d fallback so will need a software WebGL renderer. For that reason, we will probably include SwiftShader. Other than that, the only use case for this is pretty much: you want to use WebGL shader effects on a system with no hardware GPU at all. That's kind of a tiny niche, especially amongst gamers. I'm guessing you weren't aware that disabling the GPU blacklist would also disable Swiftshader, and the fact there is already an existing canvas2d software renderer.

  • I don't think these requirements will affect Construct, it should already be compliant.

    I would guess this is part of the fallout of the whole Cambridge Analytica scandal that's been in the news lately. Facebook are getting excoriated over that so I would guess they are putting everything on hold to review how everything is handled. I would guess once they have figured out what they're going to do about it then they'll reopen submissions.

  • C3 still does not rotate images on spritesheets, but it does spritesheet all kinds of objects (except for Tiled Background), whereas C2 only spritesheeted Sprites specifically.

    So C3 plugins that draw an image need a few tweaks to make sure they support spritesheeted images. Use this code in typeProto.onCreate to determine the image bounds:

    this.spriteX = this.texture_data[3];
    this.spriteY = this.texture_data[4];
    this.spriteWidth = this.texture_data[5];
    this.spriteHeight = this.texture_data[6];[/code:3ut6fbzx]
  • Why not just decide at the point you load the ad which will be shown?

  • - can WebRTC DataChannels / multiplayer operate on mobile?

    Yes. However some cell data providers have restrictive network address translation (NAT) that can block peer-to-peer connections. (That won't affect wifi which uses a different connection.) You'd need to run a TURN server to reach ~100% connectivity anyway.

    [quote:1pitrj1v]If safari supports it, would it work when wrapped with Cordova?

    Yes, WebRTC also works in Cordova when it's supported.

    [quote:1pitrj1v]- is WebRTC is on how many browsers now in 2018?

    Chrome, Firefox and Safari 11+ all support it. Safari has a bug that can cause connections to drop that is already fixed, just need to wait for the 11.1 release. The only browser with no Datachannels support is Edge.

    [quote:1pitrj1v]could a game using WebRTC work on a site like Kongregate?

    Yep, nothing special about that case, WebRTC still works.

  • Again, it's hard to help with such little information. The best thing to do is make an example project and file a bug report following all the guidelines.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads