String
Erfahrenes Mitglied
Hallo zusammen,
also ich entwickel gerade ein Browsergame und habe dazu zwei Fragen.
1) Wie löst ihr es am besten, dass ein User etwas bauen kann, was dann "Zeitverzögert" fertig wird. Also z.b. ein Gebäude bauen, welches dann 10 Minuten später fertig ist!?
Macht ihr einen extra DB eintrag "User, baut, Fertig-Timestamp" und prüft bei jedem Zeitenaufruf, ob fertig und wenn ja, DB-Eintrag für den User, dass er das Gebäude nun nutzen kann? Oder gehts auch unkomplizierter?
2) Ich habe ein Koordinatensystem von 0/0 bis 500/500.
Jeder User kann sich frei bewegen und seine "Zielkoordinaten" jeder Zeit ändern.
Ich hatte jetzt an ca. so etwas gedacht:
Tabelle User_Koordinaten:
UserID, start_x, start_y, ziel_x, ziel_y, startzeit, zielzeit
Jetzt könnte ich ja einfach errechnen, wann der User auf welcher Koordinate ist. Allerdings fehlt mir jetzt ein bisschen die Idee, wie ich herausfinden kann, welcher User bei wem in der "nähe" ist. Also wenn ein User eine Sichtweite von 5 "koordinaten" hat ginge das ja mit mysql:
"BETWEEN x-5..."
Aber daher die aktuellen Koordinaten ja nicht immer gespeichert werden können/werden, müsste ich erst ausrechnen, wo jeder User ist und dann prüfen ob er in der nähe ist. Auch ziemlich umständlich, aber irgendwie fällt mir nicht ein wie ich es hätte besser machen können.
Sollte ich lieber die MySQL-Tabelle anders aufbauen, gehe ich das ganze von anfang an falsch an ? Wie würdet ihr das Lösen?
Bin für jeden Vorschlag sehr Dankbar
string
also ich entwickel gerade ein Browsergame und habe dazu zwei Fragen.
1) Wie löst ihr es am besten, dass ein User etwas bauen kann, was dann "Zeitverzögert" fertig wird. Also z.b. ein Gebäude bauen, welches dann 10 Minuten später fertig ist!?
Macht ihr einen extra DB eintrag "User, baut, Fertig-Timestamp" und prüft bei jedem Zeitenaufruf, ob fertig und wenn ja, DB-Eintrag für den User, dass er das Gebäude nun nutzen kann? Oder gehts auch unkomplizierter?
2) Ich habe ein Koordinatensystem von 0/0 bis 500/500.
Jeder User kann sich frei bewegen und seine "Zielkoordinaten" jeder Zeit ändern.
Ich hatte jetzt an ca. so etwas gedacht:
Tabelle User_Koordinaten:
UserID, start_x, start_y, ziel_x, ziel_y, startzeit, zielzeit
Jetzt könnte ich ja einfach errechnen, wann der User auf welcher Koordinate ist. Allerdings fehlt mir jetzt ein bisschen die Idee, wie ich herausfinden kann, welcher User bei wem in der "nähe" ist. Also wenn ein User eine Sichtweite von 5 "koordinaten" hat ginge das ja mit mysql:
"BETWEEN x-5..."
Aber daher die aktuellen Koordinaten ja nicht immer gespeichert werden können/werden, müsste ich erst ausrechnen, wo jeder User ist und dann prüfen ob er in der nähe ist. Auch ziemlich umständlich, aber irgendwie fällt mir nicht ein wie ich es hätte besser machen können.
Sollte ich lieber die MySQL-Tabelle anders aufbauen, gehe ich das ganze von anfang an falsch an ? Wie würdet ihr das Lösen?
Bin für jeden Vorschlag sehr Dankbar
string