Ashley's Forum Posts

  • You do not have permission to view this post

  • Wow! Congratulations, that's crazy!

  • Haxe isn't necessarily going to fix any performance problems. Like I said, most projects which run in to trouble are either exceeding hardware limitations, or grossly inefficiently designed. I rarely see projects where the C2 engine is the bottleneck, and where I can I optimise it so it's no longer the case. Rewriting the engine in another language is a colossal project and does not change that. Also modern JS engines are very good and can get close to native performance, especially with asm.js, which to me would be a far more compelling choice (but not without its own tradeoffs). I really think a runtime rewrite is off the cards for now.

    Also the rate HTML5 is improving is so fast, and with the might of well-resourced companies like Google and Microsoft behind it, I reckon it will be native-equal or better before we could even finish a new runtime.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Since it's based on standards, I'd expect that this is because WP8.1 does not support it.

  • I don't think it's such a good idea. We don't want to be obligated to support other developer's code (someone writes 1000 lines of code, submits it, disappears forever, then users file bugs that are based on that 1000 lines of code - the burden falls on us, and we may not understand what they did at all!). I don't think anyone will not take kindly to "sorry we can't fix your bug, we don't understand the code". Also third party developers may have their own very different ideas to us as to what the basic features of C2 should be, and we maintain quite a careful balance there. I think it's better to just let third party devs do whatever they like but with their own plugins using the SDK.

  • Just to throw my view on some of the topics cropping up here:

    Exporters - "depending on third parties" is unavoidable with pretty much any software development. Native engines depend on the OS and drivers instead of the browser, and those are rarely perfect either. Driver bugs can mean games glitch up or crash, and there is almost no reasonable way of investigating it other than buying the affected hardware, setting up a system to use it, installing a particular version of the driver, debugging it, then coming up with a (sometimes convoluted) workaround - if the problem even makes sense. This applies to both mobile devices and desktop components like graphics cards. Our old native engine in Construct Classic also depended on DirectX which needed a separate installer which was a big pain in the ass for everyone.

    Further, portability becomes extremely difficult with native engines. Several competing tools with native exporters have really patchy support for features across the different exporters. Some features may simply not transfer to other platforms because they are not supported, or they work differently, or the developers never got round to porting it there. It also massively slows down development since a lot of new features need to be written N times for N platforms, with N times as many bug reports, and the extra challenge of maintaining compatibility between N implementations; with C2 we only ever need write it once. Third party plugins in particular rarely support even half the supported exporters, only covering whatever platforms the plugin developer happened to have the SDKs set up for. HTML5 is really good at getting stuff to just work across platforms. Browser support does mean there are occasional gaps, but it's all based on standards and browsers are improving really fast, so gaps get filled in.

    I truly believe that native exporters would mean we end up doing nothing other than maintaining a bunch of parallel codebases with no time to do anything else, with games that cannot be ported between platforms, and no fewer dependency issues than we already have. I think it's another case of the multiplayer engine feature, where people suggesting it imagine it working out far better than it will in practice.

    Related to that is wrapper support - we've already dropped support for all non-browser wrappers. The remaining "wrappers" are actually true browser engines that are pretty much completely compatible with the existing engine, so it's more or less a finished job. I'd also note that most browsers manage regular updates without breaking the entire internet, so I'm sure apps will be fine too.

    Also related to that is performance - I'm willing to profile any .capxs that people send to me which have performance issues, and see if there are any bottlenecks in our engine. Most of the examples I see though are simply extreme cases of ignoring the performance guidelines and designing an incredibly inefficient project, or they otherwise exceed the hardware capabilities of the advice. Rarely is the C2 engine the bottleneck. In particular WebGL allows native-grade use of the GPU, so if your game is GPU bottlenecked, a native engine will not perform better. Modern mobile devices are also approximately as powerful as a cheap laptop - or more powerful - so if your game doesn't run on mobile, it probably won't run on low-end desktop systems either, and both types of system have plenty of power to deal with a well-designed game.

    3D - I've said it before and I'll say it again! It's a whole different product idea IMO, and we're going to stick to a 2D tool for now.

    As for our plans for 2015, there are a lot of good ideas in this thread, but they're not really possible until C3, which we plan to start addressing this year.

  • This thread was originally from early 2013 and things could have changed significantly since then. Please post a .capx demonstrating the issue so I can take a look.

  • AFAIK Construct 2 itself should never bring up that prompt. I think it is caused by either the server, a third-party plugin, a browser addon, or some adware/crapware on your computer that is trying to take over.

  • Closing as not a C2 bug, is a problem with your own plugin.

  • The platform behavior is extremely complicated and you will have a very difficult time reproducing all the algorithms it uses to handle things like subpixel-perfect collision, slopes, jump-thrus, moving platforms and variable direction of gravity. Ideally the built-in behavior will be suitable for all purposes. What is it about the built-in behavior that is lacking and making you want to design your own platformer code?

    • Post link icon

    //Edit: This error only occurs when the .exe isn't named nw.exe

    The instructions in the original post specifically call this out as a requirement:

    [quote:32oad47m]4. Make sure the EXE file is called nw.exe. For some reason it doesn't work if the executable file has a different name.

  • Closing, please reproduce in a new empty .capx and attach that to the bug report. As per the bug report guidelines we do not accept complete projects in bug reports anyway.

  • Look it up in the manual:

    [quote:1ij9lxje]Downscaling

    Adjusts the tradeoff between rendering quality and memory use when resizing images to smaller than their original size (downscaling). The options are:

    ...

    High quality: mipmaps are enabled and the spritesheet after export pads out all images to power-of-two sizes. This can significantly increase memory use, but can resolve two minor rendering issues: light fringing that can sometimes occur along the borders of downscaled objects, or a quality change in the last frame of an animation. Do not use this mode unless a rendering artefact is specifically observed and selecting this mode can be observed to resolve it: the increased memory usage can be very significant, and is not a cost that should be added for no reason.

    If you just go blindly changing options without understanding what they do, then you will end up confused like this. Since a lot of people seem to make this mistake with this option, the next build warns you when choosing 'high quality' downscaling mode.

  • If you want to customise the appearance to something significantly different to the default, you will probably find it easier just to compose a new progress bar out of sprites and tiled backgrounds.

  • My point is if you're going to run out of memory at any point, it will be step 2, before there's any chance to unload anything, meaning the feature doesn't help prevent the device running out of memory.