Ashley's Forum Posts

  • The message about throttling suggests you're spamming the API with constant requests and it's decided to stop you to prevent overloading the servers. I'd guess you've accidentally made an event that tries to load the leaderboard every tick, or something like that.

  • Take fast trigger flag for example. It is only a flag, not specific code of implementation

    No, it is not just a flag. It uses a whole different path through the triggering code, which is deep in the internals of the event engine. Just because it's exposed as a flag, doesn't mean it's as simple as flipping a bit.

  • bilgekaan - it's not about needing money to do it, it's more about who will write it, when, how it's managed, and how it's scheduled with everything else. Time is the bottleneck here.

    "Ability to install multiple addons at once" could be submitted to the feature request platform. It's certainly a smaller feature than making a whole online addon service.

  • If you use it identically to the Function plugin, it's probably OK. But I don't know, the bigger problem is that it's unknown which circumstances it works exactly, so it would be tough to document it and I don't want to have to support it if someone uses it in other cases. E.g. if someone uses it in some other way, then files a bug because it's broken one way or another, that's exactly what I want to avoid. It's meant to be a single-purpose shortcut that nobody else knows about.

    One of the big problems with the C2 SDK is basically everything is public and people go nosing around undocumented APIs and relying on them. This is pretty bad for us, especially if people start asking us to document or better support random hacks in the engine that were never meant to be used anywhere else. I mean, what next - is someone going to start fiddling with the WebGL batching engine and asking us to document what various command parameters are for? It gets pretty obscure in that part of the engine, mainly because a bunch of stuff is recycled and repurposed to relieve GC pressure. Nobody's meant to care about it, but in theory someone could end up writing a plugin that uses all that.

    In the long term it also risks making the entire engine inflexible - if we can't change the code without breaking some random third-party plugin, we could end up struggling to make any changes. For example it could end up that we can't ship a 2x performance optimisation, because several third-party plugins ended up depending on a particular algorithm that we used. This could well be the case with fast triggers: we might be able to speed them up further by making its restrictions even tighter, which is OK with the official function plugin, but not OK if it was a documented general-purpose API that we have an obligation to support forever, or put through a lengthy deprecation-and-removal process. The end result could be everyone's games are stuck running slower and we can't make optimisations to improve it.

    By the way, this is why for the C3 SDK we've taken a consciously different approach. There is a much more focused (and limited, at first) set of APIs available. We hope to broaden it out over time, of course, so it can do everything C2 did and more. However this takes time. These APIs will be much better designed so it still allows flexibility in the engine, will be comprehensively documented, we'll support them with bug fixes etc., and we will provide backwards-compatible support for the foreseeable future (unless we put them through a deprecation process). In the long run this is much better for everyone, but in the short term puts us under pressure to work on various API features (like the text rendering API I just filed an issue for). We'll do our best to keep up with that.

    Finally one extra thing to note: the C3 runtime will in many cases use identical APIs to the editor. For example IWebGLRenderer will be identical in the editor and runtime - and it will actually be backed by identical JavaScript classes, since we can share editor code with the runtime. Hopefully this makes it a lot easier to develop plugins, since the editor code can be shared with the runtime. For example we already have a particle engine in the editor for the live preview feature; when we come to port the plugin to the C3 runtime, we'll literally copy-paste that to the new runtime, saving a lot of work.

    Maybe I should've written a blog post about this

  • OK, I filed a todo issue for this: https://github.com/Scirra/Construct-3-bugs/issues/1127

  • I have no idea when we will be able to work on it. What status should I assign to it in this case? "I like it but we might not do it for ages"?

  • I don't even know what all the limitations are. It would take some time to inspect the code and think about what they all are. This feature cuts a narrow path through a large and complex engine, to optimise one very specific feature. I basically have no idea what will happen if you use it any other way than identically to the Function plugin.

  • Usually I get several people a day telling me different things should be our top priority, and they're all different. When everything's a priority, nothing is. It's difficult to prioritise things, I wrote a bit about the considerations in the feature suggestions guidelines. There are dozens of things I'd love to do, we can't possibly do them all, and even the ones we do choose we can't have done instantly. It all takes a long time to develop and test, and every feature as a small long-term overhead of continued maintenance as well. So we have to be a bit ruthless about how we prioritise.

  • You can post suggestions here: https://construct3.ideas.aha.io/

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • The reason we prefer using the issue tracker is it keeps everything in one place. This forum post will sink down the pages after a few weeks and end up getting forgotten. If it's on the issue tracker, it can be assigned to the right developer and they'll come back to it when they next have time to review issues.

  • I'm with Havok. All I would need is something simple to keep the casual user from copying the game or running it on another site.

    Encryption and obfuscation won't prevent someone copying the game wholesale. You probably want domain lock instead. It's covered in this tutorial.

  • Yes, I would've loved if the app building service they offer was for C2 as well, without having to pay the full C3 subscription price. Hell, I wouldn't even mind paying a smaller fee for that service.

    I think it's worth pointing out that the personal subscription for Construct 3, which gives you access to the full software and the build service, costs less than a PhoneGap Build subscription, which is just a build service. You can also use C3 to build C2 projects.

  • That kind of fullscreen mode is not currently supported. It looks like "scale inner up to a maximum aspect ratio at which point use letterbox". You can use scale inner to get the mobile behavior though.

  • Of course we care about third-party plugins. We went to lengths to release the addon SDK early on in the public beta so developers could get a head start. In this case R0J0hound is pretty much spot on. Some features are quick hacks for single features. In the case of the Function plugin fast-triggers have some pretty bizarre limitations because they're designed for exactly one use case. Rather than fix the limitations or document them, they're just undocumented and not intended for any third-party use. We're a small company perpetually pushed for time with many users demanding various bug fixes or new features all the time, and it could take 3-4x as long to flesh out a quick hack in to a proper fully-documented general-purpose feature. There's no clear reason to do that and even if there was, it'd have to be a really good reason to justify prioritising it above something else, like working on the new C3 runtime, fixing C2/C3 bugs, etc.

    • Post link icon

    Does changing the icon caching option in preferences affect this?