Ashley's Forum Posts

  • Will there be a Scripting API for containers, to be able to reference them? A sample use-case is setting all containers with an instance variable of the uid of the parent object, upon creation.

    It's not currently supported. It's best to log suggestions at construct3.ideas.aha.io so they don't get lost in the forum.

    FWIW, containers are pretty straightforward: because they always create and destroy together, all instances have the same IID (i.e. the same index in the instance lists), so you should already be able to figure out the container instances fairly easily.

    I've tried picking the objects by manual name search (runtime.objects["name"]), however it seems that the container objects are only later created after the "instancecreate" event. So, it's not possible to reference them on creation, unlike events.

    It's impossible to reference all container instances in a create event, due to the reasons I explained here.

  • I tried a minified export in Firefox 86 and it worked fine.

    It can take a while though, so you may have to be patient.

    As ever if you run in to problems please file an issue following all the guidelines, since we need that information to be able to help.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • For loading the game on the android app, we download and cache the whole game bundle locally to reduce the download time for subsequent game loads. We leverage the request interceptor functionality of WebView to intercept the network request and then use the WebViewAssetLoader to load the response for the intercepted request from internal storage.

    Can I ask why you are doing this in the first place? Construct's built-in Android export option already gives you an Android app with all the resources bundled, so it works offline, and you don't need to download anything from the Internet, do anything else to manage offline support, or write your own network request interceptor. Construct's Android export has quite a lot of complicated compatibility code to work around all these types of issues, and so if you don't use Construct's Android export, you're going to have a long path of reinventing all these difficult compatibility headaches, such as this one, and probably several more you will encounter in future.

    Anyway, this specific problem should be simple to solve: as the error message says you just need to make sure the returned MIME type is application/javascript for .js files. A quick Google shows that you can set this on the returned WebResourceResponse via setMimeType. However as I said, this will probably look like it works until you run in to the next compatibility problem which you have to add further hacks for...

  • In r235 we fixed a bug in vertical alignment: previously it was not actually correctly vertically aligning the text; now it does a better calculation which is closer to the true middle based on the text metrics. This is technically a breaking change, so if you had adjusted your text positions to compensate for the wrong position, now you don't need to do that and so you might need to move them back a bit again. Unfortunately this is something of an unavoidable consequence of changing the alignment.

    To be honest the alignment of the Text object is a bit of a mess - the Text object dates back to the original version of Construct 2 in 2011, where BBCode was not supported, browsers did not provide the necessary text metrics to accurately align text, and (partly due to the missing text metrics) the original top alignment was actually slightly wrong. These things have been adjusted and fixed over the years (as I explained in the earlier linked bug). However some things are too difficult to change - for example if we changed the default "top" alignment we would break 10 years worth of Construct projects and inevitably be forced to change it back again. The change to middle/bottom vertical alignment when using BBcode was deemed to be both infrequently used enough to justify changing, and necessary as the previous result was actually wrong.

  • There's no point using this for the editor - the only reason now that we distribute an NW.js editor is to make it convenient to test when using the NW.js plugin. WebView2 doesn't support the NW.js plugin, so there's no point making an editor wrapper with it. Just use Chrome and install the PWA for an app-like experience.

  • The log showed it was using the Chrome 69 browser engine, which was released in 2018. All you should need to do is install app updates so either Chrome or the Android System Webview app updates, and it should work. I've no idea how a device could have gone so long without a routine app update.

  • It looks like the devices have out-of-date software. For example the 7.1 device appears to not have had any update since 2018. Check for app updates and system updates on those devices, and it should start working.

  • I regularly test APKs on different devices, and I've never seen what you describe. Perhaps it's a problem with the emulator, or a specific device. It's hard to help without more details such as the Construct project and details about the specific devices tested.

  • I guess I was hoping there would be a path for a Construct user to implement their own game on a console. But rather you seem to imply that Construct users should just hire third party people to help get their games on consoles. I would rather do this myself, but I literally don't even know where to begin or if it's even feasible - is this something I could do?

    In short, no, it's not feasible for an individual Construct user to do. You'd need a small team of C++ experts with console development experience, an in-depth knowledge of the Construct engine, and probably a year or two of full-time work to develop an engine. The porting companies already have all of that and already spent a couple of years developing existing C++ codebases that are ready to go now. So it's far easier to get them to use their existing codebase and expertise.

    Good games take a long while to make, which may be why you haven't seen much usage.

    It's been supported since 2017, so over 3 years now. I'd expect to have seen results by now. Don't worry, we will definitely have a phase-out period if we do remove it (as we do when removing any feature), but I'd advise to plan on using the porting services instead anyway, which is more or less the de-facto approach now anyway.

  • If it's slow to load, I would guess the server is just slow. I don't know how your server is configured and it depends on your host too, so I'm afraid I can't help you any further with this. Try contacting your host for support.

  • We had already established that some specific devices seemed to have performance issues, so this does not seem to be anything new. Since we don't have every Android device ever made it's difficult for us to test, which is why we advise to file an issue at crbug.com describing the device and the performance measurements.

    gpuultilization showing NaN means the device does not support GPU profiling, not that it doesn't support GPU rendering at all.

  • I'm not really clear what the problem is from your post, but I tried loading the web link and it appeared to load and run OK in Chrome. However if you press F12 and check the browser console, some resources are failing to load with a 403 Forbidden error from the server, which suggests a configuration problem with the server, or perhaps you didn't upload all the files.

  • I ran both demos on a Pixel 3 and both cases appeared to perform identically. The test does not do anything performance intensive, so it's probably not really useful for testing performance differences anyway.

  • I think it´s sad that it requires complicated porting in the first place, rather than a modern console simply supporting HTML5 with perhaps some sort of wrapper.

    Well, that's exactly what the built-in Xbox exporter does, and as I said it seems nobody uses it...

  • As I noted here, the C3 runtime does not work on older versions of iOS, and iOS 12+ covers almost all devices anyway.