Ashley's Forum Posts

  • You can test this yourself. See Answer your own performance questions with measurements

    In general families should have little overhead, but as ever, the most important rule when dealing with performance is to optimise things based on actual measurements, not speculation.

  • The MDN entry on Data URLs has more information about how they work.

  • TheRealDannyyy - TURN servers are only relevant for peer-to-peer connections. The signalling server is a normal direct connection, like loading a web page, and that was the part that was reported to not be working here.

    I think it's a fair anaology that if you can't load a web page, it's too soon to blame the website operator - you should check your connection is actually working first.

  • I don't know, I can only rely on my telepathic debugging skills in situations like this, and I would speculate that you had not waited for the "ready to use offline" notification while online and closed the editor before it finished saving for use offline.

  • It's not a hard no, it's just that with limited resources and hundreds of feature requests, it's important to get priorities right. And so far it seems that maybe just a tutorial or something pointing out that you can do this might suffice.

    I'm not sure it even deserves its own plugin type anyway. For example if you have an Enemies family, it seems convenient to have the EnemyType enum as instance variables on Enemies itself, so you can do things like Enemies.Monster and Enemies.Alien instead of having to make a whole separate plugin type for that (and a plugin that, as far as I can tell, does absolutely nothing except enable instance variables, which is confusing in its own way).

  • You need to wait for the "ready to use offline" notification to appear.

  • Is there anything actually wrong with just using instance variables? If not, given there's 10 years+ of other features on the suggestion platform, isn't our time better spent on something else? That's what I mean by opportunity cost.

  • Audio fades are amongst the many new features added in Construct 3.

    As has been the case for a long time now, new features are not being added to Construct 2 any more.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • kinda of like the journey of the function plugin, it was a separate plugin for a long time until it became a first class citizen of then engine.

    I'd really want to avoid going through that again. Replacing a major feature with a different and not entirely compatible one is a painful transition to go through for both us and many users. It also leaves us supporting both indefinitely, as there are always too many remaining projects using the old feature to justify removing it. It's much better to get it right first time wherever possible. The only reason we didn't with functions was it was designed in a hurry in the early years of C2 with many shortcuts deliberately taken, and the replacement was so much better (and so many people were asking for improvements) that it justified all the pain and awkwardness of going through a replacement.

  • FWIW I think this is actually a pretty complex feature to implement which will involve a lot of work, and meanwhile there are already what I'd consider to be decent workarounds. If we go as far as "first class enums" where it's added as a general data type, some of the complications I can foresee are:

    • Creating some kind of enum editor which creates a new enum type
    • Creating some kind of convenient place to store enums in a project (would it be part of the Project Bar for example?)
    • Much of the engine assumes types are a fixed list of "number" and "string" (and maybe "boolean" in some places too) - so a lot of code across the editor and engine would need upgrading to manage a variable list of types that depends on the particular project at hand
    • People will certainly want to convert both from enum to value (e.g. enum to string) and value to enum (e.g. string to enum) and use expressions, otherwise it's worse than the workarounds - but then how does that look? There would need to be more expression features to handle this, and possibly more UI upgrades to the editor to handle this when entering parameters and such
    • As with most event sheet accessible features, there will need to be ways to add, edit, delete, replace and refactor enums - e.g. suppose you want to replace enum1 with enum2, how does that work? How do you make sure events stay valid when these kinds of references change?

    Meanwhile what I'd recommend for now is adding an object with a bunch of instance variables. For example if you add a sprite called "ColorEnum" with instance variables RED, BLUE and GREEN (corresponding to the strings "red", "blue" and "green"), you can do things like call a function passing ColorEnum.GREEN. They can be extended at any time, the values can be edited easily, renaming already automatically updates all references in the event sheet, you can still use expressions, you can use the existing "replace object" mechanism to swap it for something else, and there's no need for all the time-consuming design, implementation, user interface updates, engine upgrades, on-going maintenance, and general edge-case problem solving associated with a significant new feature.

    So I have to ask, compared to that workaround, is it really worth it? I'd argue the opportunity cost is too high, and with our limited development resources we'd be better off working on something else, or perhaps adding minor features to smooth the workflow of the workaround case (e.g. perhaps by adding constant instance variables).

  • Savegames do not prevent installation of apps. The problem must be something else.

  • The built-in screen recording example also shows how to use it.

  • One possible cause is that the people getting an error message connecting to the signalling server are offline.

    Construct games work offline. However if you are not online, obviously you cannot make a connection to the signalling server.

    Obviously we cannot offer any support in that scenario. The user needs to go online.

    You should not start blaming anyone before ruling this type of thing out, and obviously it is nothing to do with Construct at all.

  • You do not have permission to view this post

  • rhg1968 - can you post that to the issue tracker so it's not lost in the forum?