[gameprogrammer] Re: development model
- From: Matthew Weigel <unique@xxxxxxxxxxx>
- To: gameprogrammer@xxxxxxxxxxxxx
- Date: Wed, 16 Aug 2006 08:27:21 -0500
Kevin Jenkins wrote:
> 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.
Pardon me, but I'm not really sure what it is that you're saying here.
The view and model of a necessity differ between system[s]? Certainly,
but that doesn't have much of anything to do with MVC. MVC is not a
design pattern focused on code reuse, so the fact that a particular
program's architecture does not provide for code reuse does not mean
it's not MVC.
MVC is a way to encapsulate data and logic, so that changes in one place
minimally impact others.
> The
> controller is shared among the client and server, sometimes on one,
> sometimes on the other, sometimes on both.
I think it would be hard for you to argue that the server handles input.
> Some examples of this are:
>
> Scoping: Not all systems know about all data
That's the whole point of encapsulation?
> Interpolation: What you see is an interpolation of the last known
> network data, which in itself isn't necessarily what is on the server.
True, but this is essentially just a matter of having a model proxy on
the client. Are you going to argue that the client interpolation can
control what happens on the server, and to other players?
> Local updates: So you can see your gun start shooting before the network
> actually knows about it.
See above. The client can guess what will happen next, but it can't
propagate that through the model.
> Anti-cheating: Server overrides the input of the client.
It's entirely within the scope of the model to ignore or override the
controller.
> 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.
The way you've described the purpose and practice of MVC, I don't doubt
it looks unrelated to any work you might do. But perhaps your idea of
MVC is a little out of whack...?
--
Matthew Weigel
---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html
- References:
- [gameprogrammer] development model
- From: xucaen
- [gameprogrammer] Re: development model
- From: Matthew Weigel
- [gameprogrammer] Re: development model
- From: Kevin Jenkins
Other related posts:
- » [gameprogrammer] development model
- » [gameprogrammer] Re: development model
- » [gameprogrammer] Re: development model
- » [gameprogrammer] Re: development model
- » [gameprogrammer] Re: development model
- » [gameprogrammer] Re: development model
- [gameprogrammer] development model
- From: xucaen
- [gameprogrammer] Re: development model
- From: Matthew Weigel
- [gameprogrammer] Re: development model
- From: Kevin Jenkins