Posts by Zhav

    This project is abandoned.

    I'm aware. But the point still stands that someone, even as seemingly inexperienced as that developer, can create a solid S4 base. Of course I'm ignoring all of the other stuff that game needs like game mode logic, weapon logic, client->server communication, etc.... but as I said, that stuff really isn't hard to do for an experienced developer.

    EDIT: I know you were just pointing out it's abandoned. Just wanted to clear up anything else.

    If it was so easy, games wouldn't take years to make.

    Most games*

    Most games wouldn't have a previous version to copy from. I'm not sure what your Unity skills are, but a large majority of people with at least 4+ years of C# gameplay programming and networking experience can make a solid S4 clone in a few months... Obviously subtracting models, animations, etc.

    I have played countless MULTIPLAYER games from COD to flyff and hacks has never been as prevelant as it was on S4. Maybe im just lucky who knows.

    Downside of peer to peer

    I have been tolerating the drops in some things. Hacks are a part of every game so I can even take that. Some of the problems, I feel as seen from both a player and the staff is that angry people are unpredictable, toxic, and makes things worse. And that is something you can't patch out >:


    What? I though TCP was better than UDP?

    Not for a game like S4, where players are moving around really quickly. The issue with TCP is that it's slow... Since it requires a response that you received the packet. With UDP, we just fire the packet, with no need to wait to see if it was received. For events like Melee swinging, or kill feeds, we can instead use another transport layer called Reliable UDP, which does something similar to TCP (keeping packet order and packet acknowledgement).

    Understandably, it would be hard to wrap your head around this if you don't understand all of the networking models used in games, and how they differ.

    I'm going to use what Hella said and say that S4 is purely P2P, no relays, just each player directly connecting to each other. This would mean that each client is in charge of their own simulation... and we know this because everything client-side can be hacked.

    Now that we know that, we can create some scenarios. Let's set some locations and bandwidth limits first:

    (For this we're going to assume there's 0% packet loss, since that would just be wayyyyy to complex for a little forum post)

    Zhav lives in the Caribbean, with an upload speed of 0.5mbps and download speed of 0.1mbps, and his ISP routes directly to Miami, USA (no other routes).

    Hella lives in Miami, USA with an upload speed of 10mbps and download speed of 20mbps, and his ISP routes all over the world (he's near a hub).

    Rezilia lives in Scotland, with an upload speed of 20mbps and download speed of 0.1mbps, and his ISP also routes all over the world (he's also near a hub).

    All three of us are in a match of S4, sending packets directly to each other.

    Zhav's packets have to travel to Miami before routing to Rezilia. It takes 150 milliseconds on average for Zhav's packet to reach to Rezilia, vice versa.

    Hella's packets don't have to travel far to get to Rezilia and Zhav. It takes 40ms for Hella's packet to reach Zhav, and 80 to reach Rezilia, vice versa.

    Rezilia's packets don't have to travel far to get to Hella, but takes extra long to get to Zhav.

    We also need to assume the average size of a packet and how often it sends. So let's say it's 120bytes per packet, being sent 20 times a second. That's (0.12kb*20)^n where n is the number of players in a game. So in our case, that's 33kb/s, in other words 0.264mbps.... And now we already have a problem..

    Two of our players have less upload speed than required, so what happens to those packets? They never get sent at the right time, and since S4 uses TCP (I think), it tries to guarantee that they get sent, so they will arrive at a later time. To Hella, both Zhav and Rezilia would appear to be out of sync, with choppy movement, or teleports, or just act weird, because our packets arrive late. To Zhav and Rezilia, Hella looks fine, since we have enough download speed to receive her packets perfectly, and she has enough upload speed to send packets perfectly.

    Actions Per Minute? What does that have to do with anything?

    Whatever the delay is for sprinting, single tap is faster anyway. Even if you can double tap a key with a frequency of 20 Hz (which I doubt is even possible for a human), it's still 0.05 seconds slower than a single press.

    But that's not considering that double tapping could just feel more natural, at least for S4. You guys already solved the problem by having in either Double Tapping or Single Pressing.

    As for double tap to sprint, I think it's fine for S4. I think it's something you get used to quickly, and it's still common in Korean games.

    I'm going to assume WS is wall shooting and say, the heavy machine gun doesn't have wall shooting................... No idea why other weapons still have it.

    I mean, if we're remaking S4, the thing that needs to be updated the most is the networking model. Authoritative game design and networking is a must if we want to have a secure, (mostly)hack-free, fair, gameplay.