Hallo,
ich bastle momentan an einem Spiel, das momentan lokal gut funktioniert. Es gibt ein Simulations-Backend und ein Anzeige-Frontend, die fast unabhängig voneinander laufen. Der Simulator hält eine Liste mit allen im Spiel aktiven Lebensformen, dort ruft er dann entsprechende Methoden auf, die den Lebensformen Leben einhauchen. Auf der anderen Seite hat man das Interface, das diese Lebensformen anzeigt und den Spieler interagieren lässt.
Momentan ist es so aufgebaut, dass das Interface einen Spieler hat, der letztlich die Aktionen erledigt. Auf diese Weise könnte man das Spiel auch auf 3D oder CLI umstellen, ohne dass die Mechanik anders wäre. Dieser Spieler hat wiederum eine Liste mit den Lebewesen, die er kontrolliert und sagt den Lebensformen, was sie tun sollen.
Mehrere Spieler auf einem Rechner wäre nicht so so das Problem, da ich dann ja einfach mehrere Spieler an gleichen Simulator andocken könnte und auch die ganzen Listen und Lebensformen da wären.
Wie mache ich das denn, wenn ich das ganze übers Netzwerk machen möchte? Wenn ich jedes Mal die Objekte vom Server-Simulator abfrage und gar keinen eigenen Simulator laufen habe, entsteht zwar eine Menge Traffic, allerdings gibt es keine Zweideutigkeiten, wie wenn ich zwei Simulatoren eventuell auseinander laufen habe.
Aber wie kann ich konkret auf die ArrayList zugreifen, die auf einem anderen Rechner läuft? Wenn ich das ganze in Text serialisiere und auf der anderen Seite zusammen baue müsste ich mir ja erst mal ein Protokoll ausdenken und hätte jede Menge Arbeit mit Konstruktoren und Serialisierunsfunktionen. Und wie würde ich das mit Funktionen der Lebensform-Klasse mache, die als Parameter eine zweite Lebensform entgegen nehmen?
Grüße,
frostbyte
ich bastle momentan an einem Spiel, das momentan lokal gut funktioniert. Es gibt ein Simulations-Backend und ein Anzeige-Frontend, die fast unabhängig voneinander laufen. Der Simulator hält eine Liste mit allen im Spiel aktiven Lebensformen, dort ruft er dann entsprechende Methoden auf, die den Lebensformen Leben einhauchen. Auf der anderen Seite hat man das Interface, das diese Lebensformen anzeigt und den Spieler interagieren lässt.
Momentan ist es so aufgebaut, dass das Interface einen Spieler hat, der letztlich die Aktionen erledigt. Auf diese Weise könnte man das Spiel auch auf 3D oder CLI umstellen, ohne dass die Mechanik anders wäre. Dieser Spieler hat wiederum eine Liste mit den Lebewesen, die er kontrolliert und sagt den Lebensformen, was sie tun sollen.
Mehrere Spieler auf einem Rechner wäre nicht so so das Problem, da ich dann ja einfach mehrere Spieler an gleichen Simulator andocken könnte und auch die ganzen Listen und Lebensformen da wären.
Wie mache ich das denn, wenn ich das ganze übers Netzwerk machen möchte? Wenn ich jedes Mal die Objekte vom Server-Simulator abfrage und gar keinen eigenen Simulator laufen habe, entsteht zwar eine Menge Traffic, allerdings gibt es keine Zweideutigkeiten, wie wenn ich zwei Simulatoren eventuell auseinander laufen habe.
Aber wie kann ich konkret auf die ArrayList zugreifen, die auf einem anderen Rechner läuft? Wenn ich das ganze in Text serialisiere und auf der anderen Seite zusammen baue müsste ich mir ja erst mal ein Protokoll ausdenken und hätte jede Menge Arbeit mit Konstruktoren und Serialisierunsfunktionen. Und wie würde ich das mit Funktionen der Lebensform-Klasse mache, die als Parameter eine zweite Lebensform entgegen nehmen?
Grüße,
frostbyte