Olá, Web Developers!
Podemos usar o elemento do HTML5 para criar jogos com JavaScript. Para nos ajudar com tarefas triviais (como gerenciamento de som, animações, física, etc) foram criadas game engines. Listarei as principais.
Curso Kotlin - Fundamentos
Conhecer o cursoMelonJS
O melon.js é um framework leve, bem simples de se usar e gratuito. Ele também possibilita a integração com ferramentas de terceiros, aumentando o seu poder.
Para a criação das telas, usa-se o http://www.mapeditor.org
Você pode testar um dos jogos criados com melon.js neste link: http://melonjs.github.io/tutorial-platformer/tutorial_step9/index.html
PlayCanvas
O PlayCanvas nos permite criar jogos 2D e 3D com JavaScript. Ele é gratuito e open source.
Você não precisa baixar nada! O PlayCanvas possui um tipo de IDE que roda diretamente no seu navegador. Todo o código fica armazenado no sistema deles. Ele suporta vários tipos de arquivos, incluindo objetos 3D.
Se você criar uma conta gratuita, seus projetos ficam públicos e terá um limite de 200MB de armazenamento. Para criar projetos privados, é necessário pagar um plano. O plano pessoal é de $15 por mês.
Quando quiser publicar seu jogo, você pode optar por deixá-lo hospedado no PlayCanvas ou baixar o projeto e hospedar onde quiser.
ImpactJS
O Impact é uma das engines de jogos para JavaScript mais conhecidas. Ele é bem leve, poderoso e simples de aprender a usar. Possui seu próprio editor de telas, ferramentas de debug e teste de performance.
A comunidade é bem ativa. Ele também possibilita a criação de Plugins. O mais famoso é o Impact++ (http://collinhover.github.io/impactplusplus/). Esse plugin gratuito acrescenta várias funcionalidades avançadas para você utilizá-las de maneira bem simples.
O valor da licença é de $99. Se você pretende ganhar dinheiro com jogos para HTML5, é um bom investimento.
Phaser
Outra engine bem conhecida é o Phaser. Ele é gratuito e está sempre sendo atualizado pela comunidade no github.
O Phaser também oferece o Phaser Sandbox, que te permite escrever código diretamente do navegador e testá-lo para não precisar baixar nem instalar nada. Depois você pode baixar o código se quiser. E tudo isso sem precisar se cadastrar! Isso é ótimo para quem quer experimentar o Phaser.
Também há o Phaser Editor, que é uma IDE baseada no Eclipse para a criação de jogos com Phaser. Porém, ela é paga ($30).
Conclusão
Se você está pensando em começar a desenvolver jogos, saiba que o conceito é sempre o mesmo. Isso significa que se você aprender a usar o ImpactJS, terá facilidade em usar o Phaser e vice-versa.
Minha linguagem de programação principal é o JavaScript, mas eu só recomendo o uso dessa linguagem no desenvolvimento de jogos se o seu alvo for apenas o navegador. O código fica leve, o jogo carrega muito rápido e é bem simples de fazer testes com as DevTools do navegador.
Se o seu alvo não for o navegador ou quiser desenvolver para várias plataformas, eu recomendo usar game engines como o Unity3D. Ele exporta código nativo para mais de 25 plataformas diferentes, incluindo HTML5 (WebGL). Isso fará seu jogo ter mais performance do que um jogo escrito com JavaScript exportado como um aplicativo híbrido, sem contar nas várias funcionalidades que o Unity fornece para a criação de jogos 2D e 3D.