Ashley's Forum Posts

  • It depends on what you're doing, but merely having 1000 objects is not actually that much for Construct - it's more than capable of handling that many objects. For example this blog post demonstrates that even old mobile devices can handle around 10,000 sprites on-screen and still hit 60 FPS.

    If you're using performance-intensive features like Physics, then it may be a different story. But Physics already uses a C++ engine compiled to WebAssembly, so it's probably already about as fast as a native engine.

    Perhaps the problem is the game design, if you're doing something inefficient like nested loops. It depends on your project and it's hard to say more without seeing exactly what you're doing, but Construct is definitely capable of handling 1000 objects smoothly.

  • Yes, you can use WebAssembly - there's even an example of loading WASM.

    However it will not make your game 10x faster. Well-written JavaScript code is exceptionally fast with modern JIT compilers, and can get surprisingly close to the performance of compiled C++. The blog post Is WebAssembly magic performance pixie dust? covers this well - it depends a lot on precisely what you're doing, but the differences are often surprisingly small and WebAssembly is not necessarily even going to always be faster.

  • I think we're posting at the same time, but I'd add: one of the reasons we have weekly beta releases is to get feedback as quickly as possible and iterate on it. We do try to release features as soon as is reasonable, because we don't want to spend ages working on something that isn't quite what people want. But when it comes to feature suggestions, often everyone wants something slightly different, or different people have strong but contradictory opinions on it. Nothing is perfect and will satisfy absolutely everyone, and I don't think that means we are doing it wrong.

  • Scaling to large projects is difficult even when you fully code things. There's an art to learning how to manage it and design things so that you can take them as far as you want to go.

    The JavaScript (and now TypeScript) support in Construct is partly there so that if you are willing to code, you can use it to help scale your project further, or do advanced things beyond the capabilities of the built-in plugins and behaviors. For example you could write a custom pathfinding algorithm, running in a web worker for multithreading, and tweak it to match the specific needs of your game. You don't need to use the addon SDK either, so you can bypass all the configuration stuff you need to set up event sheet features, and just custom code something for your project. Then you can still write things nicely with modules and re-use that code across different projects, too.

    So if you want scalability, or to do more advanced stuff than the plugins/behaviors provide, that's part of the reason it's there! You can usually also use event sheets for custom logic too of course - it just takes more work. Construct has always been designed with the philosophy that the built-in stuff covers common cases, but is flexible enough to adapt to specialist needs, or if you need to do something really customized and advanced, then there's capable coding features too.

  • Another option is PWABuilder, which lets you submit a web hosted app to the Microsoft Store. We use it for Construct.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • The File System plugin can read binary files in to a Binary Data object. Then you can use the GetURL expression of the Binary Data object to get a URL to that data, which you can then use in places like an <img> tag.

  • It's ready to use if you're happy to use a beta release. It'll make its way to a stable release in due course. The Steam for WebView2 plugin is documented here.

  • Remember we're a small team with just a handful of staff working out a single office. If you're expecting Construct to dominate the entire game development industry and cover a feature set that would require hundreds of staff to achieve, it's unlikely to happen. I don't think it's realistic to expect so much of us, just like it's unrealistic to expect a small, self-funded team of indie game developers to build a MMORPG on the scale of World of Warcraft.

    We really do care and I think we have achieved great things given the resources we have available. It is painful to read people accusing us of not caring and listing things we don't remotely have the resources to cover as their reasoning why.

    I know people get tired of hearing me keep saying "we're a small team and we have limited resources". It's because it's true and 99% of the time it's the answer to "why hasn't XYZ been done yet". Claiming everything is broken, limited, or that the team don't care, is unreasonable and also a disservice to the many people over the years who have loved using Construct. I'd also point out the Forum & Community guidelines which cover this as I think these sorts of arguments are bad faith and I don't think that kind of thing should be discussed further on the forums.

    • Post link icon

    This is not a useful kind of thread, so locking it. Please refer to the Forum & Community guidelines.

  • How would you use the script files to extend an object's functionality?

    Subclassing instances is designed to be able to do that. For example the Ghost Shooter Code project creates a custom MonsterInstance class with custom properties and methods specific to the monster, e.g. a health property, a DestroyWithExplosion() method, and so on.

  • Most modern systems have a keyboard shortcut to enter emoji - for example on Windows it's pressing the Windows key + dot while typing, which brings up an Emoji picker so I can type emoji like this: 👍

    Construct fully supports emoji, so you should be able to use them anywhere in the editor.

  • Yes, that message only appears in preview.

  • The settings are remembered by the browser, and it will only remember it as long as your privacy settings allow. For example if you go and clear all your cookies in settings, it will erase all storage used by Construct, including settings. ("Cookies" is a really bad term for this, it really means "local storage".) So you probably need to check your browser privacy settings, or if you have something like a browser extension that clears cookies every 24 hours "to improve privacy", then that will be wiping all of Construct's remembered settings too.

  • The Addon SDK isn't meant to be the primary way of writing code for your project. Just use script files (or scripts in event sheets) instead. The Addon SDK is there if you want to do something like integrate a third-party service in a way you can use from event sheets and re-use between a wide audience. If you want to do something project-specific I'd definitely recommend to just write code directly in your project instead. JavaScript Modules are also a really good way to share chunks of code between projects too, if you have bits of code you want to re-use across projects.

  • For the record, we want to do both: an easy-to-use tool for beginners, and also a capable tool to build and publish a full game. So we need both features that help absolute beginners get started (like guided tours), and help advanced users go further (like JavaScript coding).