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!
fonte
Respostas:
Discordo completamente da resposta de Patrick . Se você deseja ter sucesso como desenvolvedor de jogos, a habilidade número um que precisa aprender é como ter uma idéia e enviar um jogo completo e polido.
O que você perceberá ao longo do tempo (o que percebi depois de vários anos) é que a programação é apenas uma pequena parte do seu jogo. É fácil, porque é divertido. Mas manter apenas a programação deixará você com uma trilha de provas e conceitos incompletos.
Em vez disso, sugiro fortemente que você crie um site e blog (o Wordpress é ótimo para esse tipo de coisa), termine seus jogos (começando com Arkanoid) e os libere para a natureza.
Além disso, é fundamental perceber que, se você fizer isso, controla quando o jogo termina. Se você quer 1000 níveis com 10 recursos principais, tudo bem. Se você quer 10 níveis com 3 recursos principais, tudo bem. (Na verdade, recomendo projetos menores com mais frequência, porque você aprende mais e se concentra muito no polimento dessa maneira).
Edit: Em resposta às pessoas que discordam, sinto que preciso esclarecer. Se você criou um jogo apenas para um propósito / experiência (que eu fazer tudo o tempo todo), por todos os meios, escopo corte e enviá-lo. Ninguém disse que o Arkanoid precisa de 1000 níveis para ser um jogo polido; basta fazer níveis suficientes para que, na sua opinião, seja divertido e siga em frente.
É possível passar anos jogando e nunca enviar. Mas sinto que é muito mais fácil cair no outro buraco de fazer apenas demonstrações e protótipos técnicos para sempre. Levei mais de 10 anos para parar de fazer isso sozinho.
fonte
Eu sugeriria uma síntese das duas respostas anteriores. Basicamente, concordo que é extremamente importante aprender a ter uma idéia e lançar um jogo completo e polido. A internet está repleta de projetos semi-concluídos que alguém começou e depois se cansou. A capacidade de seguir um projeto do começo ao fim, o que eu chamo de "habilidade de finalização", é rara e preciosa, e ganha se forçando a praticá-lo.
No entanto, você ainda não está nesse estágio de aprendizado; Eu não recomendaria fazer isso com o seu primeiro jogo, mas faça alguns jogos menores para aprender antes de trabalhar no seu primeiro projeto completo.
(aparte: eu nunca identifiquei isso antes, mas agora que estou pensando nisso, acho que a capacidade de finalização é a principal coisa que vejo separando desenvolvedores experientes de iniciantes)
ADIÇÃO: Eu acho que muitas das divergências entre respostas se resumem a suposições diferentes sobre onde ele está em seu processo. Por exemplo, quando ele disse "terminei a primeira versão completa do meu clone arkanoid", isso poderia significar muitas coisas diferentes. No meu caso, desde que ele disse anteriormente "Eu também li que eu deveria ir para o jogo inteiro (incluindo menus, sons, partituras"), presumo que ele realmente implementou essas coisas e está perguntando se deveria continuar ainda mais. caso, eu diria que não; conclua o projeto e passe para o próximo projeto.
No entanto, isso é apenas uma suposição da minha parte; na verdade, ele não disse que tinha feito aquilo, apenas que o havia lido. Se ele não fez essas coisas, então eu diria que não siga em frente até que você tenha feito essas coisas.
fonte
Eu acho que você tem a idéia certa de que deve avançar para o próximo projeto agora. Eu acho isso porque você já aprendeu com o seu primeiro e deseja aplicar o que aprendeu! Depois que você desacelerar o aprendizado do básico, esse será o momento de clonar recursos mais profundos dos quais você pode continuar aprendendo.
Lembre-se de que você está trabalhando em habilidades de programação, e não em design de jogos, por isso, você poderá programar qualquer design de jogo quando terminar de aprender.
fonte
Por que não tornar o clone "seu"? Adicione algumas novas reviravoltas interessantes que o manterão interessado.
Há uma vantagem em iniciar o "seu próprio" projeto, você sente que nunca foi feito antes. A realidade é que alguém provavelmente já tem algo parecido. A menos que você planeje inventar um novo gênero de jogo, sugiro que você faça esses "clones".
Por exemplo, meu amigo na faculdade criou um "clone" de pong. Ele fez o seu próprio, adicionou um novo tipo de jogabilidade, onde um power-up permitia dirigir um tanque doce por 15 segundos e destruir o máximo de tijolos possível!
A melhor maneira de aprender o desenvolvimento de jogos (arte, código, design) é apenas fazê-lo. Você pode não fazê-lo bem no começo, mas a chave é apenas mantê-lo e escrever mais código, desenhar mais animações e criar mais níveis! Na minha opinião, não importa se você está "clonando" algo, desde que você faça o seu próprio, continue fazendo isso, torne-o interessante e divirta-se!
fonte
Para responder sua pergunta, sim , polir seu projeto atual será uma experiência de aprendizado melhor do que iniciar um novo.
1) Você precisa adquirir o hábito de terminar as coisas. Isso por si só é uma experiência de aprendizado.
2) As tarefas que você tem "muita preguiça de adicionar" (por falta de um termo melhor) podem ter uma tonelada de lições de desenvolvedores de jogos embutidas, nas quais você está simplesmente pulando.
3) Se você está entediado com o Arkanoid, sempre pode deixá-lo de lado e trabalhar em outra coisa por enquanto. Não há nada de errado com isso.
1) Muitas coisas inacabadas são ruins. Você realmente não pode usar seu produto inacabado para mostrar suas habilidades com eficiência.
Isso ocorre porque ter uma série de coisas inacabadas é como ter um armário cheio de lixo. Algumas delas parecem úteis, mas, na realidade, tudo é muito inútil, e a realidade da indústria de jogos é que poucos apreciarão seu "lixo" (jogos inacabados).
Jogos inacabados são muito comuns. As pessoas colocam eles lá fora e ficam tipo, "duh, esse jogo foi divertido como o StreetFighter .. agora você pode ir e voltar .." Não impressionante . Ninguém pode ver na sua cabeça como era o jogo "sapposa". Eles só vêem o que é, inacabado.
Um jogo inacabado é como uma torta pela metade. Algumas pessoas podem apreciar isso, mas na verdade tem um gosto repugnante, e mais 20 minutos no forno podem tornar delicioso o que você já fez pela metade.
2) Os recursos nos quais você está evitando trabalhar podem ter algumas lições muito valiosas.
O que você está recusando ao terminar:
Recursos não implementados:
Algumas dessas coisas você pode deixar de fora. Por exemplo, "Use com mais intensidade os padrões de design". Refatorar como esse é um desperdício de tempo para um projeto de estimação. Para aplicar isso, basta iniciar um novo projeto.
Alguns destes são fáceis. Por exemplo, tijolos complexos. Alguns destes são realmente muito trabalho . Os upgrades não são fáceis, eles exigem que você construa coisas como armas, balas, exigiria a adição de código de interseção de raios.
Eu acho que o que você está vendo é "colocar o andaime no lugar foi tão fácil ... e parece que está quase pronto. Terminar seria muito trabalho, e também pode parar agora". Sim, erigir a moldura de madeira para uma casa também é "fácil" e pode ser metade do trabalho. Drywall, eletricidade, encanamento, são todos "detalhes". Mas, ao não terminar a casa, ninguém vai "comprar" o quão boa a casa seria - uma se você a tivesse terminado.
3) Se você está entediado com o que está trabalhando, não há nada de errado em começar outra coisa.
Isso não significa lixo no que você está trabalhando, mas não há mal em passar um mês ou dois pensando em outras coisas ou iniciando um novo jogo. Você pode voltar ao Arkanoid com uma nova perspectiva.
Também um ponto final. Além de criar todos os recursos esperados do Arkanoid, é ainda mais interessante dar uma olhada nele. Então, em vez de interromper seu clone, você deve dar um passo adiante e inovar no jogo original.
fonte
A resposta certa realmente depende do que você quer fazer a seguir. Se você seguir para algo novo, poderá se arriscar a resolver os mesmos problemas antigos mais uma vez, sem realmente estender suas habilidades, mas poderá avançar para algo novo. Se você continuar a aperfeiçoar, há coisas úteis a serem aprendidas na breve lista que você forneceu, e elas o ajudarão no futuro, mas você ainda estará trabalhando na mesma antiga base de código.
O que eu recomendaria, e essa é uma opinião puramente pessoal, é passar para algo novo e salvar o polimento para isso. Ao mesmo tempo, tente se alongar com algo novo. Portanto, se você atualmente não está usando uma API 3D, aprenda uma e use-a. Se você estiver usando um, aprenda o outro e use-o. Ou vá para um nível mais avançado no que você está usando. Inclua um melhor som, física ou mecanismo de entrada desde o início. Seja como for, o que considero importante é sair um pouco da sua zona de conforto atual e desenvolver mais habilidades e conhecimentos, enquanto me divirto.
fonte