oosyrag's Forum Posts

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

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

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • 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

  • This is a question that comes up pretty often. If I recall, using custom movement push out solids is a pretty common solution, as well as applying physics to the objects in question. R0j0hound also had a nice SAT implementation that works well on circular objects.

    Otherwise, a low cost solution some people utilize is to actually allow overlap during movement, and then have them push each other out of the way upon reaching the destination (StarCraft zerglings).

    Generally speaking there is no easy quick answer for this as far as I know. Even StarCraft had trouble with dragon/Goliath pathfinding and collisions.

  • Either use an invisible helper sprite on your main scrolling layer that is positioned using the system viewport expressions every tick and set the arrow on your HUD layer to angle(helperobjectx,y,targetx,y).

    Or just put your arrow directly on your main layer and position it as above.

  • I can recommend creating your own particle effects using a sprite with bullet and fade (with random angles and speeds) rather than using the built in particle effect. You'll have much more control over the particles.

    Regarding performance - it depends on what platform you are targetting. The manual entry was probably written over 5 years ago. Devices are significantly more powerful now. Check http://www.scirra.com/demos/c2/particles/ for a live benchmark.

    Invisible and offscreen are identical as far as performance is concerned. They take resources in terms of event logic/collisions, but are not rendered. Large transparent areas of overlapping sprites are the common mistake - transparent pixels ARE rendered just like any other pixel.