Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8969455
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 15, 20262026-06-15T17:35:36+00:00 2026-06-15T17:35:36+00:00

Ok, so I realize this has been discussed over and over as I have

  • 0

Ok, so I realize this has been discussed over and over as I have read countless number of Stack Overflow threads, and articles on the web. I currently have a TCP Asynchronous C# .NET Server running on a VPS.

I have gotten this to work well for the multiplayer lobbies such as connecting players to the game and what not. My main problem is when the game starts, as It becomes really blocky. So upon my research

I found some very helpful threads on Interpolation in which they guided me towards a basic (Difference (Serverpos – Localpos) * Deltatime (Time between server updates?) * Interpolation Constant). This worked in the sense that it smoothed out the frame rate, but I still had a momentary lag on the server update times.

However my main problem is that I am using the accelerometer to update the position of each player, however my server cant receive that data and process it as fast as the accelerometer updates which causes it the start messing up.

So today I tried simply sending data to the server, however my max transfer time is around 350MS, that keeps it from combining messages on accident.

I then came across “Dead Reckoning”, which would work in theory however since you wouldn’t be keeping track of paddle positions up to date in theory. What happens when the ball hits your opponents paddle? Do you automatically jerk the paddle into position and reverse the ball position?

Basically I think I have spun myself in a big circle, by just theorizing different ways of doing this. I am also aware of UDP, but I cant imagine a Pong multiplayer would require me to run a UDP connection, there has to be a way to use TCP.

Anyways, thank you for any help you guys give me. I am new to this and I think have gotten lost in the web of Networking.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-15T17:35:37+00:00Added an answer on June 15, 2026 at 5:35 pm

    This isn’t a networking problem, it’s a filter problem. I would recommend reading up on “Kalman Filtering”. The math may be intimidating, but the basic problem you are trying to is “how to I interpolate state based on my knowledge of the physics of my system and (possibly) noisy and irregular measurements of user inputs and previous states”…. This happens to be the classic Kalman problem.

    1) You have to establish a common “time” that the server and the client agree on. There are some well known algorithms to do this. Timestamp all of your updates with this common time.

    2) Using UDP is the way to go – just bear in mind that packets can be lost and they aren’t guaranteed to be received in the order they were sent. This means you have to have a way to inspect packets and decide if they are “old” before you use them to update your clients. You also have the problem that if your clients can’t process them as fast as they are being sent, then you will start getting large deltas on your clients….better to throw away a packet that is old than spend time processing it.

    3) Minimize latency. If you can, cut your server out of the loop altogether and have your clients broadcast updates to each other.

    4) This is where filter theory comes in – for each degree of freedom, decide how much error you are willing to tolerate (difference between what a client sees and “truth”). For instance, for an airplane, the position is not very dynamic – you could probably get away with one or even two second updates and have very little position error in the clients. However, attitude (pitch, yaw, roll), is very dynamic, so you might need to update these states every .25 seconds to achieve acceptable position error. Kalman theory will tell you what the update rate needs to be to achieve the error you need. You can also change your update rate based on what you know is happening at the originating client….rapid control inputs => high update rate vs. no control input => low update rate.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I realize this has been asked countless times, but I have yet to come
I realize this question has probably been asked numerous times, but I have not
I realize that this question has been asked 100times but none that I have
I realize this has been asked many times on here (I also read through
I realize this question has been asked many times and I am have looked
I know this is something that has been discussed over and over, and I
I realize that this question has been answered before, and I have looked through
I know this question has been asked multiple number of times and i have
Have youI know that the problem has been many times discussed in the web.
I realize something like this has been asked, but this may be a little

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.