Sonstiges Cache, bitte!!!

  • Themenstarter Alexander 1285 der Weiße
  • Startdatum
Status
Es sind keine weiteren Antworten möglich.

DeletedUser

Guest
Bestimmt schon 1000 mal gefordert worden, aber trotzdem: Bitte baut einen Cache in das Spiel ein, so dass bei vorübergehender schlechter Internetverbindung nicht alles für die Katz war.
 
Grund für die Idee
Passiert mir nicht einmal, nicht zweimal, sondern mehrmals die Woche:

Die Internetverbindung lahmt (wenn sie gänzlich abbricht, kommt ja wenigstens eine Meldung) und ich bastle munter an Stadt oder Siedlung, ernte und stelle neue Produktionen ein, verlasse die Stadt und alles war für den Popo. Das ist echt stressig.

Bitte jetzt keine Diskussionen über Internetverbindungen. Mal hat man gute Verbindung und mal schlechte - ist halt so.

Es wäre doch sicherlich machbar, dass bestimmte Aktionen (Produktionen, städtebauliche Änderungen) gecached werden, wenn die Verbindung zum Server zu lahm ist und dann beim nächsten Mal synchronisiert werden.
Bei Kämpfen könnte es problematisch sein, bei Verhandlungen in Gex und GG könnte das Ergebnis auch gespeichert werden bis zur nächsten Verbindung.


Alternativ früher warnen, wenn die Internetverbindung nicht für einen flüssigen Spielablauf ausreicht.
Gefahren der Idee
Wenn die Synchronisation nicht sauber ist, kann es zu Spielfehlern kommen, aber das sollte schon alles sein.
Ideenforum durchsucht?
Nein
Regeln für Vorschläge gelesen und beachtet
Ja
Zumindest am PC wird das wahrscheinlich nicht funktionieren. Wenn die Verbindung einmal weg war muss man die Seite meist neu laden. Und damit sind die Daten weg. Aber ein Hinweis wenn die Verbindung unterbrochen oder zu schlecht ist wär super.
 

DeletedUser

Guest
Zumindest am PC wird das wahrscheinlich nicht funktionieren.
Da gebe ich dir Recht. Aber mit dem PC steht man meist nicht in Hintertupfingen beim Discounter an der Kasse und spielt FoE während die drei älteren Damen vor einem ihren Einkauf mit Centstücken bezahlen.;)
 

DeletedUser

Guest
Aber im Ernst. Sicherlich lässt sich mit Javascript und Cookies da einiges machen. Wenn eine Änderung nicht gleich an den Server übersandt werden kann (Responsezeit zu lang), dann die Änderungen solange in Cookie speichern, bis Server wieder antwortet. Dann Cookie-Änderungen synchronisieren.

Wird kein Sonntagsspaziergang, ist aber sicherlich auch keine Raketenwissenschaft.
 
Das wird in einem Multiplayerspiel schlecht machbar sein. Wenn du beispielsweise offline deine Ernte einsammelst und die FP in eines deiner LGs steckst:
- was passiert, wenn Teile der Ernte während der Abwesenheit geplündert wurden?
- was passiert, wenn dein LG während der Abwesenheit durch einen freundlichen Nachbarn gelevelt wurde?

Überhaupt: Wenn ich zum Erntezeitpunkt gerade keine Lust habe, kann ich dann zu einen späteren Zeitpunkt einfach meine lokale Uhr zurückstellen, das Spiel offline starten, einsammeln und die Uhr wieder auf die richtige Zeit stellen?
 

DeletedUser

Guest
Durchaus berechtigte Fragen, gebe ich zu. Aber es gibt bestimmt für alles eine Lösung. Andersherum muss halt auch gefragt werden, warum sollte ich meine Ernte durch Plünderung verlieren, wenn ich sie doch rechtzeitig abgeholt habe, aber das Spiel, der Server oder die Verbindung zu langsam war?

Da müsste man sich halt ein Konzept überlegen.

Und offline starten geht ja nicht. Und es geht ja nicht darum, offline zu spielen. Wenn die Verbindung zum Server abbricht, meldet das Spiel es ja auch.
Es geht ja nur um den Fall, wenn die Verbindung zu langsam ist oder für einen kurzen Moment unterbrochen ist. Man könnte sowas dann z. B. durch eine Session ID lösen.

Lösungsmöglichkeiten gäbe es viele, allein ein stimmiges Konzept und der Wille, es umzusetzen müssten her.
 
Zuletzt bearbeitet von einem Moderator:
Durchaus berechtigte Fragen, gebe ich zu. Aber es gibt bestimmt für alles eine Lösung. Andersherum muss halt auch gefragt werden, warum sollte ich meine Ernte durch Plünderung verlieren, wenn ich sie doch rechtzeitig abgeholt habe, aber das Spiel, der Server oder die Verbindung zu langsam war?
Aber wird der Plünderer sich nicht fragen warum ihm das was er geplündert hat plötzlich wieder weggenommen wird?
 

DeletedUser

Guest
Aber wird der Plünderer sich nicht fragen warum ihm das was er geplündert hat plötzlich wieder weggenommen wird?
Wie gesagt, eine Frage des Konzepts. Man könnte das z. B. auch so lösen, dass beide ihre Güter oder was auch immer erhalten, weil sie für die schlechte Verbindung nichts können. Kommt ja niemand dadurch zu schaden.
Bestimmt gibt es auch noch andere Möglichkeiten.
 

DeletedUser

Guest
Naja alleine aus Sicherheitsgründen wird das nicht machbar sein. Regel Nr 1 vertraue nie dem Spieler. Wenn er offline die Daten zur Verfügung hat kann er auch theoretisch aus den 12fp die ein terassenfeld gibt 120fp machen usw und der Server denkt alles wäre super.
 

DeletedUser

Guest
Wenn er offline die Daten zur Verfügung hat kann er auch theoretisch aus den 12fp die ein terassenfeld gibt 120fp machen usw und der Server denkt alles wäre super.
Nicht, wenn die Daten an eine Session gebunden sind. Wenn die App geschlossen oder der Browser beendet wird, dann wären die Daten ja auch weg. Es geht wirklich nur um die kurze Zeit, wenn während eines gerade laufenden Spiels die Verbindung lackt. Nicht, um Daten wochenlang aufzuheben.

Also meine Idee zusammengefasst:
  • während eines laufenden Spiels, wenn die Internetverbindung zu langsam ist, sollen Spielschritte kurz gecached werden, damit das Spiel flüssig weiter läuft. Hat man wieder während des aktuellen Spiels eine bessere Verbindung, werden die getätigten Schritte synchronisiert.
  • Nicht alles muss gecached werden, sondern nur Dinge, die sicher sind und keinen großen Schaden anrichten. (Beispiel: mopolieren, Tavernenbesuche, Umbauten an der Stadt, Verhandlungen und Kämpfe in Gex oder GG) Bei manchen Dingen müsste man sich evtl. Konzepte überlegen (Einsammeln vs. Plündern). Frage ist nur, ob das bei den kurzen Zeitabständen, um die es geht, relevant ist.
  • alternativ sollte rechtzeitig eine Meldung erscheinen, dass die Verbindung zu langsam ist und man beim Spielen vorsichtig sein sollte.
  • Wer die App oder den Browser schließt, verliert auch die Daten, um Missbrauch zu vermeiden.
  • Die Daten im Cache sind von mir aus verschlüsselt.
 

DeletedUser

Guest
Nicht, wenn die Daten an eine Session gebunden sind. Wenn die App geschlossen oder der Browser beendet wird, dann wären die Daten ja auch weg. Es geht wirklich nur um die kurze Zeit, wenn während eines gerade laufenden Spiels die Verbindung lackt. Nicht, um Daten wochenlang aufzuheben.

Also meine Idee zusammengefasst:
  • während eines laufenden Spiels, wenn die Internetverbindung zu langsam ist, sollen Spielschritte kurz gecached werden, damit das Spiel flüssig weiter läuft. Hat man wieder während des aktuellen Spiels eine bessere Verbindung, werden die getätigten Schritte synchronisiert.
  • Nicht alles muss gecached werden, sondern nur Dinge, die sicher sind und keinen großen Schaden anrichten. (Beispiel: mopolieren, Tavernenbesuche, Umbauten an der Stadt, Verhandlungen und Kämpfe in Gex oder GG) Bei manchen Dingen müsste man sich evtl. Konzepte überlegen (Einsammeln vs. Plündern). Frage ist nur, ob das bei den kurzen Zeitabständen, um die es geht, relevant ist.
  • alternativ sollte rechtzeitig eine Meldung erscheinen, dass die Verbindung zu langsam ist und man beim Spielen vorsichtig sein sollte.
  • Wer die App oder den Browser schließt, verliert auch die Daten, um Missbrauch zu vermeiden.
  • Die Daten im Cache sind von mir aus verschlüsselt.
Alles was du aufzählst sind potentielle Sicherheitsrisiken. Dadurch könnten sessions zb gehijacked werden. Wäre auch doof wenn ich deine session kriege und du loggst dich ein und alles ist weg oder?
Und wenn es nur ein paar Dinge sind. Kein großer Schaden ist dennoch ein Schaden. Wieso sowas alles riskieren wenn es doch auch läuft?
Außerdem werden bereits manche Dinge gespeichert wie zb die letzte Verhandlung oder Kampf kann man dort weiter führen wo man rausgeflogen ist.
Wenn dann sollte das Spiel eher noch sensibler sein und dich mit schlechtem Internet dich gar nicht erst einloggen lassen.
 

DeletedUser

Guest
Wenn dann sollte das Spiel eher noch sensibler sein und dich mit schlechtem Internet dich gar nicht erst einloggen lassen.
Auch damit könnte man leben. Oder, wie gesagt, eine Meldung, wenn die Verbindung schlechter wird.
Irgendwas halt, dass man weiß, jetzt ist es ungut, was zu machen. Gerade in der App sieht man ja auch die Symbole für WLAN und Netzqualität nicht.
 
Diffizile Sache: Auf der einen Seite verstehe ich die Motivation des OP vollkommen. Gerade wenn die Verbindung langsam ist wird das Spiel zur Qual. (Warum muss jeder Schritt und Dings immer wieder einzeln übertragen werden?)

Auf der anderen Seite ist das Spiel so wie es ist auf schnelle und permanente Verbindung hin aufgebaut und umgesetzt. Da jetzt was zwischen zu schalten wird glaub ich Riesenproblem oder sogar ein Desaster. (s.a. Thread "Server laggt").
 

DeletedUser

Guest
Auf der anderen Seite ist das Spiel so wie es ist auf schnelle und permanente Verbindung hin aufgebaut und umgesetzt. Da jetzt was zwischen zu schalten wird glaub ich Riesenproblem oder sogar ein Desaster. (s.a. Thread "Server laggt").
Nun, ich denke, dass ein Cache sogar den Server entlasten würde, weil er dann die Synchronisation erst dann macht, wenn der Server sich bei Spitzen etwas beruhigt hat und nicht noch mit noch mehr Anfragen zuballert.
 
Status
Es sind keine weiteren Antworten möglich.
Oben