Browsergame: rohstoffe zuschreiben

M

Mr AppleBob

Neues Mitglied
Thread Starter
Dabei seit
24.03.2010
Beiträge
19
Reaktionspunkte
0
Hallo macuser, ;)
ich mache gerade ein Mittelalter brower Game und kann html CSS php MySQL und ein bisschen JavaScript!
Nur an einer Stelle komme ich nicht weiter und will meine kostbare Zeit nicht mit ewigem probieren verplempern ;) !
Ich will, das jeder Spieler z.B. Jede minute ??? Einheiten Holz bekommt und wen er den Holzfäller außbaut eben immer etwas mehr pro min. Ich denke das kann ich mit js machen! Aber ich will auch das die Zahl dann in einer MySQL tabele gespeichert wird!

Hoffe auf Hilfe,
Mr. Applebob :)
 
Wie wäre es mit Ajax?
 
Was du willst hört sich nach einer Aufgabe für einen Cronjob an, mit Ajax hat das eigentlich nichts zu tun.
 
Ajax (und JS allgemein) ist Clientseitig, die Daten bekommst du nicht sinnvoll wieder zurück.

Cronjob, der bei allen Leuten in der MySQL Datenbank eben entsprechend Rohstoffe draufknall halte ich für die beste Lösung, das wird aber gut Leitung brauchen bei entsprechend vielen Spielern.
 
Ajax (und JS allgemein) ist Clientseitig, die Daten bekommst du nicht sinnvoll wieder zurück.

Was heisst "sinnvoll". Endweder man bekommt welche, oder nicht.

Ich hab leider den Post des TS nicht genau gelesen und dachte, das dies Serverseitig schon feststeht und man es nur Clientseitigt benötigt. Es gibt durchaus User die wollen das Browserfenster auf haben und sehen wie sich "live" die Rohstoffe/Geld vermehrt.


Cronjob, der bei allen Leuten in der MySQL Datenbank eben entsprechend Rohstoffe draufknall halte ich für die beste Lösung, das wird aber gut Leitung brauchen bei entsprechend vielen Spielern.

Kommt auf das Datenmodell an. Für mich sieht das wie ein sql pro rohstoff an und soviele user werden wohl nicht sein. wenn er 500 hat, kann er froh sein.

Obwohl ich mir nicht sicher wäre ob ich da einen cronjob laufen lassen würde. hab mir noch nicht gedanken über sowas gemacht.
 
Für die Animation wie bei Imperion nimmt man JS. Man kann entweder alle paar Sekunden per AJAX eine Datenbankabfrage machen, das frisst nur richtig Performance auf dem Server. Oder man gibt der Seite ein kleines Skript mit, was alle t Sekunden den Rohstoffzähler um n erhöht. Wenn man eine Mine ausbaut, dann wird die Seite ja eh neu geladen und man kann das Skript anpassen.
 
Ein Vorschlag für den Rohstoff Update auf der Datenbank....pack die Funktionalitäten für den Rohstoff Update in der Rohstoff Tabelle einfach in eine php-Funktion, welche immer dann getriggert wird wenn eine andere Funktion die in Zusammenhang mit deinen Rohstoffen steht, aufgerufen wird.
Einfach letzte Berechnungszeit merken und bei einem neuen Aufruf das Delta errechnen und updaten.
 
Einfach letzte Berechnungszeit merken und bei einem neuen Aufruf das Delta errechnen und updaten.

Hatte ich auch überlegt. Aber was machst du, wenn jemand eine Minenerweiterung in Auftrag gibt und sich ausloggt. Dann ist ja irgendwann zwischendrin die Rohstoffzunahme anders. Und du kannst es nicht mehr einfach errechnen.
 
Wenn auch bei Geschlossenem Browser weiter Holz gesammelt werden soll,
dann schreib in die Tabelle die Uhrzeit(und das Datum) der letzen Änderung der Holzmenge und lass das Programm bei der nächsten Änderung ausrechnen wie viel Holz es insgesamt war, und schick es per AJAX an den Server.

Falls du dich nicht mit Ajax auskennst, ein gutes Toturial: Tutorial

Viele Grüße
 
Auf keinen Fall per Javascript jede Sekunde berechnen und per AJAX hochladen,
das frisst unheimlich traffic. Und die Performance... ^^
 
und an cheater sollte man auch denken ;)
 
Zurück
Oben Unten