Ashley's Forum Posts

  • Iolva - this post is from 2012, I think you should start a new thread.

  • Yeah, please post this to the bugs forum so I will see it in the next cycle.

  • Any Android 4.0+ device running Chrome should be able to use WebGL, unless the device's GPU has been blacklisted for being unreliable. Crosswalk is still important for Android 4.0-4.4 support.

  • As for the Intel HD graphics situation, in my game test cases, it's not specifically a fill-rate or hardware performance issue. It's a WebGL issue, or rather, Intel's poor performance with many of the shader effects within C2. Removing those effects, game performance is FINE. Same game, with and without a few shader effects, goes from stutter mess to smooth performance on a HD4000.

    That's not WebGL's fault, it's exactly what I was talking about, just weak hardware. You'd see exactly the same performance characteristics with those effects in a native app. You can assume WebGL performance is identical to a native app using OpenGL.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • From what I read, it seems likely Xbox One could support independently published Windows 10 apps in the near future, which would solve that. The recent Xbox system update means C2 games run well in the Edge browser on the Xbox which is very promising. So I think there's no need for a native exporter to cover Xbox. PS4 is trickier, I'm not sure what will happen there. I've read the main menu uses WebGL so it seems they have the browser tech there! But so far there has been no indications of it being supported. Given the huge engineering challenge, ongoing maintenance difficulties, and incompatibility problems, if we did it at all, it would be extremely expensive. I'd rather see an Xbox-style solution on the PS4, which means we could provide it cheaply and easily.

  • Texture distortion is complicated - Classic had a skewing feature, and everyone expected it to affect the collision mask as well. So then you have to take in to account position, rotation, scale and skew in collision testing, and that starts to turn a simple, elegant and fast collision system in to a real mess.

  • It's an anti-feature to help people duplicate logic, since it reduces maintainability. In your example, now you have to maintain two identical sets of events, so if you ever change one, then you have to make the same change to the other. If you do this 20x over, then you have a real mess. Families are a better solution: put both objects in a family, then the same set of events applies to all the objects with no duplicated logic.

  • I've written a lot of reasons for this in the past which you can go look up (really tired of repeating it all). But since you mention performance, I will bring up again that a lot of reported performance issues are hardware limitations. Those cases will be no faster with a native engine. Example: a game is slow on a laptop with a weak integrated Intel HD graphics chip. I investigate, and it's hitting the GPU fillrate hard, so the bottleneck is in hardware. A native app would have exactly the same performance problem, because it's the same hardware. Then the user asks for native exporters without understanding it won't help at all. I see a lot of this.

  • It'd still kill your battery. I think it's better to encourage people to use non-battery-powered systems to host.

  • No, it's not yet possible, and Ejecta is no longer supported. Hopefully a future Apple TV update will allow the web view to work.

  • You can download NW.js yourself from their site and copy the package.nw file that Construct 2 exports over to whichever version you chose, and it should work with that version of NW.js. We have to update NW.js at some point, and the first beta release in a beta cycle is probably the best time to do that. There were several other bug reports affecting NW.js that were Chromium bugs that were long since fixed, so older versions are not necessarily less buggy. Hopefully we can get NW.js 0.13 working reliably through the next beta cycle.

  • Multiple render targets: useful for deferred 3D lighting rendering, not sure what it could do in 2D. It just means being able to draw the same set of objects to multiple surfaces at once, which our engine doesn't need to do.

    Antialiasing/multisampling: this is generally a massive performance hit for a sometimes imperceptible improvement in rendering quality. Since most 2D games use alpha-channelled textures instead of geometry, I don't think there's anything to gain from it.

    Query objects: I guess they could return some performance stats or debug info, but I'm not clear in what way that would be useful.

    Culling: already done in the engine before it issues draw calls. I don't think there's any point moving it to the GPU, since it means submitting many more draw calls, which would probably actually degrade performance.

    In other words, WebGL 1 has almost everything a 2D engine needs already.

  • iOS can't play ogg files, you need the .m4a equivalents. C2 should encode them for you if you import PCM WAVs like the manual recommends. You should also check you're using the latest version of C2 where we worked around a change in iOS that prevented audio playing.

  • WebRTC hosts can keep themselves running on desktop OSs, but I think the Android OS puts the app to sleep when to focus away. I think that's entirely reasonable. It's a weird idea to run a persistent server on a battery-powered OS.

  • I've been keeping an eye on WebGL 2, but most of those new features are of most utility to 3D engines. For 2D engines the biggest deal about WebGL 2 is it has proper non-power-of-two texture support, which means, finally, non-power-of-two textures can tile and mipmap properly. Realistically this means a small rendering quality improvement in niche cases. Not really the biggest deal in the world for a major new version of WebGL! I don't think there's any urgency to support this, but it will be nice to have the NPOT texture support when it comes.