Comecei a programar há muitos anos. Agora estou tentando fazer jogos. Eu li muitas recomendações para começar a clonar alguns jogos conhecidos, como galaga, tetris, arkanoid, etc. Eu também li que eu deveria ir para o jogo inteiro (incluindo menus, som, partituras, etc.).
Ontem, terminei a primeira versão completa do meu clone arkanoid. Mas está longe de terminar. Ainda posso trabalhar nele por meses (eu programo como um hobby no meu tempo livre) implementando um alternador de resolução de tela, remapeamento das teclas de controle, power-ups caindo de tijolos quebrados e uma enorme quantidade de etc.
Mas não quero estar sempre aprendendo a clonar UM jogo. Tenho o desejo de chegar ao próximo clone para aplicar algumas idéias de design que encontrei ao desenvolver esse clone arkanoid (ao mesmo tempo, estou lendo o livro do GoF e muito código-fonte do concurso de jogos Ludum Dare 21).
Portanto, a pergunta é: Devo continuar melhorando o clone arkanoid até que ele tenha todos os recursos do jogo original? ou devo passar para o próximo clone (existem jogos quase infinitos para clonar) e começar a consertar as coisas que fiz de errado com o clone anterior?
Esta pode ser uma pergunta muito subjetiva, por isso restrinja as respostas da maneira mais eficaz de aprender a fazer meus próprios jogos (sem clonar idéias de alguém). Obrigado!
ESCLARECIMENTO
Para esclarecer o que implementei, faço esta lista:
Recursos implementados:
- Capacidade de quicar (a bola quica nas paredes, nos tijolos e na barra).
- Soa ao pular nos tijolos e na barra e quando o jogador ganha ou perde.
- Menu básico do título (apenas novo jogo e saída). Também no menu do jogo e menus de ganhar / perder.
- Apenas três níveis, mas o sistema de mapas é tão fácil que acho que não vai me ensinar muito (estou errado?).
Recursos não implementados:
- Power-ups ao quebrar os tijolos.
- Tijolos complexos (com mais de um "ponto de vida" e invencíveis).
- Melhores gráficos (não sou muito bom nisso).
- Polimento de programação (use com mais intensidade os padrões de design).
Aqui está um link para a sua página (mínima): http://blog.acamara.es/piperine/ Eu meio que sinto vergonha de mostrá-lo, então, por favor, não me bata demais :-)
Minha pergunta estava relacionada aos recursos não implementados. Eu me perguntava qual era o caminho mais rápido (ideal) para aprender. 1) implemente os recursos não implementados neste projeto que estão ficando grandes ou 2) crie um novo jogo que provavelmente me ensinará essas lições e as novas.
RESPONDA
Escolho a resposta @ ashes999 porque, no meu caso , acho que devo polir mais e tentar "enviar" o jogo. Penso que todas as outras respostas também são importantes a ter em mente; portanto, se você veio aqui com a mesma pergunta, antes de tomar uma decisão precipitada, leia toda a discussão.
Obrigado a todos!