http://GameProgrammer.Com

Programming

GP Mailing List
     Thread Index
     Date Index

ATXGPSIG List
     Thread Index
     Date Index

Google
>

Home

Wise2Food



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gameprogrammer] Re: development model



I did some searches and I did find an
article on gamasutra that gives a high level overview of how this
would be done. I wanted to get some opinions. What types of
developments models are people implementing for their games?

Server-based multi-player games are heavily reliant on separating the
component into model, view, and controller - the controller can't
directly impact the view (much) because it depends so much on the model,
and the model is separated from the controller and the view by the network.

I'm sorry but this is wrong and a huge oversimplification. In practice, multiplayer games have some of the code on the client and some of the code on the server. Sometimes some parts of the code is shared. The model of a necessity differs between system. As does the view. The controller is shared among the client and server, sometimes on one, sometimes on the other, sometimes on both. Some examples of this are:

Scoping: Not all systems know about all data
Interpolation: What you see is an interpolation of the last known network data, which in itself isn't necessarily what is on the server. Local updates: So you can see your gun start shooting before the network actually knows about it.
Anti-cheating: Server overrides the input of the client.

I've written 7 multiplayer games and am working on an MMOG and not once have I even considered model / view / controller for the client / server networking part. It's not even applicable to the problem. Where I have used is in GUI design and there it's very useful, not in itself so much as in code reuse between games.

The way to think about design patterns is not "How does this apply to gameplay programming" but "How can I modularize the components of my game in such a way that they will be more flexible and reusable without an undue loss of speed or reliability?" To the credit of design patterns, oftentimes the best solution follows a design pattern. But not always and not at the level of construction, which is where most design takes place.


---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html