29-07-2007, 08:45 PM
I am an advocate for having things done on the client side as much as possible. Any reduction on server load i am for. Once it does not create too much of a security problem.
One thing i don't like about MS for example is that users download maps directly from the game server. I prefer updates to the game be implemented in patches or new releases. A game server should be leaning towards processing and handling game logic than towards being a warehouse of information. Players experience faster response times, hence faster game play. Every millisecond counts, especially when you have 100's of players on one server, where each player requires a lot actions to be handled.
There are many ways to prevent clients from modifying local game content. But at the same time, if the client/server structure is designed well then the type of item hacks you are talking about would be impossible. Whether the server sends the item information or whether the client already has it, the server must 'still' do checks. Why? Because hacks can be done at runtime on the application's memory.
I myself though would not hard code the items into the client program. Rather, I would have the items loaded when the clients starts up from separate files. Updating your items would be a bitch, lol.
One thing i don't like about MS for example is that users download maps directly from the game server. I prefer updates to the game be implemented in patches or new releases. A game server should be leaning towards processing and handling game logic than towards being a warehouse of information. Players experience faster response times, hence faster game play. Every millisecond counts, especially when you have 100's of players on one server, where each player requires a lot actions to be handled.
There are many ways to prevent clients from modifying local game content. But at the same time, if the client/server structure is designed well then the type of item hacks you are talking about would be impossible. Whether the server sends the item information or whether the client already has it, the server must 'still' do checks. Why? Because hacks can be done at runtime on the application's memory.
I myself though would not hard code the items into the client program. Rather, I would have the items loaded when the clients starts up from separate files. Updating your items would be a bitch, lol.