Quem nunca passou horas se divertindo em um game que o fez insistir em uma fase quase impossível de passar? Nossa geração desde cedo teve contato com jogos e esta é uma industria que cresce cada vez mais e tem chamado muita a atenção das mídias.
Iniciar no mundo da programação com desenvolvimento de jogos pode ser divertido e muito mais proveitoso para se ter noções da lógica de programação.
Sistemas mais complexos também tem sido desenvolvidos com HTML5 e javascript. Aliás, javascript é uma das linguagens mais utilizadas no mundo.
Tendo um conhecimento intermediário de javascript e HTML5, e uma engine que facilite no desenvolvimento, o limite para criação de um jogo passa a ser apenas imaginação!
Más por que em HTML5?
Em resumo, um jogo feito em HTML5 irá rodar em qualquer dispositivo com um navegador que suporte algum recurso, como computador, tablets e celulares.
Ou seja, desenvolva uma unica vez, e rode seu jogo em qualquer lugar!
O que é uma Engine?
Engine (ou motor) é um conjunto de códigos que executam todos os cálculos básicos para que um ambiente de jogo funcione.
Por exemplo, ao criar um jogo a engine é responsável por detectar se o jogador, se mover, bater, pular, simular sua velocidade e gravidade. Em um jogo de tiros, a engine é responsável por calcular a rota da bala e identificar se ela atingiu ou não o oponente.
Em resumo, a Engine tira do desenvolvedor todo o trabalho árduo de cálculos para que a física do jogo exista. Por exemplo no Phaser, definimos um jogador, seus inimigos e informamos à engine o que fazer quando os inimigos baterem no jogador, simples assim!
Engine para desenvolvimento de jogos com javascript
Existem dezenas de engine para desenvolvimento de jogos em javascript com HTML5. Algumas pagas e outras gratuitas. Neste site você pode encontrar várias delas e ver sua popularidade.
Um bom exemplo para aprender e desenvolver é a engine Phaser por ser totalmente grátis e a uma das mais completa.
Uma boa recomendação também é a PlayCanvas, suporta desenvolvimento de games em 3D, ambiente de desenvolvimento bem completo e todo on-line, comunidade ativa e é possível acessa o projeto dos outros desenvolvedores para pegar exemplos.