Ich entwickel gerade ein multiplayer Aufbauspiel, in dem ich sogar eine ganze Instanz des Spiels auf dem Server laufen lasse. Um das zu ermöglichen muss man natürlich Logik und Darstellung sehr stark voneinander trennen. Bis jetzt läuft es aber ganz gut.
Muss man nicht unbedingt, solange man den Rendering-Teil einfach deaktivieren kann. Meine Modelle sind z.B. nicht nur Modelle, sondern gleichzeitig übernehmen sie auch ihre eigene Darstellung (was nicht unbedingt MVC-konform ist, aber ich finde es praktisch so). Dennoch kann ich das Rendering komplett deaktivieren und könnte es als reinen Server laufen lassen. Man muss also nicht generell stark trennen zwischen Logik und Darstellung, sondern es reicht, wenn man diese Teile unabhängig voneinander aufrufen kann. Klar, man darf nicht sowas machen wie eine Methode "updateMyPlayer", wo sowohl sämtliche Logik ausgeführt, Kollisionen berechnet und auch noch das Rendering gemacht wird. Das wäre aber insgesamt ein sehr gutes Beispiel für schlechtes Design oder schlechte Kapselung.