oosyrag's Forum Posts

  • "Every tick" is a condition, basically every frame, if you don't have other conditions to control it, like "Every x seconds".

    Otherwise it is difficult to help without seeing how you've set it up.

  • Array For Each Element

    Text Object - Append Array.CurValue&" " to Text

  • I guess, I have to be online all the time, or?

    And generaly I think, that a stand alone program is always

    faster than a Browser App...

    Jogi

    You can use Construct 3 offline. I believe you have to authenticate your account online at least once a week though.

    You also may have a misconception about an "online" app where everything you do needs to be processed on a remote server, which then needs to respond and you have latency issues. Construct 3 is a browser app, but it runs entirely on your own computer.

  • The normal way to avoid walls is by using the pathfinding behavior, and following the resulting path.

    These are the behaviors that interact with solid, per the solid manual page at

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

    8 Direction, which is blocked by Solids

    Bullet, which can optionally bounce off Solids

    Car, which bounces off Solids

    Line-of-sight, which by default has line-of-sight obstructed by Solids

    Platform, which can land on Solids. Platform cannot jump on to solids from underneath - for this, use the Jump-thru behavior.

    Pathfinding, which by default uses solids as path obstacles.

    Tile movement, which is blocked by Solids

    If you are not moving the enemy by one of these methods, they will not interact with solids.

    What condition should be so that they bounce off the walls (for example, just like when using bullet behavior)

    I can not turn the enemy at some angle, since I do not know exactly how angle he faces the wall.

    If you are using your own movement system, you can trigger on collision with wall to set a new angle. To find out the angle, you can use the line of sight behavior. Cast a ray in the angle the sprite is moving, and use lineofsight.reflectionangle to get the reflected angle from the solid.

  • Use a boolean state variable - "isActive".

    In your object creation event, add "isActive" is true to the condition.

    When two sprites collide, set "isActive" to false.

  • It is no problem, but it will be a large modification. Basically you will no longer use the sync action to position the objects, because the objects will not be at the same place on either player's screen.

    You need to position the sprites manually on host and peer, based on the inputs that are received from the other player. You will also need to do your own lag interpolation from events, and add your own position corrections to keep the games in sync.

  • Mech isFiring - Enable Turret behavior

    Else - Disable Turret behavior, set upperbody angle to lowerbody.angle

  • That's how I would do it.

    Alternatively you could create individual solid sprite objects that are the same size and shapes of your blocks/buildings, but I imagine that would be more tedious.

    With a tilemap you'll just have to paint/trace the roads as "empty" cells. Resolution is up to you, lower resolution will be quicker.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I recommend using a tilemap as a helper for the pathfinding behavior. Your tilemap is only going to have 2 tiles, solid (obstacle) or open (road). You'll have to manually "paint" this tilemap to match your sprite, and then use the pathfinding behavior to generate an obstacle map based on your tilemap. Make sure the cell size for the pathfinding behavior matches the tilemap tile size.

  • Try changing the trigger for ending the level from Enemies Killed = 10 to Enemies Killed >= 10.

  • What have you tried?

    You can use a List Control object to select your audio. The expression List.SelectedText will give you whatever is currently selected. You can use that with the Audio object's Play by Name action.

  • More information needed to help. Best way would be to share your project.

  • Many games utilize a set of invisible helper sprites/areas called hitboxes and hurtboxes. This gives you more control over what does damage, as well as when and where. These can be pinned to your visible animations.

    developer.amazon.com/blogs/appstore/post/cc08d63b-2b7c-4dee-abb4-272b834d7c3a/gamemaker-basics-hitboxes-and-hurtboxes

  • Generally speaking, I would say best practice is to create assets at the resolution you are going to use them in. There will always be some sort of loss or interpolation going on when you resize anything larger or smaller.

    The second best method I would go for would be to have your original art at a much higher resolution and downsize to whatever is required. You might have some wasted effort or loss of detail, but at least it won't be blurry.

    This applies to assets made in Construct or any other program as well.

  • NetOne is referring to the fact that you cannot set the speed value in the animations editor higher than 60, even if you have 600 frames in your animation you want to be played over the duration of one second.

    I'm hypothesizing the solution is to manually advance the frames via events, dividing by DT. When at regular speed, intermediate frames will be skipped, and when you set .1 timescale, you'll have your 60 fps, or 6 fps at .01 ect.