Vous vous demandez s'il existe de toute façon pour exécuter un jeu XNA sans afficher quoi que ce soit.
J'ai un jeu fonctionnel qui s'exécute dans une configuration de serveur client où un joueur est l'hôte et d'autres personnes peuvent se connecter à son jeu.
Je veux maintenant pouvoir exécuter le jeu en tant qu'hôte sur un serveur dédié sans carte graphique, en gros je ne veux pas exécuter de logique Draw ().
Dois-je vraiment parcourir tout le jeu et supprimer toutes les références à XNA?
Comment les gens ont-ils fait cela?
EDIT : La raison pour laquelle je veux le faire est parce que j'ai une configuration de serveur client qui fonctionne dans le jeu et que je ne veux pas créer un programme serveur "sans tête" séparé.
Draw
commeif (headless) { return; }
?Réponses:
Faites simplement un projet C # normal et incluez les binaires XNA. Cela vous permettra d'accéder aux types de données XNA et aux méthodes de framework. Mon jeu fait cela et il fonctionne parfaitement.
la source
La réponse est: ne faites pas ça. Si vous n'avez pas besoin de faire un jeu - c'est-à-dire; vous ne cherchez pas à profiter des avantages offerts par XNA, pourquoi le faire? Vous devriez vraiment envisager de développer un logiciel personnalisé capable de simuler avec succès le jeu auquel vous souhaitez jouer - généralement un système de console quelconque. Si vous donnez plus de détails, je mettrai à jour ma réponse avec une réponse moins générique.
la source
Eh bien, si vous souhaitez simplement éliminer les appels de tirage, avez-vous essayé d'utiliser ceci: Supprimer le tirage
la source
Pour s'appuyer sur la suggestion de Untitled, vous pouvez simplement inclure des références aux DLL et les utiliser sans utiliser les boucles de jeu par défaut. Pour des exemples de cela, vous pouvez consulter la série de didacticiels winforms sur le club des créateurs: http://xbox.create.msdn.com/en-us/education/catalog/sample/winforms_series_2
De plus, si vous voulez devenir encore plus sophistiqué, vous pouvez remplacer la boucle de jeu XNA entière par votre propre boucle personnalisée et contrôler tout le processus. Pour plus d'informations sur ce look sur /programming/6361691/custom-xna-game-loop-in-windows
la source
Si vous changez le type de sortie d'un projet XNA en "Application console", l'application ouvrira simplement une console vide au démarrage, sans jamais ouvrir la fenêtre réelle du jeu. Cela peut être utile pour ce que vous essayez d'accomplir, car vous voulez faire des tests et vous pouvez très facilement utiliser la console comme fenêtre de débogage.
la source
Vous pouvez également envisager de remplacer la mise à jour et de tirer des appels, et de simplement revenir.
N'appelez pas non plus le périphérique graphique dans vos classes de jeu principales, ce qui devrait empêcher la fenêtre xna d'être instanciée sur le jeu en tant que serveur.
la source