Search code examples
network-programmingbandwidthframe-rate

How do I design a First Persoon Shooter with low bandwidth?


I would like to create an FPS game but need to manage bandwidth on servers. What things do I need to design in to do this?

For example should I use TCP or UDP?
What data do I need to send and should I compress it somehow? I'm thinking I need position, heading, pitch, firing gun boolean.

Other considerations I've missed? Any help is appreciated.


Solution

  • May I direct you to the best online resource I've found on this subject?

    Networking for Game Programmers

    I highly recommend creating a 2D networked game before you even think about making a 3D one. Once you've read Fiedler's articles, you'll have a much better idea of how to accomplish this.

    Some general notes:

    • All real-time action games use UDP. No exceptions.
    • In order to hide client-side input lag, implement client-prediction.
    • In order to hide any other lag, implement interpolation and extrapolation.

    Have fun!