# Jede Aktion sofort speichern



## Yanko (30. Nov 2009)

Ich habe ein kleines Spiel wo man gerade mal rumgehen kann.(immerhin schon etwas)

Nun will ich das man speicherstände anlegen kann(mit mysql)

man sollte nicht auf einen button klicken müssen, aber wenn ich nach jeder aktion(schritte, angriff, item) die db update ist das dann nicht zu viel?? vorallem beim rumgehen wird doch ein query nach dem anderen gemacht(von php her weis ich das man das meiden sollte)

hättet ihr da ne idee wie man es am besten machen kann??


----------



## javimka (30. Nov 2009)

Warum willst du das denn so genau dokumentieren? Wenn jemand einige Zeit lang speilt, werden das sicher zig-tausend EInträge werden. Da brauchst du schon einen guten Grund für einen solchen Aufwand. Die andere Frage ist, warum du denn eine Datenbank brauchst. Es hört sich für mich an, als ob dir mit einer ArrayList besser und einfacher geholfen ist. Ausser du brauchst natürlich gewisse Funktionen aus Datenbanken.


----------



## tuxedo (30. Nov 2009)

Von MMORPG Server her kenn ich das so, das der Spielzustand über den Zeitraum X im SPeicher gehalten und aktualisiert wird. Im Zeitinterval X wird dann der aktuelle Zustand in der DB persistiert. 

Jede einzelne Bewegung sofort in der Db persistieren: Tja, bei vielen Spielern quälst du damit schnell die DB ...

- Alex


----------



## Yanko (30. Nov 2009)

Wie groß sollte so ein Interwall sein??
also eher im (milli)sekbereich oder minbereich??
@oben:Ich füge nichts  ein sondern aktualisiere den datensatz:SpielstandX


----------



## tuxedo (30. Nov 2009)

Also ich kenn nur Minutenbereiche (zwischen 3 und 15min). Aber das kommt denke ich auch aufs Spiel an. Aber ich denke unter 10sek. wird nur in den seltensten Fällen notwendig werden.

Solange der Server absturzfrei läuft es es eigentlich egal wie das Interval eingestellt ist  Erst bei einem Absturz macht sich das ganze bemerkbar. Da hast du dann im worst-case einen Datenverlust von der größe des Intervalls. 

- Alex


----------



## Yanko (30. Nov 2009)

Sorry das ich nochmal schreiben aber was ist mit spielentscheidenden Aktionen.

Ist es in Ordnung da nochmal zu speichern undden interval zu vernachlässigen oder soll ich bloß nach dem interval speichern


----------

