Quais são as vantagens e desvantagens de usar um mecanismo de jogo? [fechadas]

28

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?

cstack
fonte
Não tenho certeza se o design do jogo é a melhor tag, aqui; mas o mecanismo foi colocado na lista negra. Esta questão provavelmente deve ser excluída.
Gnemlock

Respostas:

25

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:

  • Se você está modificando alguma coisa, agora precisa se familiarizar com uma nova base de código.
  • Se houver um erro no mecanismo, a menos que seja de código aberto, você não poderá corrigi-lo.
  • O mecanismo não foi projetado especificamente para o seu jogo, portanto, pode ser menos eficiente do que o código que você escreve especificamente para o seu jogo.
  • Os mecanismos de jogo geralmente não são gratuitos.
  • Se um jogo é pequeno, a sobrecarga do uso de um mecanismo pode não valer o tempo investido para você escrever o código.
  • Se o seu mecanismo de jogo também tiver editores ou ferramentas, você precisará criar e testá-los também antes de entregá-los a artistas ou confiar neles.

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

Sean James
fonte
3
Essa é uma resposta muito boa no geral, mas franzi minha sobrancelha na primeira frase. Eu sugeriria fortemente que se reformulasse "A maioria, se não toda a codificação, é feita para você" para "A maior parte da codificação de baixo nível é feita para você"; é enganoso a ponto de irresponsável perpetuar o mito de "criar um jogo sem necessidade de codificação!"
Jhocking
Além disso, o mecanismo pode restringir o que você pode fazer com facilidade - por exemplo, muitos não suportam terrenos modificáveis ​​no estilo Minecraft ou Dwarf-Fortress. O que é bom para jogos que não precisam, mas boa sorte ao criar um clone do Minecraft.
user253751
15

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?

Ricket
fonte
4

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:

  • Existe documentação?
  • A documentação é realmente boa?
  • Existe suporte técnico (geralmente não, a menos que você esteja pagando por isso)? Qual é o tempo de resposta?
  • Existem fóruns da comunidade onde você pode postar perguntas e obter respostas reais?
  • Existem tutoriais que mostram como começar a usar o mecanismo? O código-fonte de amostra está incluído? Quão útil você acha isso para acelerar?
Ian Schreiber
fonte
2
+1 por colocar a documentação com destaque na frente ... é aí que muitos mecanismos de jogos de código aberto falham
LearnCocos2D
3

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.

Ciaran
fonte
2

Você precisa detalhar o que você quer dizer com "complexo". Um bom mecanismo de jogo cuida de tudo o seguinte:

  • Renderizando em uma taxa de quadros estável
  • Manuseio de entrada
  • Interface de usuário
  • Sons / música
  • Gerenciamento de recursos (imagens, som, arquivos de dados)
  • Salvando / carregando seu jogo
  • Física (2d ou 3d)

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?

zaratustra
fonte
1

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.

Bryan Denny
fonte