Netzwerk-Game mit UDP

Massenhaft

Mitglied
Hi,
ich hab mich mal an einem Netzwerkspiel versucht. Eigentlich ging es mir um den
UDP-Stack. Ich hab das ganze mit Slick, Artemis und Netty gebaut. Das UDP-Protokoll
(Sequenzen) und der Bewegungsmechanismus (LERP) basiert auf einer Konzeptmischung aus Valve(HL2) und Quake.
Es "scheint" ganz gut zu funktionieren, allerdings hab ich es noch nicht wirklich testen können.
Quellcode und alles weitere liegt auf google-code:

slick-netty-network-game-example - An UDP 2d netwok game example - Google Project Hosting

Video:
YouTube - ‪fumag.avi‬‏

Einiges ist noch recht "ineffektiv" und ein paar refactorings sind auch noch nötig (Z.B. hab ich
eine recht sinnfreie FSM eingebaut, weils geht :)).

Gruß,
Andreas
 
Zuletzt bearbeitet:

Kr0e

Gesperrter Benutzer
Ohne jetzt einen qualitativen Kommentar abzugeben (Hab nur das UTube-Video gesehen...), möchte ich dennnoch kurz fragen/darauf hinweisen, dass es so vorkommt, als ob die ÜBertragung der Koordinaten möglicherweise was unschön gelöst ist ? Es sah so aus, als ob am Anfang der eine Android, der im Kreis ging, "Verzögerung hatte oder hinterherhing"... Da du den Test ja vermutlich mit "localhost" als Adresse gemacht hast, solllte das eigentlcih nicht vorkommen... Aber vlt wars auch eine vollkommene Fehlinterpretation meinerseits, ....^^

Ich mach zur Zeit in etwa genau das Selbe... Ich arbeite mit Slick und Netty3 an einem Isometrischen Coop-RPG. Ich bin aus meiner Sicht schon relativ weit... Allerdings ist bei das Netzwerk auch noch ein kleines Problem... Wobei ich nich auf UDP setze, sondern TCP verwende... Ich wollte mal etwas anti sein und gegen jeden Hinweiß TCP dazu verwenden.... Es klappte bei den ersten Tests auch recht gut, auch über Internet... Auf Wunsch können wir beide uns mal beraten^^

Eins noch: (Wie gesagt, ich habe mir nich den Sourcecode angesehen) Aber kann es sein, dass du viel zu oft die Koordinaten sendest ? Wie gesagt, ist reine Vermutung, aber diese Verzögerung kam mir so vor, als ob da zuviele Daten durch ein enges Nadelöhr müssten.... Wie machst du das genau ? Ich z.B. sende alle 33 ms ein Update und beim Rendern nehme ich Interpolation um die Bewegungen flüssig aussehen zu lassen.... Ich hab mich da auch recht dicht an den Wikiartikel zur Sourceengine gehalten :D



Gruß,

Chris
 

Massenhaft

Mitglied
Hi,
danke für das Feedback :)! Ich habe ein UDP-Proxy bei Sourceforge gefunden:
Delayed Proxy | Download Delayed Proxy software for free at SourceForge.net

Bei dem Test habe ich verschiedene Packet-Lost-Raten und Delays eingestellt. Das "Ruckeln" kommt allerdings
eher von meinem Aufnahmeprogramm...die Framerate ist nicht sehr hoch :). Zu meinen Netzwerkeinstellungen:
Code:
	public static final int CLIENT_INTERPOLATION_TIME = 100; //ms
	public static final int CLIENT_NETWORK_INTERVAL = 33; // ms
	public static final int SERVER_NETWORK_INTERVAL = 50; // ms
	public static final int SERVER_WORLD_SIMULATION_INTERVAL = 33; //ms
	public static final int CLIENT_WORLD_SIMULATION_INTERVAL = 25; //ms
	public static final int CLIENT_INPUT_SAMPLE_INTERVAL = 33; //ms

	private static final int MAXIMUM_COLLECTED_PINGS = 32;
	private static final int MINIMUM_COLLECTED_PINGS = 16;

Alle Clients laufen 100ms in der Vergangenheit + Ping/2 - dadurch laufen sie wirklich etwas hinterher. Dies wird
aber durch das zurückspulen bei der Kollisionserkennung kompensiert. Ich habe auch versucht mich möglichst an
das Valve-Wiki zu halten :).
Es werden immer nur die letzen Positionsdaten gesendet, sollte einige Pakete verloren gehen -> Pech...
Wichtige Daten, wie z.B. einen Schuss, werden so lange gesendet, bis sie von der Client-Seite bestätigt werden. Das
könnte zu Problemen führen...vielleicht muss ich das noch ändern.
 

Kr0e

Gesperrter Benutzer
Hab ich noch vergessen:

bis hierhin gute Arbeit!



Ich hoffe, dass ich mit meiner TCP Lösung nicht auf die Nase fliege :D
 

Massenhaft

Mitglied
Wenn du bei deinem RPG mit der Maus auf die "Ziel-Lauf-Koordinaten" klickst sollte es gehen :).
Starcraft und ähnliche Spiele arbeiten auch mit TCP...
 

Kr0e

Gesperrter Benutzer
Ob OpenSource oder nicht, ist noch nicht entschieden... Ist ein Gemeinschaftsprojekt... Zu Sehen gibt es etwas in naher Zukunft (Hoff ich zumindest!) gibt noch viel zu klären...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J java netzwerk strategie game programmiert Spiele- und Multimedia-Programmierung 4
I Minecraft Suche Plugin Developer für Minecraft Netzwerk! Spiele- und Multimedia-Programmierung 2
Blender3D VlCJ Windows 10 kein Zugriff auf einen im Netzwerk freigegebnen Ordner Spiele- und Multimedia-Programmierung 2
O Suche Tutorial zum Aufbau von großen Spielen(mit Multiplayer über Netzwerk...) Spiele- und Multimedia-Programmierung 3
R Verständnishilfe - Netzwerk Spiel (Sockets) Spiele- und Multimedia-Programmierung 15
A 2D-Netzwerk-Rennspiel Spiele- und Multimedia-Programmierung 2
R TankWarZ - Netzwerk - Tester gesucht Spiele- und Multimedia-Programmierung 13
M Netzwerk sodoku Spiele- und Multimedia-Programmierung 13
R Netzwerk Dame Spiele- und Multimedia-Programmierung 4
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
Kenan89 Kleines Game Spiele- und Multimedia-Programmierung 26
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
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
L Kleines RTS Game -> Netzwerkproblem Spiele- und Multimedia-Programmierung 5
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
D Jump and Run Game -- Kollisionsabfrage Spiele- und Multimedia-Programmierung 30
B Snake-Game fürs Handy Spiele- und Multimedia-Programmierung 3
F Online Game mit Java? Spiele- und Multimedia-Programmierung 11
M Space PingPong Game --> Performance ok? Spiele- und Multimedia-Programmierung 44
R 2D Game Oberfläche. Wie am besten? Spiele- und Multimedia-Programmierung 2
H LWJGL - Lightweight Java Game Library! Ist Java3D jetzt out? Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen

Neue Themen


Oben