Pergunta

Codificar um novo motor 3D é fascinante, mas eu existem muitos por aí. É sã para um programador iniciar um novo? Existem seções do setor em necessidade?

Foi útil?

Solução

Existem muitas razões para construir um novo motor 3D (em nenhuma ordem específica):

  • O antigo é um atirador de primeira pessoa, mas você deseja um simulador de voo.
  • O antigo funciona, mas não é fácil de usar ou tem muitos insetos
  • Outra pessoa possui o antigo
  • O novo recurso de hardware XYZ é fundamentalmente incompatível com o mecanismo antigo
  • Alguém está pagando para você construir um
  • Você nunca construiu um antes.
  • Seu jogo (simulação) precisa apenas de χ, mas o motor antigo fornece χ, ψ, ζ, α, β, γ, δ e até π.

Por acaso, estou construindo um motor 3D baseado em OpenGL no meu tempo de folga agora. Ao implementá -lo, estou expandindo meu conhecimento básico do OpenGL muito mais do que teria programando a interface de outra pessoa (muito mais do que eu quando implementei meu próprio mecanismo mapeado de textura afim do software anos atrás). A desvantagem é que talvez nunca terminei :)

Outras dicas

Razões para fazer isso:

  1. Você quer aprender sobre como fazer um mecanismo 3D e realmente não se importa se alguém, exceto você, usa.
  2. Nenhum dos motores existentes faz o que você deseja e é muito difícil modificar o código -fonte deles (se você pode obtê -lo).
  3. Você tem uma ideia tão incrível e nenhum outro motor fez isso para que você precisar Para fazer isso, porque tudo o que você está fazendo ainda não existe.

Razões para não fazer isso:

  1. Você não tem o suficiente desses recursos: tempo/orçamento/experiência.
  2. Um motor existente se adapta perfeitamente às suas necessidades.

Geralmente, você codifica um se precisar de um e ainda não existe um que atenda à sua necessidade.

Existe alguém por aí que precisa de um motor construído para eles, porque não existe um que atenda às suas necessidades? Provavelmente.

Isso é altamente semelhante à pergunta Devo escrever meu próprio programa/tecnologia/estrutura x em vez de usar um existente? " E isso foi solicitado a abundância, para que eu não analisei os motivos habituais de caldeira.

Embora a resposta a essa pergunta seja sempre um pouco subjetiva, muito depende do contexto em que é feito.

Se está sendo perguntado ao longo de Eu quero aprender sobre motores de jogo e renderização Então sempre pode ser benéfico escrever seu próprio mecanismo de jogo, pois o desenvolvimento do código é sem dúvida a melhor maneira de aprender. No entanto, já pode existir bons mecanismos bem documentados de origem aberta para aprender também.

Se for um empreendimento comercial, é mais uma questão de saber se um mecanismo existente fornece ou não o que é necessário. Os motores comerciais modernos são escritos por algumas pessoas verdadeiramente brilhantes e contêm todos os últimos sinos e assobios, por isso é mais do que provável que eles sejam suficientes. Isso é evidente pelo grande número de jogos que foram desenvolvidos em dois dos mecanismos de jogo mais populares: IdTech e Unreal Engine. No entanto, ainda pode não haver fatores de proibição relacionados à tecnologia para usar um mecanismo existente em que escrever o seu é melhor. Como se pudesse se dar ao luxo de ser feito, se o motor pode ser licenciado adequadamente e, se a licença puder ser concedida.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top