Badmiracle's Recent Forum Activity

  • Thanks for sharing your knowledge I plan on using an additional Player object for each Peer, and interpolating client side to the correct position. This should fix those jitter problems, while still making the game feel fairly responsive.

  • It is for interpolation for smoothing out jitter and/or packet loss.

    https://www.scirra.com/tutorials/892/mu ... pts/page-6

    Roughly speaking you can think of it as the engine having 80ms worth of artificial latency - all peers under 80ms will percieve the same level of responsiveness from the host, and the player/host ideally won't notice any network lag unless the actual ping (or time between updates) becomes greater than 80ms.

    oosyrag

    Thanks for the help! But question... I'm not using client input prediction for various reasons, if I don't want any artificial latency what's the harm in putting this buffer to 0ms? I've tested it with simulated latency and it seems a lot more responsive (the delay between key press and client side movement is reduced greatly).

  • I'm still wondering about question 1.

    Does anyone know what the Multiplayer Buffer is?

  • dop2000

    brunopalermo

    tarek2

    All GOD's. Interesting methods, thanks guys.

  • Hi - I'm working on a top down game that uses click-to-move controls. There are large moving boats in my game and I'm trying to figure out how I can get my player to move to a certain location on the large boat, while the boat is moving.

    I figured out a hack solution, where I calculated the displacement from the boats position to where I clicked to move to on the boat.

    XDisplacement: (target.x - boat.x)

    YDisplacement: (target.y - boat.y).

    Then I move my player to this new position every tick

    X: Boat.X - XDisplacement

    Y: Boat.Y - YDisplacement

    This keeps up to date the relative position on the boat that I ordered my player to moveTo, even if the boat is moving.

    Here's an example of how it currently looks (but it's fairly odd) - https://i.imgur.com/l4onOBZ.gifv

    There's a parabola effect I am trying to get rid of. Preferrably I'd like the player to move in a direct route toward the "new" location on the boat. The speed of the boat, and the speed of the player are both constant.

    Does anyone have any other ideas on how this can be achieved?

    Thanks in advance!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Not possible yet! A feature request for C3 is up on the idea board, which might solve this issue: https://construct3.ideas.aha.io/ideas/C3-I-319

  • The multiplayer plugin has 2 bandwidth profiles - 30 Hz updates w/ an 80ms buffer for games played over the Internet, and 60 Hz updates with a 40ms buffer for games played over LAN. I have 3 questions:

    1. What is the buffer actually for? (The manual doesn't explain this)

    I learned recently from the developer of a multiplayer game that feels incredibly responsive (w/o any client input prediction), that his game only sends 20 updates per second (vs the MP plugins 30), with his server receiving and processing updates immediately (which happens every 50 ms).

    2. Does this mean that his game is essentially using a Bandwidth Profile of "20 Hz updates w/ a 50ms buffer"?

    3. If so, would this be recommended if it gives my game a better feel? I have chosen not to use client input prediction, due to the issues that come with it, but I still want my game to feel fairly responsive on the clients side. What would the implications be of decreasing the buffer from 80ms to 50ms, and reducing the updates from 30 to 20? I've tested the change and it feels okay, but on a larger data transfer scale, what does this mean?

    Thanks in advance!

  • This is a Construct 2 feature, not 3. There's been a (somewhat) recent request for it to be added to Construct 3 here: https://construct3.ideas.aha.io/ideas/C3-I-314.

  • Background throttling is quite complex - normally background web pages are suspended, but there are exceptions, which include if the tab is playing audio, and IIRC as of recent Chrome versions WebRTC connections count as an exception too.

    This is pretty interesting. Ashley is it possible to run the Multiplayer server plugin in Chrome headless mode, to save on CPU/Memory usage?

  • Hopefully...!

  • R0J0hound

    blackhornet

    Thanks for the links guys! I came across this page: https://www.particleincell.com/2012/bezier-splines/ and it looks similar to what I need. That said it isn't perfect.

    In any case, I think the math involved is beyond me. Even if I were to implement it following the bezier spline method, you'll notice how there is an "unnecessary" curve between the first two nodes: http://i.imgur.com/fULycxI.png

    I don't need my object to follow the path perfectly, but rather simply curve around the edges (when closer to the nodes) with the goal of just making the movement smoother, do you know of a simpler way to implement something that can achieve this?

  • Hi,

    I am working on a form of path-finding for my game. On a move command, it will calculate a path for the player using "nodes".

    What i'm trying to work out is this: my player moves to node 1, and then cuts at a sharp angle to node 2 (following the red path here: http://i.imgur.com/FOgFuOv.png), which looks a bit odd. I am trying to gradually curve the player around objects (using the nodes as a guide) so that the player follows something more like the green path shown in the image, instead.

    Can anyone think of a formula/approach to get the player to curve it's position gradually as it approaches a node?

    (Using: player.x, player.y, node1.x, node1.y, node2.x, node2.y)

    I think the Sine behavior might be of use, but this one's got me stumped.

Badmiracle's avatar

Badmiracle

Member since 31 Aug, 2015

None one is following Badmiracle yet!

Trophy Case

  • 9-Year Club
  • RTFM Read the fabulous manual
  • Email Verified

Progress

11/44
How to earn trophies