Pouvez-vous développer un jeu dans XNA uniquement sur Windows pour la Xbox 360?


8

Je vais commencer à développer un jeu pour la Xbox 360, c'est un petit développement homebrew et je n'ai pas encore de Xbox 360. Est-il possible pour moi de développer l'intégralité du jeu en ciblant le framework XNA sur Windows, et enfin de "Créer une copie du projet pour Xbox 360" et de le faire fonctionner parfaitement?

Quels sont les problèmes que je rencontrerais? Pourquoi recommandez-vous de cibler et de déployer sur la Xbox 360 pendant le développement? et ai-je vraiment besoin d'une Xbox 360 pendant le développement?

Je prévois également d'utiliser le moteur de jeu Torque X superbement construit . Est-ce que cela fonctionnerait bien aussi sur mon PC seul? Et puis passer à la Xbox 360 sans changer beaucoup de code?


Votre question sous-jacente est "Je suis intéressé à créer un jeu Xbox XNA, dois-je acheter une Xbox 360?" ?
Ricket

Non, car je vais acheter une Xbox 360, juste que je ne pourrai pas l'avoir pendant mes premières semaines de développement.
TheFlash

Réponses:


8

Tout d'abord - permettez-moi de dire - j'ai fait exactement cela (développement sur PC puis portage sur Xbox 360 tard dans le développement) et n'ai eu que des problèmes minimes.

Avec XNA 4.0 et l'introduction des profils (HiDef est ce que vous souhaitez cibler pour le 360), il est devenu beaucoup plus facile de respecter les spécifications de la Xbox.

Vous devez essentiellement vous rappeler que la Xbox 360 a des caractéristiques de performances différentes de celles d'un PC. Ainsi, même si votre jeu peut porter correctement, vous devrez peut-être passer un peu de temps à régler les performances, surtout si vous faites quelque chose de "fantaisiste".

De loin, le plus gros problème de performance est le garbage collector sur la Xbox 360. Il est lent - certainement beaucoup plus lent que celui du PC. Donc, lorsque vous développez sur le PC, vous voudrez utiliser le profileur Microsoft CLR pour profiler votre mémoire: Une fois que votre jeu est chargé et fonctionne, vous voulez voir des allocations proches de zéro (XNA sur Windows allouera toujours quelques éléments, généralement à voir avec l'entrée, ce n'est pas un problème sur le 360). Voici un article de blog sur la façon d'éviter les problèmes de garbage collector .

Je recommande d'acheter des contrôleurs Xbox 360 dès le début et de les utiliser pendant le développement du PC.

L'autre chose à savoir lors du développement pour le 360 ​​est la liste de contrôle The Evil que votre jeu est vérifiée lors de l'examen par les pairs.

Vous remarquerez qu'il y a beaucoup de choses à faire avec les profils, le guide, le marché et en particulier les périphériques de stockage. Ceux-ci provoquent des problèmes qui ne surviennent tout simplement pas sur PC. Si votre jeu stocke des données, fait du réseautage, a besoin d'interagir avec des profils, etc., je recommanderais d'obtenir une Xbox 360 au début de votre cycle de développement. Aussi - n'oubliez pas de prendre en charge une démo, car elle est requise pour XBLIG.

Je ne peux pas non plus parler beaucoup de Torque-X, mais je suppose que ce n'est qu'un tas de bibliothèques qui utilisent XNA - donc cela ne devrait pas poser de problème.


2

Oui, vous pouvez créer l'intégralité de votre jeu avec XNA ciblant Windows, puis avec quelques ajustements mineurs, vous pouvez également déployer le même code sur Xbox360. Je pense qu'il y a quelques endroits où vous devrez peut-être ajouter des conditions #if #endif, le code des contrôles et du clavier par exemple. Ce code serait un peu différent.

Dans l'ensemble, XNA est conçu pour être déployé sur Windows et XBox, donc cela ne devrait pas être un problème, je l'ai déjà fait, et après 5 mois de programmation, notre jeu a également été "porté" sur Xbox avec juste un peu plus travail.

Quant à Torque X, je n'en sais rien, mais s'il s'agit d'un moteur pour XNA, cela ne devrait pas poser de problème.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.