Multiplayerspiel programmieren... welche Klassen sind geeignet?

moccajoghurt

Bekanntes Mitglied
Hallo,

für eine Studienarbeit möchte ich ein 2D-Game programmieren, dass im Arcade-Mode (Beispiel: Street Fighter, Tekken, ...) gespielt wird.
Der Client wird vom Rechner aus gestartet (kein Applet) und die Darstellung läuft über ein JPanel.
Die grafische Umsetzung sollte weniger Probleme bereiten, allerdings stehe ich bei der Netzwerkprogrammierung vor vielen Rätseln.

Offene Fragen sind noch:
Wie sorge ich dafür, dass Client A und B immer den selben Datenstand haben?
Wie übertrage ich die Steuerungsdaten am besten?
Benutze ich einen Server als Zwischenstation oder soll die Verbindung direkt zwischen den Clients aufgebaut werden?

Wäre sehr dankbar für ein paar Tipps oder Tutorials, falls jemand welche kennt.

Gruß moccajoghurt
 
F

Firephoenix

Gast
Hi,
ansonsten zu den Clients:
Ich würde das trotzdem als Server aufbauen, und den lokalen Spieler auf sich selbst connecten lassen.

Dann musst du nicht 2 unterschiedliche Clients bauen, sondern hast einfach nur einen lokalen Server, auf den sich 2 Clients verbinden, einer halt per Netzwerk, der andere lokal.
Gruß
 
S

SlaterB

Gast
'2 unterschiedliche Clients', wie sähe das denn aus, wäre dann nicht einer von denen der Server?
wenn dann würde man die sicher exakt gleich aufbauen, beide quasi Server und Client, beide mit Möglichkeit selber die Verbindung zu starten,
z.B. nach Usereingabe
 
F

Firephoenix

Gast
Damit meinte ich 2 unterschiedliche Arten Spieler zu betrachten, also einmal als Spieler der direkt mit dem Spiel interagiert und einer der über Sockets "dazugeschaltet" wird. Da bekommt man nämlich direkt 2 unterschiedliche Stellen die man bei Codeänderungen warten muss - daher mein Vorschlag einen Server und nur Clientverbindung - das Endprogramm würde wie von dir gesagt beide Komponenten enthalten, so dass jeder User wahlweise Client oder Server sein kann.
Gruß
 

c_sidi90

Top Contributor
Mal Simpel ausgedrückt ist der Client welcher das Netzwerkspiel (Multiplayer) aufmacht der Server und Client gleichzeitig. Somit muss jeder Client mit einer Serverklasse ausgerüstet sein, welche beim Host aktiviert wird (Serverthread). So hab ich das mal gelöst. Wohl die einfachste Art dein Vorhaben aufzubauen.
 

moccajoghurt

Bekanntes Mitglied
Das Game Basics Tutorial hat mir sehr geholfen und das Grundgerüst für den Server steht. Kennt jemand einen Webhost auf dem man Java-Dateien wie meine Server-Klasse laufen lassen kann?
 
M

Marcinek

Gast
Hi,

ist es den heutzutage als Student nicht möglich via Google und SUFU selbst an informationen zu kommen?

Das mit dem Hosten der JAVA Applikationen wird in diesem Monat ca 100 mal schon diskutiert.

Gruß,

Martin
 

moccajoghurt

Bekanntes Mitglied
Naja soviel konnte ich nicht finden. Einen gratis Host für Java-Anwendungen konnte ich nicht finden (abgesehen von der Google AppEngine, die aber leider nicht die jdbc unterstützt, welche ich gerne verwenden würde, weil eine SQL-Server Nutzung für das Projekt empfohlen wird).
Wenn jemand einen kennt, wärs also nett wenn er mir einen zeigen könnte, oder den Thread linken könnte in dem das besprochen wurde.
 
M

Marcinek

Gast
Hallo,

die Google App Engine hat einen myssql dienst nun. Du kannst die üblichen Methoden nutzen um drauf zuzugrefen aber via ORM.

Gruß,

Martin
 

Kr0e

Gesperrter Benutzer
Die AppEngine ist nicht für Spiele geeignet. Es werden nur maximale Verbindungsdauern von 30sek unterstützt. Außerdem ist die MySql Lösung, sobald sie isch nicht mehr in der Testphase befindet, kostenpflichtig. Du kannst aber Google's BigTable lösung nehmen, ist zwar keine relationale DAtenbank, aber sollte durchaus reichen...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Problem bei Socket (MultiplayerSpiel) Netzwerkprogrammierung 4
E Auto-Update programmieren! Netzwerkprogrammierung 24
S Spiel mit Server programmieren Netzwerkprogrammierung 2
H Socket Client/Server Socket Programmieren Netzwerkprogrammierung 1
R Problem beim Programmieren eines Chatprogramms Netzwerkprogrammierung 5
S Programmieren mit dem Internet Netzwerkprogrammierung 4
J Chat programmieren Netzwerkprogrammierung 12
L Chat Server programmieren Netzwerkprogrammierung 10
G Virtuelle Datenübertragung programmieren Netzwerkprogrammierung 5
L Internetfreigabe mit Java programmieren Netzwerkprogrammierung 22
N Server programmieren Netzwerkprogrammierung 10
S Eigenen Ping Befehl programmieren? Netzwerkprogrammierung 5
I Welche IP/Addresse brauche ich ? Netzwerkprogrammierung 9
B Socket Websockets (HTML5) - Welche Lib am weitesten? Netzwerkprogrammierung 4
S Welche Netzwerktechnik ist die bessere? Netzwerkprogrammierung 10
L Welche Technologie verwenden Netzwerkprogrammierung 8
A Welche Technik sollte ich einsetzen Netzwerkprogrammierung 9
S welche Rechner sind im lokalen Netz online Netzwerkprogrammierung 11
M Verteilte Anwendung - welche Technik? Netzwerkprogrammierung 31
M welche ist die beste icq api? Netzwerkprogrammierung 7
deetee Welche Schnittstelle um Traffic auszulesen? Netzwerkprogrammierung 2
P Welche Art von Sockets für ein Spiel? Netzwerkprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben