oosyrag's Forum Posts

  • Yes it is possible, but it can end up really clunky/buggy. Basically amounts to creating duplicate sprites (use containers) at offsets with blend modes to mask viewports. I imagine you would want to have one "master" set that handles all the game logic, while the other viewports are visual representations only. I'm sure you'll find previous threads on this topic if you run a search.

    I haven't tried myself, but the Paster plugin would be a huge help.

  • You do not need to buy the signalling server in most cases, Scirra provides one for free that you can use.

    Lag is an inherent part of networking and multiplayer games. You should read the official multiplayer tutorials to get a better understanding of various techniques that allow you to manage lag.

  • Not familiar with a dual n-back game.

    But it sounds like you should use an incrementing counter variable.

    | Global number NthTime = 5

    + CertainObject: On collision with Square

    -> Square: Add 1 to collisionCount

    + Button: On clicked

    + System: Square.collisionCount%NthTime = 0

    + System: Square.collisionCount ? 0

    -> Function: Call "getPoints" ()

    For reference, % gives you the remainder after division, which is what you need to use for every x overlaps. So if it is set to 5, that condition will be true when collisionCount = 0,5,10,15 ect. (then add an additional condition to make it not true when 0)

    You might need to add a system to disable the event after points have been awarded for each tier.

  • + Function: On "pSwitch"

    + System: For each Coin

    -> Coin: Spawn Block on layer 0 (image point 0)

    -> Block: Start Timer "pSwitch" for 30 (Once)

    -> Coin: Destroy

    + Block: On Timer "pSwitch"

    -> Block: Spawn Coin on layer 0 (image point 0)

    -> Block: Destroy

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Multiple objects. Preferably multiple instances of the same object, filtered by nearest or by range to reduce the aggregate collision checks per tick.

  • Some quick ideas, haven't tried though.

    Generally speaking it sounds like you have a physics situation without using physics behavior. Have you tried setting up a physics environment to see if that would be suitable?

    Otherwise, maybe use a pinning system for stacked objects, and unpin them upon collision.

  • Firebase supports many types of authentication methods. The basic method uses client e-mail and password, which should be unique per client.

    User names should be unrelated and entirely up to you how you want to handle duplicates, weather you want to allow them or not.

    As far as Firebase is concerned, if you're using your own username system to authenticate, you should use the token method described here https://firebase.google.com/docs/auth/web/custom-auth.

    Once you have a unique authenticated client, a username can be the same as someone elses, as it is simply data associated with that particular client.

  • Multiplayer projects can be complex and nearly impossible to troubleshoot through the forums with just a description such as in your opening post, which is why you probably didn't get any replies, just FYI. Glad you resolved it though.

    Regarding building your own signalling server, you can find what you need here: https://www.scirra.com/store/game-makin ... server-161

  • You can also disable or enable event groups as required upon pausing.

  • + arr_inventory: Value at (Function.Param(0), 1) = 0

    -> [DISABLED] arr_inventory: Set value at Function.Param(0) to 0

    -> [DISABLED] arr_inventory: Set value at (Function.Param(0), 1) to 0

    -> arr_inventory: Delete index Function.Param(0) from X axis

    -> arr_inventory: Push back 0 on X axis

  • Nice! Wonder if those can be combined into a smooth line with alpha clamping...

    Edit: never mind, just need to stretch a rectangle between each one. Too much playing with metaballs for me ><

  • Overshooting is indeed the problem, as ticks are not necessarily divided evenly into seconds, and if you spawn on the object, it spawns at the object's location at the given tick you call the spawn on, rather than any set distance.

    You might try having the spawning object be the last placed dot instead of the moving object. Have the previous dot spawn a new dot at a set distance towards the target. But then you might have issues with sharp turns and cutting corners so I'm not really sure...

  • Rather than having your main object spawn the dots, you should have the dots positioned at predetermined locations along the path and reveal them at that location after your main object passes them.

    The problem here is you want dots spaced evenly, but for example even if you spawned a dot every tick, your object doesn't necessarily travel the exact same distance every tick, especially on a curved path.

  • Delete the index of the object removed, then push an empty index to the back if you want to keep the same size array.

  • Try Chupmunk physics