3 Stimmen

Eine Frage, die ich als Neuling stellen muss: Beginn der Netzwerkprogrammierung für Spiele?

Ich bin ein absoluter Neuling auf diesem Gebiet und habe ein wenig Angst, den falschen Weg der Netzwerkprogrammierung einzuschlagen. Ich versuche, eine starke Netzwerk-Bibliothek für meine Spiel-Engine zu bauen.

Ich habe online geschaut und haben gesehen, es gibt eine Netzwerk-Bibliothek mit Boost, ich würde gerne, dass zu verwenden, wie ich wirklich scharf auf weitere Integration es mit meinem Codebase bin. Aber ich frage mich, wie würde ich so etwas programmieren und debuggen? Wenn ich nur auf einem PC entwickeln möchte, wie kann ich dann eine Netzwerkumgebung mit einem dedizierten/Peer-Server und einer bestimmten Anzahl von Spielern emulieren, die mit ihm verbunden sind?

2voto

Thomas Bonini Punkte 42356

Sie können einfach viele Prozesse auf einem einzigen PC starten. Sie können das Netzwerk lokal nutzen (127.0.0.1). Oder Sie können virtuelle Maschinen verwenden.

2voto

ChrisF Punkte 130622

Du müsstest den Server auf deinem Rechner laufen lassen und x Kopien des Player-Codes ausführen.

Sie können dann entweder den Server oder einen der Spieler debuggen.

Dadurch werden Dinge wie Netzwerkverzögerungen und Paketverluste nicht simuliert, aber Sie können die Interaktionen und bis zu einem gewissen Grad auch das Verhalten Ihres Systems unter Last testen.

Es gibt Tools zur Simulation von Netzwerkverzögerungen usw. sind erhältlich. Das kostet in der Regel Geld (wie dieses hier), aber es gibt auch einige kostenlose Alternativen.

1voto

KB22 Punkte 6699

Ich denke, der Ansatz, der den realen Bedingungen am nächsten kommt, besteht darin, virtuelle Maschinen einzurichten, die sich mit Ihrem Server verbinden, der auf Ihrem tatsächlichen Rechner läuft.

0voto

Anthony Punkte 35161

Wenn Sie nur bestätigen müssen, dass Ihr Spiel erfolgreich eine Verbindung herstellt, würde ich mehrere virtuelle Maschinen installieren und sie alle im NAT-Modus betreiben, so dass jede von ihnen eine eindeutige IP von Ihrem DHCP-Server erhält. Wenn du die Kontrolle über deinen Router hast, könntest du sogar noch einen Schritt weiter gehen und für die MAC-Adresse jeder Vmachine eine eigene IP einrichten, so dass du protokollieren kannst, welche IP-Adresse ein Problem verursacht und es der jeweiligen Maschine zuordnen kannst. Mit ein wenig Aufwand (und etwas Hackintoshing) könnten Sie diese Einrichtung sogar erweitern, um OS-basierte Tests durchzuführen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X