Construct 3 suggestions & ideas

Suggest and vote on ideas for Construct 3! Please note this is only one aspect of planning. We do not guarantee any features here will be implemented, even if they are top-voted ideas. The aim is just to collect feedback. Remember to search for existing submissions before adding an idea, describe your ideas as comprehensively as possible, and vote for plausible ideas that are well thought out. Please see our full guidelines on suggesting features.

61 Vote

"Pick Highest/Lowest value" condition

Please add a condition similar to "Object Pick Highest/Lowest", but allowing to pick by any value, not just by instance variable.

Examples of usage:

* find an instance which has the lowest/highest X coordinate
* find the largest/smallest instance
* find an instance with highest opacity
* pick enemy with highest (Enemy.shield+Enemy.health)

Currently to do this we need to loop through instances and use temporary local variables, which is quite inconvenient.

  • dop2000
  • Jun 10 2020
  • No status
  • Attach files
  • dop2000 commented
    5 May 05:09pm

    I would like to add that I see it as a System event, similar to "Pick by evaluate".

  • XpMonster commented
    5 May 04:48pm

    @Ashley It would be very useful on numerous occassions and really help keep things nice & clear especially in the large projects where all these quality-of-life features help so much especially in the long run when you have to return to your work and understand what you've been doing without writing specific comments on this. I really hope you add this feature and I'm sure many people will appreciate it either instantly or down the road.

  • dop2000 commented
    5 May 03:37pm

    @Ashley, We can use an instance variable instead of "Pick by evaluate", "Pick Nth instance", "Pick random instance" and lots of other events. This doesn't mean that they are not needed.

    And yes, it's quite inconvenient. You need to add this instance variable to lots of objects or families, make sure that it gets updated regularly and contains up-to-date values, or break the event to update it.

  • Admin
    Ashley Gullen commented
    5 May 02:41pm

    You can already do this by setting an instance variable to an expression and then picking by the highest/lowest instance variable. Is that really that inconvenient? It doesn't seem like too much trouble to do that.

  • tarek2 commented
    2 Sep, 2020 03:17pm

    Definitely, this is a must-have, I hope you add it, this is a need in almost every project and could make the life so much easier instead of having to loop constantly to set variables then check the highest.

  • XpMonster commented
    1 Aug, 2020 08:25pm

    A must have IMO

  • Guest commented
    15 Jul, 2020 12:23am

    You can create an instance variable and use it to get the same result. For example, if you want to select the highest opacity you can create an instance variable called "op" and set this variable to self.opacity and use it on pick condition.

  • Guest commented
    26 Jun, 2020 08:03pm

    +1 to this. Just ran into a situation where having this kind of conditions would be extremely useful.

  • +34