Kleines RTS Game -> Netzwerkproblem

Status
Nicht offen für weitere Antworten.
L

lohr

Gast
Hallo,

Ich wusste nicht ob es hier besser aufgehoben oder im Netzwerkbereich, da es eigentlich beide Bereich betrifft.
Also wie schon erwähnt ich habe ein kleines RTS Game entwickelt (also wirklich nichts weltbewegendes), mit folgenden Funktionen:

- 3 Einheiten Typen (Worker, Soldier, Tank)
- produzierbar in 1 Hauptgebäude
- Geld bekommt man alle 10 sekunden, muss nicht gesammelt werden
- einheiten können gegen dummys kämpfen

Nun mein Problem.
Ich möchte natürlich gegen einen zweiten Spieler spielen, haltet ihr es für sinnvoll jetzt in dieses Game noch eine Netzwerkfähigkeit einzubauen oder sollte man das Spiel komplett neu aufsetzen und dabei sofort an die Netzwerkfähigkeit denken, wenn ja was haltet ihr für geschickter RMI oder Sockets oder eine ganz andere API (Simon...)?
Ich habe das Projekt von Anfang an nur zum Lernen gesehen und daher wäre es auch kein Problem neu anzufangen, jedoch hängt man halt manchmal doch ein bisschen an dem erstellen Zeug^^

Also wäre froh wenn ich ein paar Tipps von euch bekommen könnte.

Gruß Alex
 

doctus

Bekanntes Mitglied
wenn du den code bisher ordentlich geschrieben hat, sollte es keine allzu großen probleme geben auch noch die netzwerkfähigkeit einzubauen. hängt aber wie gesagt vom code ab. mach dir einfach mal gedanken, wie du es beim aktuellen code einbauen würdest. danach sollte du dich dann bei der entscheidung richten.

sockets oder rmi:
hängt davon ab, was du alles übertragen willst. geringe datenmengen lassen sich auch mit sockets recht gut verarbeiten. bei größeren datenmengen würde ich persönlich eher zu rmi tendieren(sieh dir auch mal SIMON an; ist iwo im bereich codeschnipsel und projekte. habs zwar selbst noch nicht ausprobiert, aber gucken schadet ja nicht).

lg doctus
 
L

lohr

Gast
Also ich würde sagen sehr ordentlich geschrieben ^^
Natürlich was andere davon halten ist ne andere Sache, aber habe heute auch extra nochmal nen kleines redesign reingelegt und paar zeilen code mir sparen können.

Ja also ich denke ich probier es anfangs mal über sockets.
Kann aber sein das ich da gut eure Hilfe brauche ^^ wäre meine erste "Netzwerkunterhaltung" in Sachen Java :) aber wird mit Sicherheit auch interessant, hoffe ich kann da auf eure mithilfe zählen :)

Setz mich jetzt über Ostern mal hin...
 
L

lohr

Gast
Also ich wollte mich grad dransetzen...
Mir schwebt folgendes vor, grundsätzliches Prinzip "Client-Server":

- Server wartet auf die Connection der beiden clients
- der server hat von jedem objekt eine kopie und wenn der spieler sagen wir mal eine einheit bewegt, sendet dieser die IST und SOLL Koordinaten an den Server dieser bewegt die Einheit und sendet die daten weiter an den anderen Client

Ist so ein vorgehen sinnvoll oder gibt es bessere methoden, also das war halt das erste was mir eingefallen ist und hört sich für mich auch relativ simpel an zum umsetzen...

Man müsste den server ja sogar so umbauen können das er nichts mehr zeichnet sondern einfach nur noch koordinaten von objekten speichert oder?
 

doctus

Bekanntes Mitglied
genau. den server kannst du komplett über konsole laufen lassen.
deine vorgehensweise ist im allgemeinen ganz gut. ich würde allerdings ein paar kleinigkeiten anders machen:
-übergib dem server nicht die koordinaten, sondern lediglich eine eine richtung, einen schussbefehl oder ähnliches, die der selber in die nächste koordinate umsetzt. das verhindert, dass ein manipulierter client beliebige koordinaten an den server schicken kann.
-schicke diese koordinaten dann an BEIDE clienten zurück. sollte der server irgendetwas an dem, was der client gesendet hat nicht gefallen, werden beiden clienten wieder die richtigen daten vermittelt.

lg doctus
 
T

tuxedo

Gast
Je nachdem wie "schnell" und "häufig" diese Daten an den Server gehen würde ich zu RMI/SIMON raten, oder auch abraten.

RMI und SIMON basieren auf der serialisierung, welche nicht gerade die schnellste ist. Wenn solche Daten oder Aufrufe sagen wir mal, nur max. 5-10mal pro Sekunde geschehen, keine komplexen Objekte als Argument übergeben werden müssen oder zurückkommen, und die Datenmenge im Argument oder im Return-Wert recht gering ist, dann ist RMI/SIMON sicher eine gute Möglichkeit.

Schneller ist es auf jeden Fall sich ein eigenes Protokoll zu überlegen (und da gehört stupides String-Verschicken mit einem Writer IMHO nicht dazu) und das dann anzuwenden.
Der Overhead ist am geringsten und du hast direkten Einfluss auf die Art der Datenaufbereitung vor und nach dem Senden und somit auch auf die Geschwindigkeit.

Nachteil ist halt, dass du dir erst ne kleine Protokoll-Schicht basteln musst.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kenan89 Kleines Game Spiele- und Multimedia-Programmierung 26
X Kleines Problem mit Java Reflections und einem eigenen Eventhandler Spiele- und Multimedia-Programmierung 1
M Kleines Spongebobspiel / Hilfe gesucht Spiele- und Multimedia-Programmierung 2
Kenan89 Kleines Projekt für Java Spiele- und Multimedia-Programmierung 5
D [JOGL 2.0] Kleines Problem mit freier Flugsteuerung Spiele- und Multimedia-Programmierung 3
U [JOGL 1.1.1a]Kleines Problem mit Text Overlays: Spiele- und Multimedia-Programmierung 19
R Netzwerkstruktur für ein kleines Spiel Spiele- und Multimedia-Programmierung 8
J Brauche denkanstoß für kleines grafikframework Spiele- und Multimedia-Programmierung 3
J Tips für ein kleines Pong-Applet Spiele- und Multimedia-Programmierung 4
Steev Performancetest: Kleines Spielchen Spiele- und Multimedia-Programmierung 25
L Kleines Aktienspiel, Problem: Persistenz Spiele- und Multimedia-Programmierung 16
E Kleines Multiplayer-Beispiel für jPCT Spiele- und Multimedia-Programmierung 20
Apo Kleines Graphenspiel Spiele- und Multimedia-Programmierung 3
A Kleines Denksportspiel Spiele- und Multimedia-Programmierung 6
M Testet mal mein kleines Memory Spiel ... Spiele- und Multimedia-Programmierung 14
DEvent ein kleines Billiard Spiel und die bewegungen der Kugeln Spiele- und Multimedia-Programmierung 3
L Spider game, Ist es verloren? Spiele- und Multimedia-Programmierung 4
J SNAKE-GAME-LOOP / (Applet zu Application) Spiele- und Multimedia-Programmierung 4
P Snake Game Verbessern Spiele- und Multimedia-Programmierung 15
E Organisation für Game Spiele- und Multimedia-Programmierung 1
G [Game-Multiplayer] Welt vom Server zum Client senden. Spiele- und Multimedia-Programmierung 0
C 3d Game Engine : PERFORMANTE Räumliche Verdeckung Spiele- und Multimedia-Programmierung 5
R Durch String Platform Game erstellen Spiele- und Multimedia-Programmierung 8
G Component System Java 2D Game LibGDX Spiele- und Multimedia-Programmierung 6
G Collision Detection in einem 2D Sandbox Game. Spiele- und Multimedia-Programmierung 2
J Problem mit Game Of Life Spiele- und Multimedia-Programmierung 3
B "Snake"-Game Logikfehler Spiele- und Multimedia-Programmierung 1
R Game Loop verhält sich eigenartig Spiele- und Multimedia-Programmierung 1
H Game Crash Spiele- und Multimedia-Programmierung 7
B Game of Life: Was mache ich falsch? Spiele- und Multimedia-Programmierung 3
$ Einstieg in Java Game Development Spiele- und Multimedia-Programmierung 11
BraunBerry Java Game Pixel "einfärben" Spiele- und Multimedia-Programmierung 6
BraunBerry Java Game verbesserte Kollisionserkennung Spiele- und Multimedia-Programmierung 18
BraunBerry Java Game Waypoint System Spiele- und Multimedia-Programmierung 3
T Moddable Game Spiele- und Multimedia-Programmierung 6
P java lwjgl Game Spiele- und Multimedia-Programmierung 0
T Game-Rendering Spiele- und Multimedia-Programmierung 5
I 2D-Side-Scrolling-Game in Chunks splitten Spiele- und Multimedia-Programmierung 9
Z 2D Pixer art RPG Game - Alpha auf Indie DB spielbar Spiele- und Multimedia-Programmierung 0
F Game of Life Spiele- und Multimedia-Programmierung 1
S Game/Cheat Spiele- und Multimedia-Programmierung 20
wolfgang63 Mit JavaFX einfaches Game programmieren Spiele- und Multimedia-Programmierung 5
D Textfield im Game ,Problem: while-Schleife Spiele- und Multimedia-Programmierung 3
O Pause Menu im 2D Game, bitte um Rat! Spiele- und Multimedia-Programmierung 4
J Java Game performance Probleme Spiele- und Multimedia-Programmierung 7
K Online Game? Spiele- und Multimedia-Programmierung 1
R Game Loop scheitert.. Spiele- und Multimedia-Programmierung 2
Androbin Verschwindender Spieler in 2D-Game Spiele- und Multimedia-Programmierung 7
Sogomn Game Loop Spiele- und Multimedia-Programmierung 2
M Jump 'n' Run Game - Blöcke? Spiele- und Multimedia-Programmierung 7
J Verständnissfragen zur Game-Loop Spiele- und Multimedia-Programmierung 2
N Game GUI Programmieren Spiele- und Multimedia-Programmierung 16
Black_ixx ManaWar Action Game Spiele- und Multimedia-Programmierung 5
M Multiplayer-Game auf Website Spiele- und Multimedia-Programmierung 2
M Multiplayer Game mit Frontend auf HTML5 - ohne ständigen Client Request - Möglich?! Spiele- und Multimedia-Programmierung 12
P Mein Android Game Spiele- und Multimedia-Programmierung 3
N Animationen für ein 2D game Spiele- und Multimedia-Programmierung 6
S Problem mit Zeitsteuerung der Game Loop Spiele- und Multimedia-Programmierung 4
M Vektor Game Spiele- und Multimedia-Programmierung 13
F Bot updaten von einem Browser game Spiele- und Multimedia-Programmierung 7
Samake03 [Game]"Plumbo - Lost in Depth" Preview und Fragen Spiele- und Multimedia-Programmierung 18
K Game Engine für selbstprogrammiertes Spiel Spiele- und Multimedia-Programmierung 27
A Music für Android game Spiele- und Multimedia-Programmierung 3
A Wie wird die Person im Game animiert, dass sie ihre Körperteile bewegen? Spiele- und Multimedia-Programmierung 3
K 3D Game wie Minecraft Spiele- und Multimedia-Programmierung 3
T Torquemada´s erstes Game (Pong) Spiele- und Multimedia-Programmierung 5
X Möglichst komplette 2D Game Engine? Spiele- und Multimedia-Programmierung 12
Kr0e Red Dwarf Game Server Spiele- und Multimedia-Programmierung 5
M Euer erstes Game Spiele- und Multimedia-Programmierung 16
M Netzwerk-Game mit UDP Spiele- und Multimedia-Programmierung 8
ruerob Eure Meinung über Applet-game Spiele- und Multimedia-Programmierung 12
J das erste Game Spiele- und Multimedia-Programmierung 2
M Einen Hobby Game - / Grafik Designer zu finden (Screenshot vom Spiel) Spiele- und Multimedia-Programmierung 7
S Game Client für kleine Competition Spiele- und Multimedia-Programmierung 3
J 2D-Game-Engine? Spiele- und Multimedia-Programmierung 2
F Game mit LWJGL/JOGL in executable JAR packen, wie? Spiele- und Multimedia-Programmierung 6
P 2D Game - Alternative zur TileMap? Spiele- und Multimedia-Programmierung 2
W Memory Game Spiele- und Multimedia-Programmierung 4
Steev EGE - Easy Game Engine Spiele- und Multimedia-Programmierung 2
Developer_X X-Shooter Game Spiele- und Multimedia-Programmierung 21
C 2D Multiplayer Game Spiele- und Multimedia-Programmierung 5
O Mein erstes Game Spiele- und Multimedia-Programmierung 10
Developer_X PingPong-the Game by Developer-X Spiele- und Multimedia-Programmierung 170
K My First Game "ORB" vielen Dank Quaxli Spiele- und Multimedia-Programmierung 23
hdi Das java-forum.org 2D-Game Projekt/Tutorial Spiele- und Multimedia-Programmierung 6
hdi Quiclix : Game download Spiele- und Multimedia-Programmierung 5
A Java 2D Game Spiele- und Multimedia-Programmierung 4
K Game-Tutorial von Quaxli Fragen Spiele- und Multimedia-Programmierung 18
G Suche passende Game api Spiele- und Multimedia-Programmierung 9
K Java Game Programming Buch Spiele- und Multimedia-Programmierung 3
C Hilfe bei einfachen Game Spiele- und Multimedia-Programmierung 15
P Suche Leute für ein Hobby-Projekt (Browser Game) Spiele- und Multimedia-Programmierung 4
Q online game programieren Spiele- und Multimedia-Programmierung 8
G Welche Game Api Spiele- und Multimedia-Programmierung 9
S 3d applet - online game Spiele- und Multimedia-Programmierung 4
C Open-Source Game Spiele- und Multimedia-Programmierung 2
sparrow 3D-Game-Engine Spiele- und Multimedia-Programmierung 20
J Isometric Tile Game (x,y) inklusive Z cordinaten? Spiele- und Multimedia-Programmierung 2
M Java online multiplayer game Spiele- und Multimedia-Programmierung 2
J java netzwerk strategie game programmiert Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen

Neue Themen


Oben