Advertisement

how about doing fps in game's server?

Started by October 15, 2006 05:41 AM
6 comments, last by Ozymandias42 18 years, 4 months ago
have you used the method in your project? the server logic(mmorpg's server) runs by about 30Hz. i cann't tell the why,but i think it will lower the performance,do you think so?
suppose the server supports 3000 players simultaneously, so it will run 100 players' logics per running(not considering the monsters or other npcs),that is,running 100 players' logics per 33 ms. do you think it is appropriate?
Advertisement
When you run at 30 Hz, you have to do ALL the players each tick.

To host thousands of players, you need to break the server up on multiple nodes (a server cluster), and do it in a way that makes sense from a computation (data dependency) and gameplay point of view. This is fairly hard, but by no means impossible.
enum Bool { True, False, FileNotFound };
1.what does it mean 'tick'? 30Hz == 30 ticks per second ?

2.yes, i know the server cluster architecture! but i just want to know the
feasibility and the benefit of that method comparing the traditional one.

3.is there a commercial product using that method?



If this game is to operate across the internet, you will have a wide range of delays depending on network differences between the players. Some may have 100ms
and other much less -- thats upto 3 of your 30hz cycles. Your system will have to handle varying delays so your locking into a fixed cycle schedule probably wont work for the output to input correlation.


If its to be a LAN game, it will be easier but you still might have problems syncronizing a fixed rate.
--------------------------------------------[size="1"]Ratings are Opinion, not Fact
I would assume most commercial games have a fixed server tick rate these days. I know we do, and I know several other games that do. The fact that there is latency between the server and the player, and that latency is higher than the tick time, doesn't mean you have to drop the tick rate; it just means you need to design with latency compensation.
enum Bool { True, False, FileNotFound };
Advertisement
latency compensation?
how to do it?
can you show me the related articles?
The best article I know on the subject is here: http://www.gaffer.org/physics-in-3d/

Really, you don't want 3000 people having their exact position/rendering/etc handled by the the server with a completely dumb client. Completely dumb clients can work great on a LAN, but LANs won't have 3000 players.

This topic is closed to new replies.

Advertisement