- Noções de programação e estruturas de dados
Não estamos falando de criar joguinhos com o RPG Maker ou com o MUGEN, quem quiser se aventurar no desenvolvimento de games, no mínimo, precisa entender bem o fluxo de um código, os blocos de desvio, repetição, o uso de funções etc, note que aqui ainda não estamos preocupados com a linguagem em sí.
Além disso, é muito importante que candidato a desenvolvedor saiba usar bem as principais estruturas de dados (listas, pilhas, filas e matrizes...), escolhendo a mais adequada para cada situação. Como você armazenaria as armas que o personagem tem até agora? Ou como você faria para acessar a próxima carta que o Yu-gi-oh irá sacar do deck? MAGO NEGRO!!!
- Conhecimento de Programação Orientada a Objetos
Embora não seja totalmente necessário se sua intenção é fazer joguinhos simples tipo Snake ou Pong, qualquer jogo que vá um pouco além disso será bem complicado de criar sem o uso dos conceitos de classes, objetos, métodos, atributos, herança e vários outros que aprendemos nas aulas de POO. Mais uma vez aqui, ainda não estamos preocupados com a linguagem, se você tem experiência com Java, irá se surpreender com como o C# é parecido.
- Matemática(!)
É, achou que fosse ficar livre dela? Mas ainda não se desespere, a parte realmente complicada já vem prontinha pra usarmos das bibliotecas que utilizaremos. De forma geral, você precisará fazer algumas somas básicas e usar alguns truques matemáticos para fazer coisas como movimentação de objetos na tela. Agora sim é a parte pra você se desesperar, é comum precisamos de usar trigonometria e geometria analítica para fazermos algumas coisinhas mais avançadas.
- Artes(?)
Realmente, esse aqui não é 100% necessário. Primeiro por que alguns jogos não precisam ter uma boa qualidade gráfica. Mas se seu jogo não é um desses (o mais provável), você tem basicamente 3 alternativas: Pegar a arte gráfica na pronta na internet (e jogar a originalidade no ralo), fazer você mesmo (o que pode aumentar bastante o trabalho) ou ter na sua equipe alguém especializado. nisso.