Netzwerkspiel

Hatschi

Aktives Mitglied
Ich möchte ein Netzwerkspiel programmieren, aber wie?
Ich beschäftige mich jetzt schon seit knapp 2 Jahren mit JAVA (private, daher nicht immer sonderlich intesiv). Das eigentliche Programm zu schreiben, sollte nicht das Problem sein, aber die Kommunikation übers Netzwerk, wie mache ich das? Ich habe schonmal son "Echo" geschrieben -> ich schicke ne Nachricht an den Server und der schickt mir das zurück. Das habe ich einfach mit streams gemacht und ist jetzt nur die Frage ob das auch für das Spiel Sinn macht, oder ob man lieber RMI benutzten sollte. Ein Bekannter hat mir mal gerate ich soll das ganze lieber irgendwie über SOAP laufen lassen. Heute habe ich dann gelesen CORBA wäre das Non-Plus-Ultra... was denn jetzt?

(gehen wir einfach mal davon aus, dass ich Schiffenversenken programmieren möchte)
 

0din

Bekanntes Mitglied
ein schiffeversenken würde ich über ne simple socket verbindung lösen... ohne großen schnickschnack...
eine seite spielt dabei den server, der u.a. behält wer an der reihe ist...
was du nun über die sockets jagst is eig ziemlich egal aber ich würds mit simplen strings machen...

z.b. "AB2" für "Angriff" "Reihe B" "Spalte 2"
un vom server an den client "TB2" für "Treffer" "Reihe B" "Spalte 2"
 

JanHH

Top Contributor
Erstmal solltest Du Dir Klarheit darüber verschaffen, wie das Front-End für die Spiele aussehen soll.. also ob beim Spieler ein Programm installiert ist, oder es als java-Applet im Browser laufen soll, oder direkt im Browser, HTML-basiert. Das hat schon viel Einfluß auf die Entscheidung, wie man da am besten ran geht.

Dann sollte man evtl. noch berücksichtigen, dass man, sofern das Spiel mit lokal laufenden Clients läuft, einen Port für die Kommunikation braucht, und bei vielen Usern, vor allem in Firmen und Behörden, viele Ports firewalltechnisch gesperrt sind, was einen dann dazu zwingt, den HTTP-Port zu nutzen (und damit dann z.B. die Möglichkeit hat, die gesamte Kommunikation per HTTP-Requests zu machen, wo man dann javaseitig nicht direkt mit Sockets programmieren muss, sondern sich eher ein Servlet anbieten würde.
 

Oben