Onlinegame mit PHP&SQL?

KoMtuR hat gesagt.:
Warum sollte ich zum Beispiel user updaten per cronjob, die inaktiv sind? Ist genau die gleiche Situation. Du ziehste deine Aktualisierung sinnlos in die Länge. Ich würde es wirklich so machen, dass man doch bei jedem Klick updatet, aber natürlich nicht alles einzeln, sondern vorher alles schon in arrays speichern und auf einen rutsch updaten :) Soll ja bekanntlich schneller sein. Natürlich soll jeder User nur sich selbst aktualisieren, weil es sonst enorme Leistungseinbußen hat und man wieder bei dem Problem wäre, dass die Inaktiven aktualisiert werden, obwohl sie vielleicht in 2 Tagen eh gelöscht sind.
Ganz einfach, weil Du es spätestens dann must wenn die inaktiven angegriffen werden, und das werden Sie bei den meisten Browsergames. Ausserdem hast Du das Prinzip des Cronjobs ned ganz verstanden, der Cronjob dient in demmoment nur als auslöser, was Du am Ende wieweit updatest ändert sich dadurch nicht. Auch beim Update per Cronjob kannst Du dinge Ausspaaren, wenn Du das den möchtest. Der Vorteil du hast die Kontrolle darüber wann das Script für gewisse Berechnungen ausgeführt wird. Und bist nicht auf die Quasiwillkür der User angewiesen.
 
Keine Sorge ich hab das Prinzip schon verstanden ^^
Genau ich spare mir die Inaktiven und dann werden sie angegriffen. Super und dann? Selbes Problem. Beim Angriff ohne Cronjob aktualisierst einfach nur den Gegenpart, also den Inaktiven.
Beim Cronjob alleine musst du einfach alles updaten, weil du ja keine weiteren Updatemöglichkeiten hast. Wenn du eine Kombination von Cronjob und der Updatefunktion ist das was anderes. Da würd ich aber eher gleich auf 1 plädieren.
Ob ich nun mit einmal 1 großes Update mache (Cronjob) oder viele kleinere Updates (normale Funktion am Anfang) ist ein großer Unterschied.


Der Vorteil du hast die Kontrolle darüber wann das Script für gewisse Berechnungen ausgeführt wird. Und bist nicht auf die Quasiwillkür der User angewiesen.

Also wenn dann sollte man mit einem Script schon die User lenken und nicht die User das Script lenken lassen. Wer sagt denn, dass man jedes mal updaten muss? Man kann dem User doch auch vorgaukeln, dass seine Ressourcen die Menge X haben und nur bei wichtigen Sachen, wie Gebäudebau, Angriff und was weiß ich nicht noch die Ressourcen richtig in die DB schreiben.
 
Zuletzt bearbeitet:
KoMtuR hat gesagt.:
Man kann dem User doch auch vorgaukeln, dass seine Ressourcen die Menge X haben und nur bei wichtigen Sachen, wie Gebäudebau, Angriff und was weiß ich nicht noch die Ressourcen richtig in die DB schreiben.

Gute Idee ^^ Hab ich selbst noch nicht dran gedacht ^^
 
mal so ne frage wie läuft das bei dem spiel droidwars ich hoffe einige kennen es.

Das wenn man jemanden angreift das genau der schaden gerechnet wird abhängig wie viele bots im gegenerischen hanger sind (roboter die kämpfen)?

wird da bei jedem angriff ein cronjob gemacht oder wie leuft das?
 
Naja es wird einfach die Summe der Bots genommen und dann der Schaden berechnet.
Ob ein Cronjob die Kampfscriptberechnung anstößt weiß ich nicht.
 
Sicherlich wird da nicht bei jedem Angriff ein cronjob erstellt. Dauert denn die Zeit bis zum Gegner immer ein vielfaches von einer Zahl? Wenn ja lässt dies ein cronjob erahnen. Ein Spiel mit cronjobs erkennt man meist daran, dass zu der vorgegebenen Zeit nichts passiert, weil das Spiel zuviele User hat. Da brauch das Script länger zum Rechnen.

Bsp: Die Ressourcenausschüttung soll um jede halbe Stunde erfolgen und man bekommt die Ressourcen aber erst paar Sekunden nach halb oder wenn es schlimm programmiert ist sogar noch länger.
 
Ich muss echt sagen, die Idee mit den Ressourcen nicht ständig in die DB zu schreiben ist gut. z.B. den Timestamp einmalig auslesen und das Ressourcen-Anzeige Script berechnet die Ressourcen selber immer neu (ohne Postback) ;) Spart wirklich Arbeit & Zeit.
 
Hi

wie kommst du auf die idee auf einen 4 monate alten beitrag zu antworten?

und dabei nur das noch mal zu wiederholen was schon gesagt wurde (mit anderen worten).


mfg mike4004
 
Zurück