oosyrag's Recent Forum Activity

  • 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.

  • There is an orientation project property iirc.

    You probably also want to change the viewport aspect ratio.

    I think there is also an action in the browser object that pertains to orientation as well.

  • tan(angle) will get you the slope of your camera angle. Multiply that by the distance and zscale to get the z height at any given distance. Remember to also add the z height of the origin/camera as well.

    Generally speaking though, Construct is still a 2d engine. A 2d engine with 3d elements features does not make it equivalent to a 3d engine. Making an fps is mostly an exercise in futility. You're only going to run into further road blocks down the line without 3d collisions, volumetric fog/lighting, sloped vertical surfaces ect. This is similar to the limitations of the Doom 2/Wolfenstein era, where you notably could not look up and down. Your effort would likely have better return if you spent it learning how to use an actual 3d engine like Godot or Unity instead if your dream is to make a first person shooter.

    But if you do want to continue, I highly recommend looking in to some basic trigonometry and geometry. It will be invaluable for working in 3d space, and you're not going to be able to get very far without it.

  • You can do it per pixel if you want, but I think that's unnecessary. Just increase the resolution/number of lines until it is as smooth a circle as you want, it will still take less iterations then going through one pixel at a time.

  • construct.net/en/forum/construct-2/how-do-i-18/pick-object-order-116837

    If they are different objects overlapping, you can use a family instead.

  • Overwrite?

    If you don't want the diameter line, use the drawing canvas's line action instead of add poly point to draw a polygon. The only difference is that you'll have to specify the next point along with the current point, and that the number of iterations goes down by one since the last point doesn't need a line drawn anywhere.

    + System: For "steps" from 0 to resolution-1
    
    -> DrawingCanvas: Draw line from
    (x+cos((a-90)+(180÷resolution×LoopIndex))×r,
    y+sin((a-90)+(180÷resolution×LoopIndex))×r) 
    to
    (x+cos((a-90)+(180÷resolution×(LoopIndex+1)))×r,
    y+sin((a-90)+(180÷resolution×(LoopIndex+1)))×r)
    with rgba(0, 0, 0, 100), thickness 1, cap Butt
    

    The example has also been updated.

  • I don't think it's a huge deal, but I do personally prefer having the debug button available as well considering how much it is used.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • The line of sight behavior has a hit distance expression.

    The angle of the mouse click to the target would depend on your camera and field of view. You'd probably have to account for the height of the camera as well. With the angle and distance, you can use tan(angle)*distance to get the height of where your click was at the point it intersects the base of the object.

    Getting the angle might be finicky, I haven't actually tried to see if it can accurately be done myself. There is no support for 3d collisions right now afaik, the underlying engine is still 2d after all.

  • Round(object.platform.speed)

oosyrag's avatar

oosyrag

Online Now

Member since 20 Feb, 2013
Last online 16 Nov, 2024

Twitter
oosyrag has 38 followers

Trophy Case

  • 11-Year Club
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • Enduring Visitor Visited Construct.net 90 days in a row
  • Unrelenting Visitor Visited Construct.net 180 days in a row
  • Continuous Visitor Visited Construct.net 365 days in a row
  • RTFM Read the fabulous manual
  • Email Verified

Progress

21/44
How to earn trophies