Premiers pas dans le développement de jeux: XNA est-il un bon choix? [fermé]

16

Lecteur de longue date; demandeur pour la première fois:

Je veux faire partie de l'industrie du jeu depuis un certain temps, mais mon CV est à 100% un travail de backend.

Je suis un développeur C ++ / C # fort, sans expérience pratique en développement de jeux. Mon expérience backend fait de moi un bon candidat pour le travail backend (puisque de nombreux jeux ont de nos jours des aspects basés sur le service), mais c'est un domaine hyper compétitif et je cherche des moyens de me démarquer.

Comme personne ne vient me voir et me donne un emploi dans l'industrie du jeu, j'ai décidé d'essayer mon chapeau en écrivant mes propres jeux.

Je comprends pourquoi C et C ++ sont les langages de facto dans le développement de jeux, mais j'aime vraiment la philosophie derrière XNA. Comme je l'ai dit plus tôt, je suis à la fois en C # et C ++, mais si je me souviens bien, XNA fonctionne uniquement en langage compatible CLR (peut-être seulement en C #).

Se concentrer sur le développement de jeux en utilisant XNA et C # au lieu de C ++, va-t-il nuire à mes chances de décrocher un emploi dans l'industrie des jeux? VB a la réputation injuste de ne pas être un véritable langage de programmation, et les programmeurs VB sont pris dans cette stigmatisation. Est-ce le cas avec l'utilisation de C # dans une communauté composée principalement de développeurs C ++?

Ou les principes fondamentaux du développement de jeux qui peuvent être tirés de l'écriture de jeux transcendent-ils le langage et les technologies?

Alan
la source

Réponses:

15

Je ne pense pas que cela nuirait à vos chances. C # devient de plus en plus populaire, en particulier avec XNA et SlimDX. J'ai utilisé à la fois C # et C ++, et je dois dire que j'ai préféré XNA de manière significative. C'était juste plus propre de travailler avec, mais pas tellement qu'on avait l'impression que vous ne faisiez rien.

Pour la partie carrière, vous voudrez mentionner que vous êtes habitué à XNA, bien que je ne pense pas que cela nuirait à vos chances. En fait, en raison de la façon dont il est plus facile à utiliser, vos morceaux de portefeuille peuvent être meilleurs.

Et les concepts restent les mêmes, juste la syntaxe devient différente. Sauf si vous optez pour un travail graphique de bas niveau, la disposition de ce que vous avez à faire serait presque la même (pas d'écriture de code de chargement de shader ou de caches de maillage, au lieu de simplement le charger).

Le canard communiste
la source
+1: Belle réponse. Pensez - vous qu'il ya une attente que vos pièces de portefeuille devraient être mieux depuis que vous avez utilisé XNA? Par exemple, dans l'une de mes classes de matériel, nous avons eu le choix d'écrire notre projet de conception dans l'assemblage HC12, ou d'utiliser C, mais avec C, notre projet devait être beaucoup plus intéressant en raison de la facilité de programmation en C sur l'assemblage.
Alan
Je ne pense pas vraiment qu'il y en aurait. C'est un outil pour une solution, et la raison pour laquelle je dis que le produit final serait `` meilleur '' est qu'il y a moins de temps consacré à la conception du rendu et plus de temps consacré au travail de jeu réel.
The Communist Duck
À moins que vous ne recherchiez spécifiquement un travail graphique, la plupart des gens ne rechercheront pas des tonnes de vernis graphiques dans un portfolio. Faites quelque chose qui semble plus engageant que joli. À cet égard, XNA vs C n'a pas vraiment d'importance tant qu'il est amusant.
coderanger
Bien que si vous voulez qu'il soit joli, l'utilisation d'un moteur de rendu comme Sunburn sur XNA peut beaucoup aider!
Chris Ridenour
10

D'après mon expérience, les mêmes concepts utilisés dans XNA vont et viennent entre différentes bibliothèques et langages. J'ai pu faire des allers-retours efficaces entre différentes technologies de jeu et j'ai commencé avec XNA.

Travailler avec C # et XNA m'a aidé à rester concentré sur un objectif d'apprentissage spécifique ("Qu'est-ce qui fait fonctionner un jeu?") Plutôt que de mélanger les objectifs ("Comment puis-je apprendre X et créer un jeu en même temps?"). J'ai trouvé que chaque fois que je combinais des buts, je finissais avec des résultats assez abyssaux. Commencer dans ma zone de confort et s'appuyer sur XNA a cependant aidé à faire avancer les choses.

Gabriel Isenberg
la source
J'aime vraiment ta réponse. Avec tous les langages de programmation ayant des structures similaires (objets, structures de contrôle, etc.), je pense que vous devriez apprendre les concepts de ce que vous voulez faire avec ce que vous êtes à l'aise. Les principales différences à ce stade du passage d'une langue à l'autre devraient être la syntaxe, les composants de base et les API.
John
3

Si vous pouvez faire un jeu amusant et que vous êtes en fait un ingénieur talentueux, vous n'avez rien à craindre. Personne ne vous dira comment vous avez créé votre jeu.

Les jeux ne sont pas gérés de la même manière que de nombreux autres logiciels. Moins de code jetable est fait que dans l'industrie des effets spéciaux, mais nous pouvons toujours nous en tirer avec beaucoup de hacks pour plus de commodité.

Faites simplement le travail. À la fin du jour, c'est à cela que sert le développement de jeux.

Jonathan Fischoff
la source
3

On m'a dit que:

  1. Le contenu est beaucoup plus important que les outils utilisés à quelques exceptions près.

  2. Bien que la base de la plupart des grands jeux soit C ++, c'est parce que les outils sont développés en C ++. Si vous ne codez pas les outils, il est possible que vous ne programmiez pas en C ++ de toute façon.

Edit: En outre, avoir un projet de démonstration terminé dans n'importe quoi (C #, etc.) est beaucoup mieux que d'avoir quelque chose de incomplet dans un langage plus difficile (C ++, etc.).

acmshar
la source