Estou me machucando por não conhecer C ++ para design de jogos? [fechadas]

14

No momento, sinto que sou forte em Java e C #. (Não há muito salto de um para o outro).

Embora eu não espere que um designer / programador de jogos seja um objetivo atingível no início da minha carreira, esse é um objetivo que alcançarei mais tarde na minha carreira.

Com isso em mente, sinto que ignorar o C ++ e as ferramentas de design de jogos associadas a ele acabará por me prejudicar ou diminuir minha capacidade de atingir meu objetivo.

É esse o caso? Ou posso continuar aprimorando minhas habilidades de C # usando XNA e WPF para projetos pessoais que podem me elevar a uma carreira assim?

Bryan Harrington
fonte
1
Vá olhar as posições nas empresas de jogos e me diga o que vê. Você provavelmente descobrirá que tem a multidão de jogos da web / facebook que está procurando principalmente por actionscript / php devs, a multidão de desktops que procura c ++ / lua e a multidão de i-gadget que usa o objetivo-c. Depende do que você quer realmente fazer se está se machucando ou não. (Isso vem de alguém que está se concentrando em C # e python e ignorando c ++)
Ken

Respostas:

21

OMI, sim, é provável que você esteja se machucando. Primeiro de tudo, com ou sem razão lá é uma hierarquia percebida entre as linguagens de programação - e C ++ geralmente tem uma posição mais elevada do que Java ou C # (por exemplo, questões como a sua são bastante comuns - o inverso é praticamente inédito). Se você aplicar em algum lugar que use C # ou Java, e souber C ++, é improvável que questionem sua capacidade de programação. Se você aplicar em algum lugar que usa C ++ e você sabe C # e Java, há uma bastante justa oportunidade, eles vão questionar sua capacidade de programação, pelo menos em algum grau. Isso não quer dizer que a percepção não possa ser superada, mas você ainda está se colocando em desvantagem.

Segundo, pelo menos entre os desenvolvedores de jogos independentes que conheço (reconhecidamente, não muitos), há uma certa antipatia básica pelo C # apenas porque é da Microsoft. A Sun foi vista muito mais positivamente, mas desde a compra da Oracle, isso não parece mais ser o caso. A maioria vê "Oracle" e "jogos divertidos" o mais próximo possível dos opostos humanos.

Finalmente, do ponto de vista prático, os jogos são um dos lugares onde o C ++ é mais usado. Se você não conhece C ++ pelo menos em um grau razoável, simplesmente restringe suas opções consideravelmente.

Jerry Coffin
fonte
5

Não está totalmente claro, mas quais são seus objetivos? Ser designer de jogos? O que você acha que essa posição é / faz?

No caso básico, desde que você não esteja escrevendo um código real, não conhecer C ++ especificamente não o prejudicará. É claro que ter uma compreensão fundamental da própria programação (projeto orientado a objetos e ser capaz de pensar em termos de condicionais, etc) está indo para ajudá-lo. O que o C ++ faz em comparação com C # ou Java provavelmente não vai importar quando se trata de ajudar a projetar regras de jogos fáceis de descrever com código.

Tetrad
fonte
3

Realmente depende de quais são seus objetivos. Se você deseja avançar para o design o mais rápido possível e trabalhar para ser um diretor, o conhecimento técnico que você conhece sobre Java e C # será mais que suficiente.

Se sua intenção é subir para uma posição de programação sênior / líder e passar para uma posição de diretor a partir daí, é melhor aprender algum tipo de linguagem não gerenciada. Não necessariamente C ++ - C, Objective C ou algo mais marginal como D seria bom. Mas, mesmo trabalhando em níveis mais altos de abstração em C #, é difícil ser um grande programador sem entender ponteiros e gerenciamento de memória, sem poder ler dumps de montagem e de memória, sem ser capaz de entender ou até mesmo implementar otimizações de baixo nível.

Devo acrescentar também: se você não está no setor agora, planejar 20 anos é tolo. Talvez você descubra que odeia; talvez você descubra que não quer ser diretor por causa de toda a porcaria de não desenvolvimento envolvida, e você prefere apenas permanecer como designer ou programador sênior, trabalhando sob um diretor, mas com muita liberdade em um determinado domínio que você gosta.


fonte
2

Você provavelmente ficará bem usando os idiomas que conhece; O C # com XNA é popular agora, pois você pode desenvolver para XBOX360, Zune e PC. A popularidade de Java está voltando por causa do sucesso indie do Minecraft.

Eu estava em uma posição semelhante à sua e decidi "recomeçar", por assim dizer, com C ++, e há duas semanas eu comprei "Beginning C ++ through Game Programming". NÃO é um livro de programação de jogos, mas um livro para iniciantes em C ++ que cobre tudo o que você precisa saber em C ++ ao programar jogos com outra API ou biblioteca e substitui projetos chatos por outros relacionados a jogos. Foi uma ótima leitura.

Agora, estou migrando para o DirectX e comprei um livro intitulado "Programação de um jogo RTS no DirectX", de Carl Granberg. Tem críticas fantásticas. Ainda não tenho certeza se tomei uma decisão ruim com o DirectX sobre o OpenGL, mas veremos.

shadowprotocol
fonte
2

Aprender mais idiomas será apenas para sua vantagem. Mesmo que quase todos os mecanismos profissionais usem - ou devam usar - scripts e / ou ferramentas extensivas para facilitar o uso do designer, você está certo, pois ajuda muito ter um projeto no qual você especificamente trabalhou. Mesmo que seu entrevistador não preste atenção em seus projetos (o que já é improvável), trabalhar em um único projeto pessoal será uma enorme experiência de aprendizado.

Para designers e artistas, o portfólio é sem dúvida ainda mais importante, já que você não pode fazer testes de programação nem ter entrevistas técnicas diretas. Portanto, não estou dizendo que você deveria se desesperar e aprender tudo o que há para saber sobre C ++.

Em vez disso, você deve ser capaz de mostrar alguns jogos com bom potencial de design (pense em conceitos de jogos pequenos e claros, como Limbo ou Portal), se você os desenvolveu ou criou usando o Flash. Use a codificação como uma ferramenta, não como sua principal arma. Verifique se eles são facilmente acessíveis no seu site com vídeos de gameplay, capturas de tela e downloads disponíveis.

Acima de tudo, aprimore tudo o que você faz, não importa quão pequeno ou que tipo de projeto você tenha. Se a programação é sobre robustez e usabilidade, o design é divertido (as pessoas costumam esquecer isso) e mostra que você pode realmente entender os detalhes.

Jessica Nam
fonte
0

C ++ é o criador e criador de algumas das linguagens mais usadas, incluindo Java. Ao aprender C ++ (seja para desenvolvedores de jogos ou não), você poderá aprender quase qualquer idioma com rapidez e facilidade. Essa é a mágica dessa linguagem. O C ++ oferece mais controle do código em comparação ao Java. Então, se você quer realmente ser um verdadeiro mestre do seu código, estará em uma posição muito melhor aprendendo C ++

Kiran
fonte