Zum Inhalt springen

Netzcode

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 4. März 2009 um 16:12 Uhr durch R.Schuster (Diskussion | Beiträge) (QS-Informatik|Keine Belege, möglicherweise Begriffsfindung?). Sie kann sich erheblich von der aktuellen Version unterscheiden.
QS-Informatik
Beteilige dich an der Diskussion!
Dieser Artikel wurde wegen inhaltlicher Mängel auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen, und beteilige dich an der Diskussion! (+)


Begründung: Keine Belege, möglicherweise Begriffsfindung? MfG, --R.Schuster 15:12, 4. Mär. 2009 (CET)

Netzcode (engl. netcode oder network code) meint den Teil eines Computerprogramms, oft eines Mehrspieler-Computerspiels, der sich mit der Kommunikation mit den anderen, über ein Netzwerk verbundenen Teilnehmern (Clients) in einer gemeinsamen Spielewelt beschäftigt.

Zweck

Ziel ist es, den aktuellen Zustand der eigenen Spielfigur zum zentralen Spiele-Server zu übertragen und gleichzeitig den ebenso möglichst aktuellen Zustand der anderen Spielfiguren sowie der Spielewelt zu erhalten.

Der aktuelle Zustand kann durch eine beliebige Art und Anzahl von Attributen bestimmt werden. Verbreitet sind der aktuelle Gesundheitszustand von Spielfiguren, Fertigkeiten und getragene Gegenstände der Spielfiguren sowie Typ, Größe, Position und Bewegungsrichtung von Spielfiguren und Objekten in der Spielewelt.

Die auf den Rechnern der Spieleteilnehmer installierte Client-Software kann diese Zustandsinformation in Folge grafisch darstellen und dem Spieler erlauben, mit den in den Zustandsinformationen beschriebenen Gegenständen und Spielfiguren zu interagieren.

Umsetzung

Um die zu übertragende Datenmenge zu reduzieren, wird meistens ein kodiertes, also nicht direkt menschenlesbares, Netzwerkprotokoll (Binär-Protokoll) verwendet. Diese bauen wiederum selbst auf einem meist zustandslosen, unzuverlässigen, aber dafür echtzeittauglichen Netzwerkprotokoll wie dem UDP auf.

Um die Spieleentwicklung zu vereinfachen, werden diese Netzwerkprotokolle in Programmbibliotheken verpackt um eine Übertragung von Zustandsinformationen an den Server mittels nur weniger Zeilen Programmcode zu ermöglichen und ebenso die Erstellung einer zentralen Gegenstelle, eines Spieleservers, vereinfachen.

Oft sind Netzcode-Bibliotheken mit anderen, für die Spieleentwicklung relevanten, Programmbibliotheken gekoppelt. Beispielsweise können 3D-Grafik-Ausgabe, Klang-Ausgabe und Steuerungs-Eingabe gekoppelt sein. So wäre es beispielsweise möglich, einem Mausklick eine Bewegung der eigenen Spielfigur sowie ein Geräusch zuzuordnen und diese Zustandsinformationen dann mit Hilfe des Netzcodes zum Spieleserver und somit zu den anderen Spielteilnehmern zu schicken.

In einer weiteren Abstraktion kann Netzcode auch in einem Spieleentwicklungsbibliothek (engl. game development toolkit) oder einer Spiel-Engine enthalten sein, die ein Komplettpaket für die Spieleentwicklung darstellen.

So ist es beispielsweise möglich, der Spiel-Engine mitzuteilen, eine bestimmte Spielfigur in die Spielwelt zu setzen und sie mit verschiedenen Eigenschaften auszustatten. Sie wird in Folge ohne weiteres Zutun des Spieleentwicklers für die anderen Spielteilnehmer ebenfalls sichtbar werden, weil die Spiel-Engine die Zustandsinformationen automatisch zum und vom Server überträgt.

Es wäre auch beispielsweise möglich, eine Spielfigur eine zuvor definierte Bewegung ausführen zu lassen, zum Beispiel einen Arm zu heben und hörbar zu Grüßen. Anstatt hier die Information zur Bewegung jedes einzelnen Armteils und den Befehl zur Klang-Ausgabe zu übertragen, können diese Abläufe weiter zusammengefasst (abstrahiert) werden, um die zu übertragende Datenmenge zu reduzieren. In diesem Fall würde nur die Zustandsinformation "Figur 2 grüßt" übertragen werden, welche in Folge für die anderen Spielteilnehmer ebenfalls in ihrer definierten Abfolge erscheint und ertönt.

Beispiele von Netzcode-Bibliotheken wären:

Weiterführende Seiten