Gamux Game Entwicklung  
     

Left Nav Mit Facebook verbinden Registrieren Lexikon Lexikon Interessengemeinschaften Suchen Heutige Beiträge Alle Foren als gelesen markieren Right Nav

Left Container Right Container
 
Alt 26.12.2009, 21:25   #1 (permalink)
Neuer Benutzer
 

Standard Shooter Netzwerkfähig machen

Hi
in letzter Zeit beschäftigt mich ein kleine aber feine Frage. Wenn sich zwei Spieler in einem Shooter bewegen, welche Daten werden dann immer hin und her gesendet. Eigentlich müssen das ja ganz schön viele Informationen sein und trotzdem müssen diese möglichst schnell übertragen werden.
Wie machen die das also mit dem senden? Was wird alles gesendet?

Ich hoffe ihr habt Ratschläge für mich...
TiTop ist offline   Mit Zitat antworten An Facebook senden
Werbung
Alt 27.12.2009, 21:35   #2 (permalink)
Benutzer
 

Standard

Als ich würde es so bei laufen machen. Da es ein 3D-Spiel ist, müssen xyz-Koordinaten übergeben werden. Daher sieht das schonmal so aus:
Zitat:
Koordinaten: {x}/{y}/{z}
Dann muss noch der Blickwinkel übergeben werden. Dies würde ich am Äquator ausrichten. Wodurch das ganze so aussieht:
Zitat:
Koordinaten: {x}/{y}/{z}
Blickwinkel: {blickwinkel}
Dann kommt noch die aktuelle Bewegung dazu. Vllt kann man der Spielfigur 120 Standardanimationen geben(Ducken, am Ducken, vom Ducken aufstehen, Sprung, kurz vorm Sprung, usw...). Das überträgt man dann auch:
Zitat:
Koordinaten: {x}/{y}/{z}
Blickwinkel: {blickwinkel}
Animation: {animationsnummer}
Mit das ganze wird dann an den Server gesendet und von dem immer wieder an die Clients gestreut und dort abgebildet mit ner Map im Hintergrund.
Und schon können sich die Spieler frei bewegen.
Mifa ist offline   Mit Zitat antworten An Facebook senden
Alt 29.12.2009, 18:44   #3 (permalink)
Neuer Benutzer
 

Standard

Dann, dass es so einfach ist hätte ich jetzt nicht gedacht, ich habe mir das ganze viel schwerer und mit viel mehr Parametern vorgestellt.
Aber wie mache ich das jetzt, wenn einer einen Schuß abgibt. Das lässt sich ja schlecht auf dem Client berechnen. Macht das dann der Server?
TiTop ist offline   Mit Zitat antworten An Facebook senden
Alt 30.12.2009, 17:48   #4 (permalink)
Benutzer
 

Standard

Du könntest bei dem Schuss einfach folgendes senden:
Zitat:
Koordinaten beim Abschuss: {x}/{y}/{z}
Richtungswinkel: {richtungswinkel}
Geschwindigkeit: {geschwindigkeit}
Waffe: {waffennummer}
Dabei wird das mit den Koordinaten und dem Winkel wie oben gehandhabt. Die Geschwindigkeit ist die Geschwindigkeit, mit der die Kugel fliegt. Die Waffe muss man wissen um später den Schaden zu berechnen.
Nun wird bei jedem Aufruf geguckt, ob sich die Kugel und ein Spieler treffen. Wenn ja wird geguckt wo im Körper die Kugel einschlägt und damit den Schaden berechnen. Wenn die Kugel aber gegen eine Wand prallt oder aus dem Spielfeld fliegt und durch die Erdanziehungskraft den Boden berührt, wird sie aus dem System entfernt.
Mifa ist offline   Mit Zitat antworten An Facebook senden
Alt 05.01.2010, 17:55   #5 (permalink)
Neuer Benutzer
 

Standard

Danke aber dass kann ja von den Spielern sehr einfach manipuliert werden, indem wie einfach einen anderen Richtungswinkel senden und sich so einen Autobot programmieren. Gibt es da nicht eine Möglichkeit so etwas zu verhindern. Ansonsten sieht das ja schon ganz gut aus.
TiTop ist offline   Mit Zitat antworten An Facebook senden
Alt 08.01.2010, 17:03   #6 (permalink)
Benutzer
 

Standard

Es ist fast unmöglich das zu verhindern. Das sieht man ja an vielen Spielen wo es Cheater gibt. Allerdings gibt es Mögichkeiten das ganze einzudämmen.
Ein Beispiel wäre, dass du vom Server aus die Geschwindigkeit und die Postionen der Spieler kontrollierst und diese ggf. bannst. So kannst du schon mal Speed- und Flughacks verhindern.
Ansonsten kannst du nicht immer alle Spielerdaten an der Client senden, sondern du überprüfst vorher ob der Spieler die anderen Spieler sehen kann und überträgst nur dann die Daten.
Mifa ist offline   Mit Zitat antworten An Facebook senden
Alt 12.01.2010, 15:41   #7 (permalink)
Neuer Benutzer
 

Standard

Danke ich werde dann erstmal mit einem 2D-Spiel anfangen und versuchen sämtliche Cheatversuche zu unterbinden. bei 2D Spielen ist das ganze kontrollieren vom Server ja auch noch wesentlich einfacher.
TiTop ist offline   Mit Zitat antworten An Facebook senden
Alt 13.01.2010, 11:33   #8 (permalink)
Erfahrener Benutzer
 

Standard

Zitat:
Koordinaten beim Abschuss: {x}/{y}/{z}
Richtungswinkel: {richtungswinkel}
Geschwindigkeit: {geschwindigkeit}
Waffe: {waffennummer}
Ist die Geschwindigkeit nicht überflüssig? Weil diese hängt doch von der Waffe ab oder irre ich mich da?
Megger ist offline   Mit Zitat antworten An Facebook senden
Alt 14.01.2010, 16:48   #9 (permalink)
Benutzer
 

Standard

Sry, aber da habe ich wohl nicht richtig nachgedacht, noch besser wäre es nur 1 oder 2 für Primär-/Sekundär mache zu schreiben und am Server zu speichern, welche Waffe der Spieler als Primär, Skeundär-Waffe hat.

Es gibt auch gute Computerprogramme mit denen du deine Netzwerkverbindungen mitschneiden kannst. So könntest du dir das ganze Mal live bei einem Shooter angucken.
Mifa ist offline   Mit Zitat antworten An Facebook senden
Antwort

Stichworte
internet, lan, netzwerk, shooter

Themen-Optionen
Ansicht

Forumregeln
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
2D-Shooter: strike2Death mark Spiele vorstellen 62 24.12.2009 14:51
Spiele machen? Immer noch keine Ahnung RSP-Fan Spiele programmieren 2 06.04.2009 21:41


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:56 Uhr.


Style Copyright by Wrestling Forum
Content Relevant URLs by vBSEO 3.3.0