Ich möchte ein textbasiertes MUD erstellen, daher scheinen viele Elemente des XNA-Frameworks meinen Anforderungen zu entsprechen. Insbesondere Dinge wie die allgemeine Spielschleife, das Networking usw. Es sieht so aus, als ob XNA eng mit einer interaktiven Umgebung mit Benutzeroberfläche und Audio verbunden ist. Ich bin mir also nicht sicher, ob dies der richtige Weg ist.
Wäre es einfacher, diese Art von Aspekten selbst neu zu erstellen, zu versuchen, das XNA-Framework an meine Bedürfnisse anzupassen, oder gibt es ein besseres Framework für diese Art von Arbeit?
telnet
Verbindungen. Bei normalen textbasierten MUDs ist es selbstverständlich, dass Benutzer zumtelnet
Server gelangen.telnet
Schnittstelle als Schicht auf einer robusteren API zu verwenden, z. B. einer auf WCF basierenden.Sie können die XNA-Route wählen und nur die gewünschten Elemente verwenden (Audio, Netzwerk usw.). Dies erhöht jedoch die Komplexität Ihres Projekts und verringert Ihr "sofortiges Verständnis" der Codebasis.
Grundsätzlich nimmt Ihr Wissen über die Funktionsweise Ihres Codes ab, wenn Sie mehr Middleware hinzufügen - es sei denn, Sie befassen sich mit der Implementierung der Middleware. Wenn Sie sich distanzieren, verlieren Sie an Effizienz, Fähigkeit und Verständnis.
Wie oben erwähnt, wäre es für Sie weitaus vorteilhafter, C # und die entsprechenden Nicht-XNA-Bibliotheken zu verwenden.
Wenn Sie dies für Ihre eigene Erbauung tun, können Sie auch Ihre eigene rollen, wo Sie sich für das Gebiet interessieren - auf diese Weise erfahren Sie mehr.
Tue es! Habe Spaß!
quelle
Dies hängt weitgehend von Ihren Anforderungen ab.
Wenn Sie daran interessiert sind, Audio zu unterstützen, lädt ein Freund ein und so weiter, als ich glaube, dass XNA der richtige Weg ist.
Die größte Einschränkung bei der Verwendung von XNA für das Networking ist das Spielerlimit von 32 Spielern pro Spiel.
Wenn Sie ein Spiel mit dem XNA-Framework entwickeln, ist es nicht unbedingt erforderlich, an alle verschiedenen APIs gekoppelt zu sein. Viele Benutzer verwenden das XNA-Framework, verlassen sich jedoch für die Vernetzung auf andere Frameworks.
Mein Vorschlag ist, Ihre Bedürfnisse und Wünsche für den Netzwerkaspekt physisch (in Notizblock oder so etwas aufzuschreiben) aufzulisten. Vergleichen und kontrastieren Sie dann die verschiedenen Frameworks.
quelle
Ich neige dazu, "von Grund auf neu erstellen" zu sagen, aber das ist nur ein Bauchgefühl, wenn man mit C # - und MUD-Code getrennt gearbeitet hat. Sie haben mehr Kontrolle und lernen mehr, wenn Sie Ihre eigenen Versionen von allem rollen, was Sie ohnehin von XNA verwenden können.
Gibt es einen Grund, warum Sie keine vorhandene MUD-Engine verwenden, zumindest als Referenz?
quelle