oosyrag's Forum Posts

  • First thing, don't call randomize after a wait action on start of layout. Move it to event 2 instead, as you have no way of knowing for certain if the Ajax request will complete in .0001 seconds or 10 seconds.

    What is your default array size? From what I can see, your randomize loop will delete all your array x indexes after being run once. The second time, the loop will run for 0 to -1, since your array width will be 0 by then.

  • Updated the file.

    You simply add a condition to not update the value of the corresponding array coordinates if it is what you define to be an obstacle. In this case I made it so that it only runs if the tile to be updated is not tile 2.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I don't think you need pathfinding at all for a tile based grid with short ranges, especially if you are going to do it one step at a time.

    dropbox.com/s/v56jw51ktwd70mj/bfsfloodfillexample.c3p

    It's called a breadth first search, basically just a portion of the a* pathfinding algorithm. It will work with obstacles fine, but do note that it becomes exponentially less efficient the more steps it has to calculate, which is why more advanced pathfinding algorithms such as a* were developed. Both the official pathfinding plugin and easy star library use the a* algorithm as a base.

  • Oh? I only saw that 0 vote ideas wouldn't be considered.

  • You can do it by events. Put all relevant objects into a family.

    + Family: On any animation finished

    -> Family: Start animation from beginning

  • I don't have experience with the accelerometer, but I suspect you don't have to change any events at all.

    This is what I was referring to.

    If simply forcing the orientation doesn't work, then for the gyroscope controls you'll want to swap touch.beta and touch.gamma wherever they are used, such as in event 9. I don't believe you'll need to change the angles in the control events. To invert forward and backwards/left and right for the gyroscope, swap the + for - before the touch.beta/gamma expressions respectively.

  • But with a nice record on its tombstone for posterity! While forum posts just... disappear. Or turn into flame threads that get locked and then dissapear.

    FWIW I've had suggestions on the suggestions site implemented (with no votes besides my own for that matter), and twice that at least responded to, which is more success than I've seen on the forums.

    I'm not saying a suggestion there is likely to be implemented, it's just a better alternative than the forum. If someone asked you for a favor and you've clearly said beforehand how to ask for such a thing, are you more likely to help if they ignored what you asked for first?

    A good suggestion would be clear and concise, have a obvious benefit, be reasonable to implement and not conflict with existing design decisions. Your suggestion seems to be a good one and fit the bill nicely, so it would be in your own benefit to use the suggestions platform if you cared enough about your idea to want it to happen for a little extra effort.

  • Does it really need to go on that platform?

    This is a serious quality of life improvement when using the app.

    No one is going to vote for this because its not some wiz bang new feature.

    You don't have to, but it's likely to be more effective than a forum post.

  • Only check for pathing on a trigger when something changes (or make your own trigger with the trigger once while true condition), not every tick.

  • Again apologies for the inconvenience, but in future in case the build server is not accessible for any reason, note you can also do manual offline builds using the Cordova CLI as described in this tutorial. The process does not use the build server at all. So if you have any time-critical work, you should still be able to export and build that way instead.

    Perhaps include a link to that tutorial in the timeout error message if possible?

    A daily scheduled reboot seems like a good idea too.

  • Check your collision polygons - are they square? Is the origin centered on every frame in your animation?

    Related to collisions, it is common practice to use an invisible box sprite object as your character's base and pin a separate object with the animations to it. This segregates any mechanics issues and animation issues.

    Mirrored isn't commonly used in top down games, but that depends on how you set up your game. There normally shouldn't be any mechanical reason not to use mirrored.

  • The most straight forward way would be to

    Set enemy_position to floor(random(1,5))

    If enemy_position == lastposition, do nothing/do again

    Else, do things

    It's not particularly computationally expensive since you only care about the last picked number, and statistically the same number won't happen many times in a row.

  • For a paid subscription service, and as key part of it, I feel like this situation does at least warrant some complaints.

    The devs are uncharacteristically silent about it though, considering how much they normally engage with the community. Either they're working on it and don't have a resolution in sight yet (and are hopefully working on it rather than browsing the forums), or they are taking a normal weekend and it hasn't been brought to their attention via a higher priority communication channel other than forum posts, say an email to supportyad@construct.net or the bug tracker. Or they've got some sort of other higher priority emergency, it's a small team after all.

    Generally speaking though, complaining on internet forums is probably one of the least effective routes of getting anything to actually change in pretty much any situation.

  • construct.net/en/make-games/manuals/construct-3/behavior-reference/pathfinding

    On failed to find path

    Triggered after the Find path action if no path can be found to the destination, such as if it is surrounded by a ring of obstacles.

    On path found

    Triggered after the Find path action once a path has successfully been found to the destination. The nodes are now available via the NodeCount, NodeXAt and NodeYAt expressions, and the Move along path action can also be used.

    Check for a path when attempting to place a turret. Either use a temporary helper object with the solid behavior and place the turret on path found, or simply place the turret first and delete it on failure to find path.