O melhor artigo que encontrei sobre o assunto é Como faço para criar jogos? Um caminho para o desenvolvimento de jogos .
Você realmente deveria ler o artigo inteiro, mas deixe-me resumir:
Quando falo com pessoas que buscam entrar no desenvolvimento de jogos, algumas das primeiras coisas que ouço frequentemente caem na linha de "Como faço para criar jogos?" ou "Eu quero fazer um jogo como Quake / Everquest / Starcraft e ...". A primeira é apenas uma maneira de sair do campo da responsabilidade, pois há muitos aspectos a serem abordados e cada um desses componentes pode ser infinitamente complexo.
O segundo, no entanto, cai em apenas ser irrealista nas expectativas ...
Então, por onde começo? ...
Tetris tem todos os componentes individuais que TODOS os jogos compartilham em comum. Ele tem um loop de jogo (o processo de repetição repetidamente até o final do jogo). O loop do jogo lê a entrada, processa a entrada, atualiza os elementos do jogo (os tetraminos em queda) e verifica as condições de vitória / perda.
Ele passa a abordar jogos e tópicos cada vez mais avançados
- detecção avançada de colisões
- física de deflexão simples
- layout de nível
- inteligência artificial
- som
- arte
- estado avançado do jogo
e encerra com esta sabedoria:
Terminar um jogo não significa apenas que você chega a um ponto em que é jogável e, em seguida, segue em frente, esse não é um jogo acabado. Um jogo finalizado terá uma tela de abertura, uma tela de fechamento, opções de menu (se aplicável, pelo menos instruções sobre como jogar e iniciar), telas de introdução ao jogo, telas de recompensa e um placar (quando aplicável) ...
Porém, este não é um mundo em que você não possa ingressar, apenas leva bastante tempo, experiência e histórico de criação de jogos de qualidade ...
Portanto, para julgar seu progresso como desenvolvedor de jogos, você não pode simplesmente "andar à deriva até acordar um dia no seu destino", você deve realmente desenvolver jogos . Qualquer coisa menos do que isso está simplesmente se iludindo. *
* O autor deste post não é desenvolvedor de jogos.