Server Applikation
-
Hallo,
ich möchte ein kleines Spiel schreiben, in dem mehrere Leute (100-1000) im Internet auf einer 2D-Map umherlaufen. Ich hatte zuerst die Idee das mit einer SQL-Datenbank zu lösen, aber die Zahl der Zugriffe wäre bei so vielen Spielern enorm hoch, da ständig die aktuelle Position der anderen Spieler abgefragt werden soll.
Nun stellt sich mir die Frage, wie ich das Problem anders lösen könnte. Ich dachte da an eine eigene Server-Applikation, aber ich habe mit so etwas noch keine Erfahrung.
-
Es ist schwierig etwas zu programmieren das schneller ist als einen daten bank
Verwenden be sql vorcompelierte befehle nicht SQL Queries dann geht das alles schon viel schneller
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Muß denn jeder Pups den der Spieler macht, in einer DB gespeichert werden? Gibt es nicht so nette funktionen in Spielen, die sich "Spielstand speichern" nennen?
Außerdem gehst du das glaub ich falsch an. Ist es nicht so, das die ganzen Game-Server nur für die Anmeldung bzw. einen Treffpunkt wichtig sind? Und das dann jeder Client nur seine geänderten Daten an die anderen schickt?
-
Naja, also ein Spieler soll z.B. zwei andere Spieler, die sich in seiner Nähe befinden sehen können. Also wohin sie gerade gehen. So ähnlich wie in Diablo, falls das Spiel bekannt ist.
-
Ja, aber das brauchst du doch nicht in einer DB speichern. Das mußt du so machen, das jeder Client dem anderen Client seine aktuellen Koordinaten oder Aktionen schickt. Der Server ist da nicht mehr relevant, nachdem jeder Client (Spieler) den anderen kennt. Das ist bei allen Netzwerk-Spielen so.
-
Aber ich glaube bei 100 - 1000 leuten gibs da ein problemchen, weil du schlecht mal kurz zu allen anderen 1000 leuten verbinden kannst... die meisten werden dann noch ne firewall haben oder hinter nem router sitzten und ähnliches...