Eu tenho uma pergunta muito geral que me incomoda, mas quero adicionar alguns detalhes primeiro. Eu sou um programador Java principal. Criei independentemente alguns jogos pequenos em Java por diversão. Agora, quanto mais eu estou estudando o desenvolvimento profissional de jogos, mais fico confuso. Isso ocorre porque, sempre que procuro no Google sobre alguns tópicos de desenvolvimento de jogos ou visito fóruns, etc., encontro sugestões diferentes.
Alguns dirão que C ++ é bom, enquanto outros dirão que JAVA pode ser melhor, enquanto outros ainda dirão que outra linguagem é a linguagem ur, como Python, Lua, UnrealScript, etc. Também é sugerido que se deva ter conhecimento de mecanismos de jogo como Unreal, Torque, Blender, Panda, etc, e conhecimento de OpenGL, AI, detecção de colisão é necessário. Eu até criei um jogo usando o Android SDK.
O que eu quero perguntar é:
- Qual é o conjunto de habilidades básicas que um Programador Profissional de Jogos precisa ter? É 1 linguagem de programação + 1 linguagem de script + 1 conhecimento de mecanismo de jogo + OpenGL? (Ufa !!)
- Se eu quiser entrar na indústria de jogos como programador de jogo ou programador de IA, posso entrar com minhas habilidades e portfólio atuais (como mencionado acima)?
- Aprender uma linguagem de programação é suficiente para o desenvolvimento de jogos?
Qualquer orientação será útil.
fonte
Quanto mais eu pesquiso sobre este tópico e converso com desenvolvedores profissionais de jogos, mais acho que isso se resume a algumas coisas. Em nenhuma ordem particular:
fonte
Depende muito dos seus objetivos de carreira. Se tudo o que você quer é "um trabalho para fazer jogos" antes de executar os 5,5 anos necessários e esgotar-se e sair, acho que você olha as vagas de nível básico e procura o que elas querem, aprende e se inscreve. Simples. (Mas então, se sua pergunta realmente se resume a "qual é o esforço mínimo que preciso fazer para conseguir um emprego?", A resposta é "se você fizer o mínimo de esforço, conseguirá o emprego mínimo!" ")
Mas a longo prazo, acho que não se trata tanto de conhecer um número de idiomas ou de aprender um idioma específico. Os idiomas mudam - há dez anos, ninguém usava Objective-C ou XNA ou C # ou AS3 e, daqui a dez anos, tenha certeza de que qualquer idioma que você aprende hoje estará obsoleto de qualquer maneira.
Portanto, uma coisa para se preparar para o futuro é não apenas "aprender um idioma", mas aprender COMO aprender novos idiomas. Depois de se tornar proficiente em três idiomas, você descobrirá que escolher um novo não é tão ruim. De qualquer forma, a maioria dos componentes principais é a mesma - todo idioma possui variáveis, matrizes, loops, condicionais e assim por diante, portanto, trata-se apenas de aprender a sintaxe.
A outra metade disso é entender os conceitos principais de programação e ciência da computação. Entenda o gerenciamento de memória, ponteiros, recursão e assim por diante. Se você entende os conceitos, pode aplicá-los em praticamente qualquer idioma.
Se você deseja tornar-se mais comercializável, aprenda uma especialidade de programação relevante para jogos, o que for do seu interesse ... IA, bancos de dados, redes, ferramentas, o que for.
fonte
Há outra habilidade muito importante necessária que parece ser um pouco esquecida. Você precisa saber como se encaixar e trabalhar com uma equipe de pessoas, indo de outros desenvolvedores de jogos, a designers, gerentes de projetos e outras coisas. Não é uma habilidade técnica, mas ainda é muito importante, pois você pode ser o melhor desenvolvedor da casa e, se não conseguir se relacionar com as pessoas, fazer jogos grandes será um problema!
Além disso, como o ShrimpCrackers conhecendo bem um idioma é melhor do que conhecer aproximadamente cinco idiomas, e entender o que acontece sob o capô daquele idioma em que você estuda é ainda melhor, quanto aos jogos, você precisa saber como obter o melhor desempenho fora do idioma.
Por último, mas não menos importante, sabendo um pouco sobre hardware, a GPU em particular não fará mal!
fonte
Para a programação de jogos sociais, existem as principais habilidades necessárias.
Script de ação do programa (você pode usar um ambiente elipse e um svn), usado para o front end do jogo (a página da web)
O programa java (que também pode ser feito no eclipse e use svn), é usado para ações do lado do servidor a serem executadas nas solicitações da página da web.
fonte