Phaltôn: Über "Engine" jede paar Sekunden Aktionen laufen lassen

Beitrag lesen

Hallo,

ich wollte in meinem Browsergame eine Art "Engine" ausführen lassen. Diese soll alle paar Sekunden Aktionen ausführen (bewegen von Computerspielern etc.).
Nun habe ich drei Möglichkeiten ausprobiert:
1. Der eingeloggte Spieler mit der kleinsten ID führt die automatisch über Refresh alle 1.5 sec aus. Das hat zur Folge, dass dieser Spieler nicht so schnell spielen kann...
2. Ein CronJob führt jede Minute ein Skript aus. Nachteil hierbei: Langweilig, denn z.B. jeder Computerspieler bewegt sich nur jede Minute, wenn überhaupt.
3. Ein CronJob führt ein Skript aus, das 60 sec läuft und immer wieder die "Engine" ausführt. Hierbei wird der Server nach einiger Zeit sehr langsam.

Wie unschwer festzustellen ist, ist das alles nicht ganz das Wahre.

Meine Frage nun: Gibt es eine alternative Möglichkeit, so etwas zu realisieren?

Meine Idee wäre nur noch, dass (wegen Chat-Aktualisierung sowieso vorhanden) jeder Spieler alle 1.5 sec eine Seite über XMLHttpRequest ausführt, jedoch nur, wenn die letzte globale Aktualisierung der Engine 1.5 Sekunden zurückliegt. Dies hätte zur Folge, dass bei jedem Reload ein anderer Spieler belastet wird. Aber was, wenn zwei Spieler genau zur gleichen Zeit aktualisieren...?

Ich bedanke mich schon einmal für das Lesen meines ja nicht ganz kurzen Beitrages.

Für Rückfragen stehe ich jederzeit zur Verfügung,

Phaltôn