A pergunta curta e doce
Sou iniciante em programação de jogos em geral, então como faço para criar jogos de código-fonte de BOA QUALIDADE?
O que eu encontrei
Há uma infinidade de jogos que eu joguei no Linux que são absolutamente vergonhosos. Os gráficos são terríveis, a IA está ausente e a repetibilidade é pouco ou nada. Não me interpretem mal; Eu joguei alguns bons jogos de código aberto, como World of Goo, Gish e Aquaria; mas estou realmente perdendo bons jogos aqui na minha cabana do Linux.
O que eu encontrei
Então, eu fiz uma pequena pesquisa sobre como os jogos mencionados foram feitos. Assim, comecei a aprender OpenGL e SDL usando minha experiência em programação C ++ (que é cerca de um ano de programação, não muito). Também peguei os seguintes livros, recomendados pelos programadores no estouro de pilha:
- Concentre-se no SDL (o único deixe-me postar um link por enquanto ...)
- A Bíblia Super OpenGL
- GEB e CÓDIGO
O que eu tenho recomendado
Também conversei com alguém que é um programador bastante experiente e recomenda que eu tome a rota C ++ para jogos, e que OpenGL e SDL seriam um bom caminho a percorrer. Ele também recomendou que eu comece a usar o controle de versão com meus programas (particularmente o Git). Quais são suas opiniões sobre isso?
Espero que esteja claro, pessoal.
Deixe-me saber,
Immanu'el
fonte
Respostas:
Pura e simples, a melhor maneira de entrar em jogos de código aberto é fazê-lo.
Git é uma ótima opção para controle de versão e você deve começar a usá-lo imediatamente. Será algo que você usará constantemente durante o desenvolvimento e, quanto mais cedo você estiver familiarizado, melhor. Como um bônus adicional, você pode hospedar sua fonte em um site como o GitHub para que outras pessoas possam clonar, trabalhar e verificar o código no seu repositório.
A rota c ++ / sdl é boa e tem sido relativamente bem percorrida. Você deve encontrar uma boa quantidade de recursos na maioria dos tópicos.
Ao tentar iniciar um projeto de código aberto, lembre-se de que pode haver um grande número de colaboradores de todas as culturas, origens, etc. Suas idéias podem não estar necessariamente alinhadas com o que você tem em mente para o projeto. Você precisa manter um equilíbrio entre manter colaboradores e direcionar o projeto para esse objetivo final.
Acredito que o acima foi o motivo pelo qual vemos jogos de código aberto de qualidade relativamente baixa. Você tem muitos cozinheiros contribuindo, enquanto qualquer pessoa com um forte impulso em direção a uma idéia específica (que é algo que eu sinto que um jogo precisa) pode ficar alienada em algum momento do desenvolvimento.
Posso estar errado aqui, mas Gish e Aquaria foram apenas de código aberto recentemente e foram desenvolvidos por uma equipe fechada. Também tenho certeza de que a fonte do World of Goo ainda está fechada.
Pode ser preferível não deixar sua primeira incursão nos jogos ser sua primeira incursão em um jogo de código aberto também. Não vai doer jogá-lo em um repositório público, mas eu descobri, como assar, o primeiro é 'jogado fora'. É uma experiência de aprendizado - obter os processos, técnicas e matemática necessárias para obter algo utilizável. Não espere que o seu primeiro jogo supere 0 AD, Battle for Wesnoth ou FreeCiv.
Convém procurar uma introdução contribuindo para um dos jogos acima, que seria uma experiência inestimável se você quiser executar um projeto semelhante em algum momento.
fonte
Se você estiver desenvolvendo algum tipo de software, o controle de versão é essencial. É necessário rastrear as alterações e, se necessário, reverter para versões anteriores conhecidas e estáveis.
Isso é duplamente verdadeiro (se possível) no desenvolvimento de código aberto, pois você está efetivamente em uma equipe distribuída, possivelmente em diferentes países, fusos horários ou continentes.
fonte
A melhor maneira de criar jogos indie de qualidade (de código aberto ou não) é criar muitos jogos muito ruins primeiro. Não refaça o mesmo jogo repetidas vezes, mas faça muitos joguinhos e aprenda algo novo a cada vez.
fonte