Game Engines: O que são? Onde Vivem?

Ricardo Ribeiro / 4 de setembro de 2017 / Game Design

Salve Veiarada!

Todos nós aqui curtimos games, certo? Mas e se eu te dissese que você pode construir seus próprios jogos?! Calma, calma…. não estou dizendo pra você chutar seu patrão e largar a escola pra virar um game designer.

Juntos poderemos aprender mais, seja para desenvolver nossos jogos como um hobby ou mesmo para ter bala na agulha pra poder descer a lenha naquele jogo preguiçoso que foi lançado com preço de triple A. E ai que tal? Se a ideia de aprender mais sobre o desenvolvimento de jogos pareceu bacana então fica de olho no site que a coluna tá só começando! Chega de introduções e bora pro tema de hoje que é: Game Engines.

Como tudo começou

Naquele passado remoto conhecido como nossa infância, videogames como o Super Nintendo e o Mega Drive possuiam um poder de processamento tão baixo que o código por trás dos nossos saudosos games tinham de ser escritos do zero, otimizados para cada mecânica. Além do mais, eram usadas linguagens de programação de baíxissimo nível como o Assembly que, botando em termos simples, é como se ao invés de termos que pisar no acelerador para fazer o carro andar, tivéssemos de ativar cada função do motor individualmente e no tempo certo para não afogar o carro ou explodir esse motor. É… não era moleza.

Onde você vê códigos em assembly só vejo loiras, morenas, rui… é… só código mesmo 🙁

Felizmente esses tempos das trevas ficaram para trás e hoje após muito sangue de programador ter sido derramado em oferta aos deuses da linguagem de máquina, finalmente surgiram linguagens de mais alto nível como C#, Javascript, Python que permitem que o desenvolvedor veja resultado muito mais rápido e que nossos jogos tenham funções muito mais complexas em termos de mecânica e inteligência artificial.

Ok, mas o papo não eram game engines? Sim! É exatamente nesse ponto da história que a evolução das linguagens permitiu que o código dos jogos se tornasse mais flexível e que suas funções básicas pudessem ser reutilizadas. Uma engine nada mais é do que uma base na qual seu jogo será construído, servindo de intermediária entre o que você quer que o jogador veja exibido na tela e as funções de hardware necessárias para que isso aconteça.

Conheça as Engines atuais

Existem muitas engines no mundo lá fora mas, separei 3 que são de fácil acesso e podem se adequar melhor ou pior dentro do seu próximo projeto de jogo. O resumo que eu botei aqui embaixo é bem enxuto mas posso detalhar (e ensinar como se usa) em posts futuros:

Unity 3D – A mais versátil das engines. Dá pra usar ela na construção de qualquer gênero, 2D ou 3D, pra mobile ou console. São dezenas as plataformas para a qual essa ferramenta pode exportar. Exige conhecimento em linguagens de programação que pode ser C#, JavaScript e Boo (variação do Python). Por ser a engine que eu uso no trabalho, se houver o interesse posso fazer alguns tutoriais sobre.

Unreal – O ponto forte desta é engine é sem dúvida seus gráficos espetaculares, sério, parece magia a forma como ela consegue renderizar tantos objetos simultaneamente e em tempo real. Ideal para jogos 3D, principalmente FPS e ação em geral mas particularmente, acho ela meio travada para a maioria dos gêneros.

Construct – Engine ideal para quem tem aquela ideia de jogo retrô 2D de plataforma. Esse software é muito, muito simples de mexer e com ajuda dos exemplos que ele disponibiliza dá pra ver um protótipo funcionando dentro de poucas horas de uso. Interessante para hobbystas com pouco tempo para aprender e não tão ideal para quem quer fazer jogos realmente profissionais.

Sendo usuário do Unity desde sua versão beta, acho que não consegui deixar de transparecer meu amor pela engine e desdém pelas concorrentes, mas não leve minhas palavras tão a sério! Todas são realmente boas no que se propõe a fazer e tem jogos no mercado para provar que nada é impossível.

Glossário para véios

Assembly – linguagem de programação ancestral que se comunica diretamente com os componentes eletrônicos do videogame/computador. Foi utilizada na construção de todos os jogos de NES, Mega Drive e Super Nintendo.

C#, Javascript, Python – são exemplos de linguagem de programação muito usadas hoje em dia em jogos e softwares em geral.

Game Designer – profissional que trabalha com o projeto do jogo. Pode também ser artista, programador ou nenhum deles, já que sua função primária é balancear mecânicas e garantir que o jogo seja envolvente.

Hardware – a parte física do computador ou videogame, tudo aquilo que você pude chutar.

Linguagem de Programação – regras e conjuntos de código escritos por programadores e interpretados pelo computador para executar simplesmente tudo que acontece em termos eletrônicos. O termo “linguagem de baixo ou alto nível” não significa que ela seja mais ou menos evoluídas, mas sim, quão direta é a sua relação com os componentes eletrônicos, sendo as de baixo nível mais próximas da máquina.

Mecânicas – conjunto de regras, restrições e objetivos de um jogo ou gênero.

Renderização – Processamento de dados que gera uma imagem ou uma sequência delas na tela do computador. Cada uma dessas imagens pode levar horas para ser renderizada (animações) ou pode ser gerada em tempo real (jogos).

Nos próximos posts pretendemos analisar o game design de jogos véios, dar dicas de arte, programação ou como usar as engines. O direcionamento que vamos dar aqui vai depender do feedback de vocês, não deixem de comentar!

Compartilhe com a galera:

FacebookTwitterGoogle+

Leia mais sobre: ,


Leia a Revista Jogo Véio

Revista Jogo Véio - Gratuita, pra ler no PC, no Tablet e no Smartphone

Junte-se ao Asilo