Spectator Modus für Spiel ähnlich zu Terraria

IWillTry

Mitglied
Hi Leute,

Ich bin gerade an einem 2D-Side-Scrolling Programm ähnlich zu Terraria am arbeiten.
Nun soll ich den Netzwerkmodus implementieren, beginnend mit dem Zuschauer/Spectator Modus.
Server- und Client sind bisher zum Chatten implementiert und der Chat läuft auch.

Nur wie erstelle ich den Zuschauermodus? Wie teile ich beim connecten dem Server mit, in welchem Modus ich mich als Client verbinden will? Ich stehe dabei gerade total auf dem Schlauch... Hilfe bitte

Vielen Dank

IWillTry
 

Maggot

Bekanntes Mitglied
Ich würde beim Connecten als Client eine bestimmte Zeichenfolge schicken damit der Server weiß, dass ich ein Spactator bin.

Wenn der Client ein Spectator ist, dann muss nurnoch das ganze Spielgeschehen gesynct werden. Also die ausgangs Map an den Client senden, die rendert er bei sich und dann sender der Server nurnoch die änderungen an den Client.

So würde ich das implementieren,
 

IWillTry

Mitglied
Hi Maggot und danke schonmal für die Antwort,
also ich habe bereits einen Chat-Server und Client. Dem Client übergebe ich nun im Konstruktor einen int-Wert (oder ein enum), der den Modus bestimmt (Chat, Spectator, Participant,...).
Nur wie soll der Server das auslesen?

Die Chunks der Welt werden als Arrays in ner Textdatei gespeichert. Die werden zu Beginn verschickt und während des Spiels sollen dann nur die Operationen des Spielers übermittelt und beim Client umgesetzt werden.

Nur wie? Also wie sieht der Code für sowas aus?
 

Major_Sauce

Bekanntes Mitglied
Im Endeffekt hast du folgende Möglichkeiten:

1. Du legst die Textdateien auf einem Server ab, und lädst sie dann mit dem Client, in diesem Fall zuschauer runter, und öffnest sie dann nach deinem Bestimmten Verfahren.

2. "Streaming", d.h. du Sendest beim connten entweder alle, oder nur teilweise die Daten der Welt an den Zuschauer. Wenn du sie nur teilweise schicken willst, dann schick ihm die Daten aus seiner momentanen Umgebung. Wenn er sich bewegt dann schaust du wohin und lädst diese dann wieder auf den Client.

3. Seeds. Du generierst einen Seed, erstellst die Welt danach und schickst dann nur noch diesen Seed, normalerweise eine Zeichenfolge aus einigen Zeichen. Diese werden dann auf dem Client zerlegt, es werden die Weltdaten ausgelesen und falls sich die Blöcke ändern können, dann muss der Server noch die Daten der Blöcke schicken, die seit dem ersten Start geändert wurden.

Nun wähl dir einz aus, dann können wir dir zumindest mal die richtigen Links zuschicken, Code senden ist immer so ne Sache, da du dann meißt nichts draus lernst (bzw kaum was)

mfg Major
 

IWillTry

Mitglied
Hi Major_Sauce,

Danke für die Übersicht. Wegen der Art der Weltgenerierung werden wir wohl erstmal auf die erste Variante zurückgreifen müssen.
Der Server ist in diesem Fall erstmal immer der PC des SPielers, der sein Spiel teilt.
Weiß halt nur nicht, wie ich das verschicken kann.

Viele Grüße
 

IWillTry

Mitglied
BIsher kann mein Server nur Texte empfangen, diese ausgeben und an alle Clients zurücksenden, wo diese wiederrum im Chatfenster ausgegeben werden.
Nun brauche ich einen Server, der vom Client zunächst die Daten Name, Gamemode, etc. empfängt, diese abspeichert (Userlist) und der die Spieldatein verschicken kann an die Clients
 

Maggot

Bekanntes Mitglied
BIsher kann mein Server nur Texte empfangen, diese ausgeben und an alle Clients zurücksenden, wo diese wiederrum im Chatfenster ausgegeben werden.
Nun brauche ich einen Server, der vom Client zunächst die Daten Name, Gamemode, etc. empfängt, diese abspeichert (Userlist) und der die Spieldatein verschicken kann an die Clients

Du schickst die Texte als Bytes und wandelst die dann einfach zu nem String wieder um. Deshalb kommt es dir nur so vor als würdest du nur Texte empfangen können. Du kannst alles mögliche an den Client senden, hauptsache er weiß was er damit machen soll.

z.B.:

Du sendest dem Client immer am Anfang 4 bytes mit, die die Daten beschreiben:

Java:
byte[] meineBytes = new byte[4];
meineBytes[0] = 0;
meineBytes[1] = 0;
meineBytes[2] = 0;
meineBytes[3] = 1;

das 0 0 0 1 könnte heißen das du dem Client den Gamemode schickst. Also schickst du vom Server die 0 0 0 1 Bytes mit und als String (der wieder zu Bytes zerlegt wird) den Gamemode. Jetzt musst du beim Client abfragen ob die ersten 4 bytes eben 0 0 0 1 sind, dann weißt du das jetzt der Gamemode empfangen wurde.

Um zum Beispiel die Welt an den Spieler zu schicken, liest du als bytes einfach die Textdatei ein, und sendest sie an den Client. Aber vergiss nicht wieder 4 bytes zuerst zuschicken, die dem Client sagen was er machen soll.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Spectator(Zuschauer)-Modus Spiele- und Multimedia-Programmierung 1
G Thread startet nicht im Vollbild modus Spiele- und Multimedia-Programmierung 3
S FullScreen Modus - Spielschleife überzeichnet zweite JFrame Spiele- und Multimedia-Programmierung 5
N Minecraft Frage für einen Minecraft Server Spiele- und Multimedia-Programmierung 2
Drachenbauer Speicher-Tool für ein Spiel schreiben Spiele- und Multimedia-Programmierung 13
B Deepmind Poker Bot für PokerStars konfigurieren? Spiele- und Multimedia-Programmierung 2
G Minecraft PlayerBot (Listener Thread für jeden Spieler?) Spiele- und Multimedia-Programmierung 3
K Wie bekomme ich eine Transition für alle Objekte zum stoppen? Spiele- und Multimedia-Programmierung 1
E Organisation für Game Spiele- und Multimedia-Programmierung 1
Excess Ballerfisch für Android Spiele- und Multimedia-Programmierung 3
coolian ich brauche irgendeine gui lib für lwjgl2 Spiele- und Multimedia-Programmierung 51
krgewb Anderer Algorithmus für Bounding Box Spiele- und Multimedia-Programmierung 9
MiMa MP3 Dateien für Metadaten abgleichen Spiele- und Multimedia-Programmierung 0
Freshy Bot für Discord Spiele- und Multimedia-Programmierung 61
R Ideen für die Backend-Entwicklung eines Games gesucht Spiele- und Multimedia-Programmierung 8
G Mikrophon-/Audiosteuerung für einen Character Spiele- und Multimedia-Programmierung 1
P Tennis- Spielstand- Zähler für Schule programmieren Spiele- und Multimedia-Programmierung 6
M Logik für ein Quiz Spiele- und Multimedia-Programmierung 7
P Hilfe für Seminar Arbeit Spiele- und Multimedia-Programmierung 9
MiMa Metadaten für Multimedia Daten ermitteln Spiele- und Multimedia-Programmierung 4
G Übungsprogramm für Matheaufgaben Spiele- und Multimedia-Programmierung 1
F Algorithmus für bessere Kollisionsabfragen Spiele- und Multimedia-Programmierung 10
S Bilder Für Schachfiguren Spiele- und Multimedia-Programmierung 14
Timo_neu_in_java Suche etwas einfaches für Anfänger Spiele- und Multimedia-Programmierung 6
I Minecraft Suche Plugin Developer für Minecraft Netzwerk! Spiele- und Multimedia-Programmierung 2
S GUI erstellen für Text Adventure Spiele- und Multimedia-Programmierung 4
S Eigene Klasse vec_t - 3 oder 4 Einheiten für x, y, z und w Spiele- und Multimedia-Programmierung 11
R Vererbbarer GameLoop für Engine Spiele- und Multimedia-Programmierung 14
J Vektor für Gravitation erzeugen Spiele- und Multimedia-Programmierung 34
I Minecraft: Craftingrecipe für Braustand ändern Spiele- und Multimedia-Programmierung 9
Z Minimax-Algorithmus für TicTacToe Spiele- und Multimedia-Programmierung 5
H KI für Spiele Spiele- und Multimedia-Programmierung 1
S Pssende Datenstruktur für ein Netz Spiele- und Multimedia-Programmierung 5
S MouseEvents für Sprites Spiele- und Multimedia-Programmierung 3
K Bestes Bildformat für Spielegrafiken und deren Einbindung in Java Spiele- und Multimedia-Programmierung 2
J mehrere Listener für einen Button / Label Spiele- und Multimedia-Programmierung 1
C Port umleiten: lesen und schreiben für MCServer-Client über Skype Spiele- und Multimedia-Programmierung 0
J Musik Bibliothek für GUI Spiele- und Multimedia-Programmierung 7
B Hauptmenü für Spiel Spiele- und Multimedia-Programmierung 1
R Ratschlag für 2D-3D Engine für die Spieleentwicklung gesucht Spiele- und Multimedia-Programmierung 4
Androbin KI für Verfolgung im Raster Spiele- und Multimedia-Programmierung 2
A Bot für Browsergame Spiele- und Multimedia-Programmierung 2
H Tutorials für Fortgeschrittene 3D-Anwedungen Spiele- und Multimedia-Programmierung 2
lord239123 suche Graphiker für ein Pokemon-Spiel Spiele- und Multimedia-Programmierung 6
Furtano Vektoren für Bewegung für eine 2D-Simulation Spiele- und Multimedia-Programmierung 3
T Sinusgenerator für eine Hp Spiele- und Multimedia-Programmierung 8
J Menü für Snakespiel in einzelnem JFrame Spiele- und Multimedia-Programmierung 5
M Minecraft weitere Java Entwickler für minecraft projekt gesucht Spiele- und Multimedia-Programmierung 0
Guybrush Threepwood Ketzerische Frage: Opus-Codec für Java Spiele- und Multimedia-Programmierung 14
L Hilfe bei Klassendesign für Spiel Spiele- und Multimedia-Programmierung 2
N Animationen für ein 2D game Spiele- und Multimedia-Programmierung 6
S Aufbau für 2D Spiele Spiele- und Multimedia-Programmierung 7
L Client für ein Browsergame Spiele- und Multimedia-Programmierung 21
Devil0s Swing Elemente für Inventar? Spiele- und Multimedia-Programmierung 9
Kenan89 Ansatzfrage: Kartenspiel für 2 Spieler Online Spiele- und Multimedia-Programmierung 3
F Ideen für spiel Spiele- und Multimedia-Programmierung 4
P Spielfeld für RPG Spiele- und Multimedia-Programmierung 15
Hoppelmann Alphamap (Bild) für 3D-Terrain generieren Spiele- und Multimedia-Programmierung 2
S Algorithmus zur Ressourcesuche für die KI Spiele- und Multimedia-Programmierung 5
M Farbwerte für Flächen aus einem Bild erkennen Spiele- und Multimedia-Programmierung 3
K Einfache Engine für einfaches 3D gesucht Spiele- und Multimedia-Programmierung 10
C KI für Skatspiel - Wie können die Computerspieler eigenständig handeln? Spiele- und Multimedia-Programmierung 10
S Aufbau von Klassen für Spiel Spiele- und Multimedia-Programmierung 13
Kenan89 Kleines Projekt für Java Spiele- und Multimedia-Programmierung 5
M Empfehlungen für ein 2D-Jump'n'run Spiele- und Multimedia-Programmierung 4
A Grundlagensuche für Spiel Spiele- und Multimedia-Programmierung 8
C Wo ist der MP3 Plugin für JMF? Spiele- und Multimedia-Programmierung 3
qwerqer Design Pattern gesucht für Spielregeln Spiele- und Multimedia-Programmierung 2
M Java als Programmiersprache für kommerzielle Spieleentwicklung? Spiele- und Multimedia-Programmierung 3
K Game Engine für selbstprogrammiertes Spiel Spiele- und Multimedia-Programmierung 27
Y Warum Thread für Spieleprogrammierung? Spiele- und Multimedia-Programmierung 27
A Music für Android game Spiele- und Multimedia-Programmierung 3
Gossi Probleme beim Laden der Images aus dem "Tutorial für Java-Spiele" Spiele- und Multimedia-Programmierung 4
M Minecraft Suche Java Programmierer (für Minecraft) Spiele- und Multimedia-Programmierung 2
Luk10 Tipps für bessere Animationen / Grafik Engine Spiele- und Multimedia-Programmierung 2
T 2D Menü für 3D Spiel Spiele- und Multimedia-Programmierung 5
T Grundlagenwissen für den 3D Raum Spiele- und Multimedia-Programmierung 6
I getSubImage sorgt für starken Performanceeinbruch Spiele- und Multimedia-Programmierung 6
M technologie für video, webcam & co Spiele- und Multimedia-Programmierung 25
C Java für große Spiele geeignet ? Spiele- und Multimedia-Programmierung 101
D Libraryempfehlung für Effekte Spiele- und Multimedia-Programmierung 3
B Spiele programmieren für ein Fenster? Spiele- und Multimedia-Programmierung 14
D Tabelle für Spiel Spiele- und Multimedia-Programmierung 3
N Grundlagen für ein Jump&Run Spiele- und Multimedia-Programmierung 3
S Datenbank gesucht für Bilder(gif-dateien) Spiele- und Multimedia-Programmierung 5
J Suche 3D Programm für jMonkeyEngine Spiele- und Multimedia-Programmierung 5
W 3D-APIs für Java - Eine Übersicht Spiele- und Multimedia-Programmierung 8
D Problem beim Öffnen einer PHP für eine Highscore Spiele- und Multimedia-Programmierung 5
S Game Client für kleine Competition Spiele- und Multimedia-Programmierung 3
F Programm für Bildbearbeitung gesucht: Skalieren und Speichern Spiele- und Multimedia-Programmierung 6
K Lösungsansätze für ein Spiel Spiele- und Multimedia-Programmierung 2
Plastagen Frameworls für Animationen und co Spiele- und Multimedia-Programmierung 3
aze Wie Transform3D für PosPathInterpolator bestimmen Spiele- und Multimedia-Programmierung 8
M Musik für Spiel wo downloaden? Spiele- und Multimedia-Programmierung 7
R Netzwerkstruktur für ein kleines Spiel Spiele- und Multimedia-Programmierung 8
O KI (künstliche Intelligenz) für Schachlogik Spiele- und Multimedia-Programmierung 4
J Brauche denkanstoß für kleines grafikframework Spiele- und Multimedia-Programmierung 3
A Countdown-Timer für Spiel Spiele- und Multimedia-Programmierung 4
J Tips für ein kleines Pong-Applet Spiele- und Multimedia-Programmierung 4
S Ein Thread für alle Animationen oder mehrere? Spiele- und Multimedia-Programmierung 2

Ähnliche Java Themen

Neue Themen


Oben