Jump to content

Make The Weapons Client Side


2 replies to this topic

#1 M0rpHeu5

    Member

  • PipPipPipPipPipPipPip
  • Survivor
  • 956 posts
  • LocationGreece

Posted 04 April 2013 - 04:24 AM

Why don't you make the weapons client side, It's annoying to have to wait from the time you hit the button to the time it actualy shoots. I am a progreamming noob I know nothing about programming but it seems to me that there are no drawbacks for client side weapons or is there something i do not know?

#2 Adridos

    Member

  • PipPipPipPipPipPipPipPipPipPipPip
  • Bridesmaid
  • 10,635 posts
  • LocationHiding in a cake, left in green city called New A... something.

Posted 04 April 2013 - 04:54 AM

Hacks will be easier to make than it is to download a game.

And people will get really bad desynchronisation issues where they are killed by an invisible enemy that fired at their image where they were a minute ago.

#3 Sparks Murphey

    Member

  • PipPipPipPipPipPipPipPipPip
  • Bridesmaid
  • Bridesmaid
  • 2,953 posts
  • LocationAdelaide, Australia

Posted 04 April 2013 - 05:00 AM

If the weapons fire is client side, what this really means is that the server is waiting for packets of certain data that tell it what you shot. Ideally, those packets come from an MWO client, but it's relatively simple to make a program that generates said packets on a whim. For example, "dear server, I just shot each of the enemy in the head with my dual gauss rifles, k thx bye." When the weapons fire is server side, that doesn't work, since all the client is telling the server is when you fire, not the results. So, in the case above, the server would reply "that's nice, but I run the results around here, and not only do you think have line of sight, you're pointed in the wrong direction and your gauss rifles can't fire that fast. You shot a mountain, and then mashed the button ineffectually for a bit."

The downside, as you've mentioned, is that "I have fired" is computed some time after you've actually fired. That's what host state rewind is for, and it's still in the process of being implemented. It changes "I have fired" to "I fired at this time", and gets the server to work out what would have happened to your target.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users