Mesh über Netzwerk steuern
Übersicht

![]() |
ewok1Betreff: Mesh über Netzwerk steuern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo
Ich möcht ein 3d Netzwerkspiel programmiere. jedoch weiss ich nicht wie man die x/y/z Position der Gegner (bzw. andere Spieler) auf dem eigenen rechner anzeigen kann. Ich bedanke mich schon im voraus für eure Hilfe ewok1 |
||
![]() |
ZEVS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schwierige Sache... Es gibt nicht einfach zwei, drei Funktionen, mit denen das Spiel auf allen Rechnern synchron läuft. Prinzipiell unterscheidet man zwischen einfacherem, verbuggt langsamen TCP und schnellem, komplizierten UDP. Außerdem gibt es Bibliotheken wie SimpleUDP, die UDP vereinfachen wollen. Die DirectPlay-Befehle sind veraltet.
Schau dir doch einfach mal die Beispiele an! ZEVS |
||
![]() |
ewok1 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für die schnelle antwort
ich werds mal mit UDP versuchen und schauen was rauskommt. |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielleicht hilft dir das. Ich wollte mal en UDP/TCP Tutorial machen, aber war dann doch zu faul. Das hier sind son paar Fragmente ....
Programm 1 zuerst starten, dann Programm 2. Anschauen und lernen. ![]() BlitzBasic: [AUSKLAPPEN] Graphics 400,400,0,2 BlitzBasic: [AUSKLAPPEN] Graphics 400,400,0,2 mfg |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
ewok1 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank Tankbuster.
Das ist genau das was ich brauchen kann. bis ich es vollständig verstehe werde ich zwar noch eine weile brauchen ![]() ewok1 |
||
![]() |
ZEVS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nimm bitte zur Kenntnis, dass der von Tankbuster gepostete Code sehr schön die Grundstrukturen einer Netzwerkanwendung verdeutlicht. Für ein netzwerkfähiges Spiel ist er allerdings oft ungeeignet, da Nachrichten verzögert oder verdoppelt werden oder verschwinden können. Wenn du also etwas mehr brauchst, als die aktuelle Position ungefähr gleich zu haben, musst du den Code zum Abfangen o.g. Probleme erweitern.
Nur um eine weitere Nachfrage zu verhindern und damit du dich bei der Wahl des Protokolls / der Engine keinen falschen Hoffnungen hingibst. Vielleicht stellst du am Ende deiner Studien enttäuscht fest, dass UDP dir zu kompliziert ist... ZEVS |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Stimmt schon. Das Spiel wird auch nur im LAN funktionieren. Ich habe noch einen Code, der auch Hole-Punching unterstützt aber das wird zu kompliziert.
Bis man diesen Code hier als Anfänger entschlüsselt hat und in ähnlichen Situationen perfekt anwenden kann, sollte ja schon einige Zeit vergehen, da darf man mit sowas nicht übertreiben. ![]() (ich erinner mich an meine ersten UDP-Versuche. Man, was hätte ich damals für so ein tolles Beispiel gegeben ![]() Erst die Grundlagen lernen, und dann das fortgeschrittene ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mit kleinen Änderungen kann man das aber noch erheblich verbessern:
-Anstatt nur die Position zu übergeben, übergib auch noch die Richtung und Geschwindigkeit in die sich der Spieler bewegt (also z.B. SpeedX und SpeedY (noch zu definieren)). Der Netzwerkspieler wird dann solange in diese Richtung bewegt bis das nächste Päckchen ankommt. -Diese Daten sollten generell z.B. 6 mal pro sekunde (also jeden 10. Schleifendurchlauf) übertragen werden oder falls sich die Bewegungsrichtung geändert hat. Somit hat man mit einfachen Mitteln schon einen ganz brauchbaren Netzcode der einem zumindest im LAN schon eine Menge Freude bereiten kann. |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group