oosyrag's Forum Posts

  • For the users, don't auto join rooms or allow them to join/create a room that doesn't already exist. You can get the number of users in a room with Multiplayer.ListRoomPeerCount(index) expression

  • In that case you don't need the number of tiles right?

    On paletteTilemap clicked - Set selectionVariable to paletteTilemap.TileAt(paletteTilemap.PositionToTileX(Mouse.X),paletteTilemap.PositionToTileY(Mouse.Y)

    On canvasTilemap clicked - Set tile at canvasTilemap.PositionToTileX(Mouse.X), canvasTilemap.PositionToTileY(Mouse.Y) to selectionVariable

  • Here's my epic tileset questions.

    -What is the logic for getting the number of tiles in a tileset?

    Not currently available, besides manually counting or entering a number in a variable ahead of time. What do you need it for?

    -How do you get a tile's image and put it somewhere else, if possible?

    TileAt(x, y) expression to get the tile id at a position, Set tile action to set a tile id at a position.

  • Theoretically... With the tools we have you might be able to import a sheet and resize/reposition a mask to get the effect you're looking for...

    That would be absolutely absurd of course practically speaking from an implementation and performance perspective.

    It would be much more reasonable to import individual frames as needed instead. If you're in control of the distribution format and method, you could use the file name to contain metadata such as animation name, order, length ect. whether it is online (ajax) or on the local drive (nwjs). Or is nwjs even necessary anymore? I haven't been active for a while, but I vaguely remember something about web apps getting access to the local files.

  • Yes, don't use that. You don't want it to trigger multiple times as it's stepping through collisions for an object. Stepping is still enabled for collisions regardless, when the Step property in the behavior is checked/enabled.

  • I've done this before using multiple bullet behaviors on the same object.

    One behavior heads towards the player.

    The second bullet behavior, using the enemy object in a family, can be set to -

    On family overlap with enemy (or within x distance) - set family bullet behavior angle away from enemy, and set enemy bullet behavior angle from family. Use a high speed, and a high deceleration. You can even set the speed inverse to their distance to each other if you want, so that they repulse each other harder the closer they are to each other. This doesn't necessarily prevent overlap, but neither do monsters in vampire survivors.

    This is more akin to steering or boids style maneuvering.

    I would also recommend updating steering forces only every x seconds instead of every tick, for performance reasons. You can also see this in action in vampire survivors after you die.

    Regarding performance for massive amounts of enemies, you might notice there actually aren't thousands on screen at a time in vampire survivors. Try counting them. The enemies (and xp drops for that matter) are culled when offscreen and xp is combined.

  • > Use on collision instead.

    This option does not appear when using Step

    What option? It's a trigger condition. Is your event already inside a trigger?

  • Use on collision instead.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You can use the inverted "is on screen" condition to trigger whatever you need to trigger after the character falls out of the map.

  • + Mouse: On Left button Clicked on Tilemap
    
    ----+ Tilemap: Tile (Tilemap.PositionToTileX(Mouse.X)+1, Tilemap.PositionToTileY(Mouse.Y)) = 1
    ----+ OR Tilemap: Tile (Tilemap.PositionToTileX(Mouse.X)-1, Tilemap.PositionToTileY(Mouse.Y)) = 1
    ----+ OR Tilemap: Tile (Tilemap.PositionToTileX(Mouse.X), Tilemap.PositionToTileY(Mouse.Y)+1) = 1
    ----+ OR Tilemap: Tile (Tilemap.PositionToTileX(Mouse.X), Tilemap.PositionToTileY(Mouse.Y)-1) = 1
    
    -----> Tilemap: Set tile (Tilemap.PositionToTileX(Mouse.X), Tilemap.PositionToTileY(Mouse.Y)) to tile 1 (normal)
    

    On clicked tilemap

    If any of the tiles around the clicked tile is 1

    Set clicked tile to 1

  • So which tiles are you interested in comparing exactly, in what situation? You need to define that.

    Otherwise just loop all available options and sort by relevance after.

    If the goal is to determine if the target is adjacent to an existing tile of the correct color, you don't need distance in the first place. Just check adjacent tiles if they meet the criteria.

  • The user might be able to do so, jumping through a lot of hoops and potentially having a lot of problems.

    If you don't provide a Linux version of your game, is it not natural that people can complain that your game doesn't support Linux?

    AMD's bug report tool can be found in the "AMD Software: Adrenalin Edition" application.

    (Gods that is a painfully cringe worthy name for a program)

  • Or 1-sprite.animationframe