AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Multiplayerspiel Netzwerktechnik ?
Thema durchsuchen
Ansicht
Themen-Optionen

Multiplayerspiel Netzwerktechnik ?

Ein Thema von arbu man · begonnen am 1. Jul 2006 · letzter Beitrag vom 3. Jul 2006
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#1

Multiplayerspiel Netzwerktechnik ?

  Alt 1. Jul 2006, 20:17
Hi,

ich suche für ein Spiel nach einer möglichkeit den netzwerk verkehr zu regeln, bisher hab ich versucht durch einen timer die positionen der spieler mit einen record(393 byte für alles) über udp zu übertragen. Diese Lösung funktioniert allerding nicht wirklich da erstens die spieler "flackern" und man zweitens gigabit netzwerk benötigt (was noch nicht viele leute haben). Deswegen suche ich jetzt nach einer anderen? Lösung.
Welche möglichkeiten gibt es da noch, bzw. wie lösen andere Spiele das ?

[edit=Christian Seehase]Rechtschreibfehler im Titel korrigiert Mfg, Christian Seehase[/edit]
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Multiplayerspiel Netzwerktechnik ?

  Alt 2. Jul 2006, 09:33
Andere SPiele lösen das, indem sie auch die Richtung und die GEschwindigkeit der anderen SPieler übermitteln, und sie dann, in der Annahme das sie den Weg weiterlaufe, immer mitsetzen lassen
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#3

Re: Multiplayerspiel Netzwerktechnik ?

  Alt 2. Jul 2006, 09:46
Zitat:
Andere SPiele lösen das, indem sie auch die Richtung und die GEschwindigkeit der anderen SPieler übermitteln, und sie dann, in der Annahme das sie den Weg weiterlaufe, immer mitsetzen lassen
Genau, so wird das normalerweise gemacht.
Desweitern kriegst du Probleme wenn ein Client zum Spiele-Server eine hohe Pingzeit haben - zum Beispiel 100ms. Dann sieht der Client nämlich eine andere Ansicht der Spielwelt als der Server. Auch dafür gibt es Algorithmen, die das ausbügeln.

Benutz Google, irgendwo gibt es ein Tutorial zu dem Thema - ich glaube, es war auf gamedev.net.
Aber erwarte nicht, dass das einfach zu realisieren ist!
Lukas
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#4

Re: Multiplayerspiel Netzwerktechnik ?

  Alt 2. Jul 2006, 09:53
Ping Zeiten sind mir im LAN ziehmlich egal erst mal muss es flüssig laufen.

Aber zum übertragen der geschwindigkeiten und richtungen. An diese möglich keit hab ich auch schon gedacht. Ich habe mich allerdings gegen diese möglichkeit entschieden, da sich mir folgendes problem eröffnet hat:
Ich versende die daten über das udp protokoll da können ja pakete verloren gehen d.h. wenn ich diesen weg gehen könnten die spiele "auseinander driften". Was kann ich dagegen machen ? Auf das langsame TCP ausweichen oder etwas anderes ?

Werde mich jetzt erst mal auf gamedev.net umschauen.
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Multiplayerspiel Netzwerktechnik ?

  Alt 2. Jul 2006, 10:07
Ich nehme mal an, es gibt einen Server?
Wenn es einen gibt, dürfte es egal sein, wenn mal ein Paket in den Bit Bucket fliegt, dann bemerkt man halt ein Ruckeln oder so, das ist in Battlefield zum Beispiel auch so.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Multiplayerspiel Netzwerktechnik ?

  Alt 2. Jul 2006, 10:29
Um das auseinanderdriften zu vermeiden kannst du ja neben dem Richtungsvektor noch die Aktuelle Position übermitteln. Nachteil ist, dass dann allerdings Objekte "springen" können, was nicht sehr schön aussieht.

Ich würde dir wirklich TCP ans Herz legen. Wenn man das Spiel übers Internet mit UDP Spielt, dann kommt hinten vermutlich nicht mehr sehr viel an...
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#7

Re: Multiplayerspiel Netzwerktechnik ?

  Alt 2. Jul 2006, 10:54
Nein einen richtigen server gibt es nicht. Ich werde jetzt aber wahrscheinlich auf tcp umsteigen und einen richtigen server machen.
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#8

Re: Multiplayerspiel Netzwerktechnik ?

  Alt 2. Jul 2006, 11:56
Ich habe mir grade die Indy TCPServer und Client angeschaut, jedoch vermisse ich bei diesen Komponenten das OnReceive Event, wie ich das verstehe wird alles über einen Theard geregelt. Gibt es eine möglich dass man da keine OnReceive Event hinzufügen kann oder gibt es eine andere TCP Komponente mit einen solchen ?

mfg, Björn
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#9

Re: Multiplayerspiel Netzwerktechnik ?

  Alt 2. Jul 2006, 12:22
Zitat:
Ich würde dir wirklich TCP ans Herz legen. Wenn man das Spiel übers Internet mit UDP Spielt, dann kommt hinten vermutlich nicht mehr sehr viel an...
Worauf basiert diese Behauptung? Hast du das auch selber ausprobiert?
Es passiert in der Tat eher selten, dass Pakete verschwinden! Mach mal "ping -t google.at" und schau dir das Ergebnis an!

TCP ist für ein Spiel in den meisten Fällen unbrauchbar. Beispiel: Wenn das Datenpaket mit der aktuellen Geschwindigkeit und Position verloren geht, dann wird es wiederholt. Kommt es dann schließlich an, ist es zu spät - die Daten sind nicht mehr aktuell. Genau deswegen ist TCP auch für VoIP und Videokonferenzen ungeeignet.
Lukas
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#10

Re: Multiplayerspiel Netzwerktechnik ?

  Alt 2. Jul 2006, 12:28
Zitat:
TCP ist für ein Spiel in den meisten Fällen unbrauchbar. Beispiel: Wenn das Datenpaket mit der aktuellen Geschwindigkeit und Position verloren geht, dann wird es wiederholt. Kommt es dann schließlich an, ist es zu spät - die Daten sind nicht mehr aktuell. Genau deswegen ist TCP auch für VoIP und Videokonferenzen ungeeignet.
Welches Protokol wird denn in den meisten Spielen verwendet ? bzw ist gut ?
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz