Suis-je en train de me faire du mal en ne connaissant pas le C ++ pour la conception de jeux? [fermé]

14

En ce moment, je sens que je suis fort à la fois en Java et en C #. (Pas vraiment de saut de l'un à l'autre vraiment).

Bien que je ne m'attende pas à ce qu'un concepteur / programmeur de jeu soit un objectif réalisable au début de ma carrière, c'est un objectif que j'atteindrai plus tard dans ma carrière.

Dans cet esprit, je pense que le fait d'ignorer le C ++ et les outils de conception de jeux qui lui sont associés finiront par me blesser ou me ralentir dans ma capacité à atteindre mon objectif.

Est-ce le cas? Ou puis-je continuer à perfectionner mes compétences C # en utilisant XNA et WPF pour des projets personnels qui peuvent m'élever dans une telle carrière?

Bryan Harrington
la source
1
Allez voir les positions dans les sociétés de jeux et dites-moi ce que vous voyez. Vous trouverez probablement que vous avez la foule de jeux Web / Facebook qui recherchent principalement des développeurs actionscript / php, la foule de bureau qui recherche c ++ / lua et la foule i-gadget qui utilise objective-c. Cela dépend vraiment de ce que vous voulez faire pour savoir si vous vous faites du mal ou non. (Cela vient de quelqu'un qui se concentre sur C # et python et ignore le c ++)
Ken

Réponses:

21

OMI, oui, vous risquez de vous blesser. Tout d'abord, à tort ou à raison, il existe une hiérarchie perçue entre les langages de programmation - et C ++ a généralement une position plus élevée que Java ou C # (par exemple, des questions comme la vôtre sont assez courantes - l'inverse est pratiquement inconnu). Si vous appliquez quelque part qui utilise C # ou Java et que vous connaissez C ++, il est peu probable qu'il remette en question votre capacité de programmation. Si vous appliquez quelque part que les utilisations C ++ et vous connaissez le C # et Java, il y a une jolie chance juste, ils remettre en question votre capacité de programmation, au moins dans une certaine mesure. Cela ne veut pas dire que la perception ne peut pas être surmontée, mais vous vous mettez toujours dans une situation désavantageuse.

Deuxièmement, au moins parmi les développeurs de jeux indépendants que je connais (certes, pas beaucoup), il y a une aversion de base pour C # simplement parce qu'il vient de Microsoft. Sun a été considéré de manière beaucoup plus positive, mais depuis le rachat d'Oracle, cela ne semble plus du tout être le cas. La plupart voient "Oracle" et "jeux sympas" comme aussi proches que possible des opposés exacts.

Enfin, d'un point de vue pratique, les jeux sont l'un des endroits où le C ++ est le plus utilisé. Si vous ne connaissez pas C ++ au moins à un degré raisonnable, cela restreint simplement considérablement vos options.

Jerry Coffin
la source
5

Ce n'est pas tout à fait clair, mais quels sont vos objectifs? Être un game designer? Que pensez-vous que ce poste est / fait?

Dans le cas de base, tant que vous n'écrivez pas de code réel, ne pas savoir spécifiquement C ++ ne vous fera pas de mal. Bien sûr, avoir une compréhension fondamentale de la programmation elle - même (conception orientée objet et être capable de penser en termes de conditionals, etc.) est va vous aider. Ce que C ++ lui-même fait par rapport à C # ou Java n'aura probablement pas d'importance lorsqu'il s'agit d'aider à concevoir des règles de jeu faciles à décrire avec du code.

Tetrad
la source
3

Cela dépend vraiment de vos objectifs. Si vous souhaitez vous lancer dans la conception le plus rapidement possible et progresser vers le haut pour devenir directeur, la formation technique que vous connaissez bien Java et C # sera plus que suffisante.

Si votre intention est de progresser vers un poste de programmation senior / principal et de passer à un poste de directeur à partir de là, vous feriez mieux d'apprendre une sorte de langage non géré. Pas nécessairement C ++ - C, Objective C, ou quelque chose de plus marginal comme D serait bien. Mais même en travaillant à des niveaux d'abstraction plus élevés en C #, il est difficile d'être un excellent programmeur sans comprendre les pointeurs et la gestion de la mémoire, sans pouvoir lire les vidages d'assemblage et de mémoire, sans être en mesure de comprendre ou même d'implémenter réellement des optimisations de bas niveau.

Je devrais également ajouter - si vous n'êtes pas dans l'industrie maintenant, planifier 20 ans est idiot. Vous découvrirez peut-être que vous détestez ça; peut-être découvrirez-vous que vous ne voulez pas être réalisateur à cause de toutes les conneries non liées au développement, et vous préférez simplement rester concepteur ou programmeur senior, travaillant sous la direction d'un réalisateur mais avec beaucoup de liberté dans un domaine spécifique domaine que vous aimez.


la source
2

Vous serez probablement bien en utilisant les langues que vous connaissez; C # avec XNA est populaire en ce moment car vous pouvez développer vers XBOX360, Zune et PC. La popularité de Java revient en raison du succès indépendant de Minecraft avec.

J'étais dans une position similaire à la vôtre et j'ai décidé de "recommencer" pour ainsi dire avec C ++, et il y a 2 semaines, j'ai acheté "Commencer C ++ via la programmation de jeux". Ce n'est PAS un livre de programmation de jeux, mais un livre pour débutants C ++ qui couvre tout ce que vous devez savoir en C ++ lors de la programmation de jeux avec une autre API ou bibliothèque, et remplace les projets ennuyeux par des projets plus liés au jeu. C'était une bonne lecture.

Maintenant, je passe à DirectX et j'ai acheté un livre intitulé "Programmation d'un jeu RTS dans DirectX" par Carl Granberg. Il a des critiques fantastiques. Je ne sais toujours pas si j'ai pris une mauvaise décision avec DirectX sur OpenGL, mais nous verrons.

shadowprotocol
la source
2

Apprendre plus de langues ne sera que pour vous. Même si presque tous les moteurs professionnels utilisent - ou devraient utiliser - des scripts et / ou des outils étendus pour la facilité d'utilisation du concepteur, vous avez raison en ce sens que cela aide grandement d'avoir un projet sur lequel vous avez spécifiquement travaillé. Même si votre intervieweur ne prête pas attention à vos projets (ce qui est déjà peu probable), travailler sur un seul projet personnel sera une expérience d'apprentissage énorme.

Pour les designers et les artistes, le portfolio est sans doute encore plus important, car vous ne pouvez pas passer de tests de programmation ou avoir des entretiens techniques simples. Donc, je ne dis pas que vous devriez paniquer et apprendre tout ce qu'il y a à savoir sur C ++.

Au contraire, vous devriez être en mesure de montrer quelques jeux qui ont un bon potentiel de conception (pensez à de petits concepts de jeu clairs comme Limbo ou Portal), que vous les ayez développés vous-même ou que vous les ayez créés à l'aide de Flash. Utilisez le codage comme un outil, pas comme votre arme principale. Assurez-vous qu'ils sont facilement accessibles sur votre site avec des vidéos de jeu, des captures d'écran et des téléchargements disponibles.

Par-dessus tout, polissez tout ce que vous faites, peu importe la taille ou le type de projet que vous avez. Si la programmation concerne la robustesse et la convivialité, la conception est une question de plaisir (les gens l'oublient souvent) et de montrer que vous pouvez vraiment clouer les détails.

Jessica Nam
la source
0

C ++ est l'initiateur et le créateur de certains des langages les plus utilisés, dont Java. En apprenant le C ++ (que ce soit pour le développement de jeux ou autre), vous pourrez apprendre presque n'importe quel langage avec rapidité et facilité. Voilà la magie de cette langue. C ++ vous donne plus de contrôle sur le code par rapport à Java. Donc, si vous voulez vraiment être un vrai maître de votre code, alors vous seriez dans une bien meilleure position pour apprendre le C ++

Kiran
la source