Hi Leute.
Mache gerade ein paar Überlegungen zu einem Echtzeit Online-Spiel. Völlig unabhängig vom Typ des Spiels habe ich folgende Frage:
Angenommen serverseitig ist für jedes agierende Objekt im Spiel (Gegner, NPCs etc.) auch ein Java-Objekt erzeugt, welches entsprechend in der Spielwelt "handeln" kann. Wie implementiert man bei so etwas am besten das Timing dieser Objekte, d.h. dass immer wieder alle Objekte auch Code ausführen dürfen?
Für jedes Objekt einen eigenen Thread erstellen geht offensichtlich nicht, denn je nach Spiel kann es da ja um 1000e-10000e gehen. Eine Alternative wären eine Schleife, die in einem fixen Zeitinterval (z.B. 1 oder 2 Sekunden) eine Update-Funktion für jedes Objekt aufruft. Damit wäre die Engine aber irgendwie recht starr, jedes Objekt kann nur einmal pro Sekunde reagieren.
Hat jemand irgendwelche Ideen dazu?
Mache gerade ein paar Überlegungen zu einem Echtzeit Online-Spiel. Völlig unabhängig vom Typ des Spiels habe ich folgende Frage:
Angenommen serverseitig ist für jedes agierende Objekt im Spiel (Gegner, NPCs etc.) auch ein Java-Objekt erzeugt, welches entsprechend in der Spielwelt "handeln" kann. Wie implementiert man bei so etwas am besten das Timing dieser Objekte, d.h. dass immer wieder alle Objekte auch Code ausführen dürfen?
Für jedes Objekt einen eigenen Thread erstellen geht offensichtlich nicht, denn je nach Spiel kann es da ja um 1000e-10000e gehen. Eine Alternative wären eine Schleife, die in einem fixen Zeitinterval (z.B. 1 oder 2 Sekunden) eine Update-Funktion für jedes Objekt aufruft. Damit wäre die Engine aber irgendwie recht starr, jedes Objekt kann nur einmal pro Sekunde reagieren.
Hat jemand irgendwelche Ideen dazu?