Como sei se devo ou não usar um mecanismo de jogo? Eu quero fazer um jogo 2D relativamente complexo para Android. Quais fatores devo considerar para decidir se deve encontrar, instalar e aprender um mecanismo de jogo ou simplesmente fazer tudo manualmente?
game-design
cstack
fonte
fonte
Respostas:
Vantagens:
A maioria, se não toda a codificação, é feita para você, então você só precisa se preocupar com conteúdo, layout de nível etc.
Nessa linha, gerenciamento de memória, carregamento de ativos, iluminação (em motores complexos) etc. foram todos projetados e testados minuciosamente (espero).
Como mencionado abaixo, se o mecanismo for multiplataforma, você precisará fazer pouco ou nenhum trabalho para portar seu jogo.
Desvantagens:
Não deixe que a lista de desvantagens seja maior: quando o tempo gasto em codificação e teste de todos os sistemas necessários for muito longo para o seu ciclo de produção ou se você tiver mais habilidade com arte do que com código, usar um mecanismo de jogo definitivamente uma boa ideia.
Uma comparação de mecanismos de jogos está em andamento nesta questão: Prós e contras de vários mecanismos de jogos 3D
fonte
No meu caso, passei muito tempo (meses) me debatendo sem fazer nada por causa dos mecanismos de jogo. Agora, normalmente, eu os evito como uma praga, embora entenda que eles devem ser usados com sabedoria e com moderação.
Para mim, eu ficaria obcecado com todas as possibilidades ! Olhando para uma longa lista de recursos no mecanismo X, é como "Uau, eu poderia fazer tudo isso! Meu jogo pode ser ótimo!" Então, eu baixava, executava as demos e ficava deslumbrado com esses recursos em ação, etc. Depois, criava um novo projeto no meu IDE e não sabia por onde começar. Eu escrevia um código, talvez eu aprendesse e o baseasse nos projetos de demonstração, mas esses eram apenas demos.
Eu não sabia como começar do nada e fazer alguma coisa. Eu não sabia o primeiro passo. Eu amei a idéia de um mecanismo, ele me impressionou e me motivou a fazer algo, mas meu conhecimento do desenvolvimento real era tão limitado que, mesmo depois de saber como adicionar o mecanismo ao caminho da construção, e talvez escrever algumas linhas para iniciar o motor e, em seguida, desligue-o novamente, além do que nunca fiz nada valer a pena.
Eu sou muito mais um tipo de pessoa que ama bebê. Prefiro fazer meu próprio jogo um passo de cada vez, refatorando funções úteis e coletando essas funções em uma biblioteca que um dia eu poderia considerar um "mecanismo". Então, por enquanto, evito o hype do motor e fico com as coisas de baixo nível.
E os motores têm seu lugar. Se você encontrar um motor e pensar: "É exatamente isso que eu escreveria! Eles já fizeram o trabalho para mim, não preciso reinventar a roda e sei exatamente como encaixá-la no jogo. que eu já comecei [ou pelo menos totalmente planejado e estou pronto para começar] ", então provavelmente é um bom ajuste. Você saberá exatamente como usá-lo e como escrever seu próprio código para usar o mecanismo para criar algo útil. Mas se você pegar um motor apenas porque ele tem tudo, menos a pia da cozinha e você acha que está de pé sobre os ombros de gigantes, está enganado. Você tem um gigante em pé à sua frente e precisa subir até os ombros.
Portanto, a enorme desvantagem para mim: não seja pego em todas as coisas que você poderia fazer. Qualquer que seja o motor que você escolher, ele terá muito potencial. Mas se você não sabe como aproveitar o potencial, se isso não facilita a sua vida ou ajuda você a fazer seu trabalho, por que está usando?
fonte
A maior desvantagem de um mecanismo de jogo é que você precisa aprendê-lo. Se você é iniciante em programação em geral, isso ainda pode ser mais rápido do que aprender a escrever código para fazer tudo o que um mecanismo lida com você imediatamente, mas se você tiver experiência, não custa tempo para sentar. para baixo e comece a codificar, mas com uma quantidade razoável de tempo de antecedência para aprender a usar um mecanismo desconhecido.
A principal coisa a procurar é o suporte, porque os mecanismos de jogo não são perfeitos e eles não leem sua mente, e você ficará preso em ALGO em algum momento. Tão:
fonte
Como alguém que tem muita experiência em desenvolvimento de software e que realmente tentou desenvolver um jogo recentemente, aqui estão meus 2 centavos.
As respostas até agora forneceram longas listas de prós e contras. Vou fornecer o que, para mim, é a razão mais importante para NÃO usar um mecanismo de jogo. Como eu assumi a tarefa de aprender a escrever um jogo apenas para desafio e recompensa, decidi fazê-lo do zero sem nenhum mecanismo, apenas OpenGL e SDL, porque queria aprendertudo acima desse nível de abstração. Em nenhum momento me arrependi dessa decisão. Meu jogo é uma boa versão de rolagem de asteróides 2D, básica, mas suave. Não estou tentando competir com jogos muito superiores, mas distribuo meu jogo e as pessoas gostaram de jogá-lo. Vou adotar a mesma abordagem para tornar o jogo multi-jogador. Esse é um grande desafio, e o uso de bibliotecas pode facilitar, mas meu objetivo não é facilitar. Meu objetivo é aprender, e para mim é uma atividade de meio período, por isso não tenho muito tempo e o progresso é lento. Mas tenho minhas razões para essa abordagem. Chame de "ensino superior".
Então, responda sua própria pergunta, você quer aprender como fazer o que o mecanismo de jogo faz por você pelos benefícios que esse aprendizado pode trazer? Nesse caso, não use um mecanismo de jogo.
fonte
Você precisa detalhar o que você quer dizer com "complexo". Um bom mecanismo de jogo cuida de tudo o seguinte:
Pense: sei como codificar cada um deles? Quanto tempo levarei para programar cada um e quanto tempo levarei para aprender como fazer um mecanismo executar cada um deles?
fonte
A maior vantagem: muitas coisas são feitas para você. Você não precisa continuar reinventando a roda.
Outra vantagem: o mecanismo do jogo também pode ser multiplataforma (Unity).
Desvantagens? Ao controle? O mecanismo está cuidando de algumas coisas para você (como a renderização); portanto, se houver bugs ou problemas de desempenho, você não poderá simplesmente consertá-lo.
fonte