PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP - Browsergame --> Aktualisierung ohne Acc-Aktivität


MajorInSky
2003-12-05, 20:35:55
Wir sind dabei ein Browsergame zu entwickeln. Habe mir jetzt schon einige Funktionen zurechtgelegt und das Konzept steht auch schon.
Jetzt bin ich auf folgendes Problem gestoßen:

Spieler A hat 500 Punkte, baut sein Hauptgebäude aus, geht von seinem Account. Inzwischen ist die Bauzeit des Gebäudes abgelaufen und irgendwie muss jetzt die Funktion aufgerufen werden, dass die Werte in der Datenbank aktualisiert werden. Weil wenn Spieler B jetzt z.B. in der Rangliste guckt, stehen da noch immer die 500 Pkt. oder wenn z.B. jmd. jetzt das Dorf erobert, hat er noch die alten Werte - die würden so lange bleiben, bis Spieler A sich auf seinem Account mal wieder eingeloggt hat.

Als Alternative würde ich jetzt sagen, dass an jeder Schnittstelle, an der Spieler B mit Spieler A in Kontakt kommen kann, eine Überprüfung von abgelaufener Bauzeit etc. stehen würde und dadurch wieder alles aktualisiert wird. Das würde aber sicherlich viel zu viele Abfragen und Überprüfungen geben und die Ladezeiten wären extremst inakzeptabel.

Gibt es eine Alternative, wie die Datenbank ständig aktualisiert werden kann - außer Cronjobs (ein Script, das sich immer laden würde, würde zu lange dauern, denke ich) ...

Wäre soooooo toll (mindestens :)...), wenn ihr für mich einen Vorschlag hättet.
ThX

huha
2003-12-05, 21:16:01
Gibt eigentlich nichts außer Cronjobs.
Gut, du könntest vllt. folgendes sagen:
Update alle 5 Minuten. Jetzt schreibst du ein winziges PHP-Script, das in jeder Datei (sprich, bei jeder Aktion) aufgerufen wird und schaut, ob die 5 Minuten schon vorbei sind. Wenn sie vorbei sind, wird upgedatet.
Sonst wüßte ich eigentlich nichts, ich denke, daß da Cronjobs besser sind.

-huha

MajorInSky
2003-12-05, 21:32:44
So. ich habe jetzt mit einem anderen browsergameentwickler gesprochen und er macht es ganz einfach so, dass bei jedem Kontakt, der mit dem Spieler A entsteht, das ganze überprüft und upgedated wird. Er meint, es wirkt sich nicht auf die Ladezeiten aus.

Also geklärt. ThX

Wenn jmd. trotzdem nochne gute Idee hat:
immer her damit.