oosyrag's Forum Posts

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

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

  • You can spawn all available spots with smaller squares, then randomly spawn non overlapping larger squares and delete the covered small squares after.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It won't work in preview, but it should be fine when you export and publish.

  • You can do it, but only with a nw.js standalone export.

    scirra.com/manual/162/nwjs

    On file dropped

    Triggered after the user drag-and-drops a file in to the application window. The DroppedFile expression contains the path to the file that was dropped in, allowing you to load it to read its contents.

  • You can make one version of your game with host events only, and a client version that only joins rooms as peers.