August 26, 2019

Please reload

Posts Recentes

Criar um Game Engine do zero ou usar um existente?

April 10, 2017

Vamos começar definindo o que é um game engine: um software que vai ter diversos aspectos técnicos pré-prontos, tais como poolling the comandos para controle, criação de delimitações de tamanho de tela(resolução), sobrescrever o refresh rate(frames por segundo), e pode ter outras facilidades, como ferramentas de desenho e métodos de acesso a memória do computador (não se esqueça que um console nada mais
é que um computador dedicado a uma única funcionalidade: executar jogos).

Sua necessidade se deu bem cedo na história dos games. Imagine que você é um programador, em 1981. Não existem engines e você acaba de codificar Pac-man. Algumas semanas depois, seu chefe vira pra você e diz: "Pac-man é um sucesso. Vamos fazer outro jogo igualzinho, mas com um gato e um rato."
Bom, lá vamos nós, escrever tudo de novo, copiando e colando tudo o que é comum a todos os jogos... "Ah! mas esse jogo precisa de um detalhezinho diferente!"
E essa história se repete para os próximos 5 jogos lançados. Chega uma hora que se perde mais tempo codificando coisas que são comuns a todos os jogos do que desenvolvendo o jogo em si. (Se você tem curiosidade sobre as histórias da época, procure a história da criação do famicom e das suas ferramentas de desenvolvimento, é interessante ver como a escolha do processador forçou o desenvolvimento de uma engine).

 

 



Hoje em dia existem várias engines no mercado, algumas gratuitas, outras com preços acessíveis, e outras cuja licença de uso só pode ser adquirida por grandes empresas. Você pode escolher uma se baseando nas necessidades do(s) seu(s) projeto(s).

Ou, você pode escrever sua própria engine... O que eu acho completamente desnecessário.

A não ser que você tenha uma necessidade MUITO específica, e esteja fazendo algo muito diferente com o seu jogo, escrever uma engine do zero vai ser um grande teste de paciência, de capacidade de programação, de poder de resolução de problemas lógicos, e um enorme dreno do seu recurso mais importante: tempo.

Durante este tempo você não estará desenvolvendo o seu jogo. Por que uma engine não pode se fechar para atender somente a um jogo. Então todas as idéias que você tiver que sejam específicas demais, você vai ter que anotar e deixar pra quando a engine estiver pronta. Sua engine vai ter que ser pensada para ser
genérica o suficiente para atender várias situações, e muitas vezes você não vai nem saber que situações são essas.... vai ser um exercício de tentativa e erro misturado com um pouco de "bola de cristal".

Então, criar um jogo =/= criar uma game engine. Talvez você já deve ter ouvido a máxima "Não reinvente a roda". É isso que se ouve o tempo todo num curso de programação. Então, se você for um programador e quiser criar jogos, crie jogos. não reinvente a roda.

"Ah, mas eu não sou programador."

2 opções: contrate um, ou aprenda.

Quer aprender?
https://inventwithpython.com/

Aprenda os básicos aqui, para entender o que é necessário, e depois volte aqui, por que eu vou falar sobre a escolha de linguagens de programação e game engines.

Share on Facebook
Share on Twitter
Please reload

Siga
Please reload

Procurar por tags
Please reload

Arquivo
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square

© 2018 por DoutorSocial.