O HTML5 é uma tecnologia que possibilitou a realização de jogos para a internet por trazer diversos recursos como suporte a Canvas (desenho e animações), Web Socket (comunicação bidirecional entre servidor e cliente) e Web Worker (Threads para a Web). Há ainda a API Web Audio que possibilita o processamento de som no navegador, mas esta API ainda não recebe um suporte amplo pelos navegadores. No entanto, para se decidir se vale a pena fazer um jogo em HTML há algumas considerações que devem ser feitas.
A primeira consideração a se fazer é que para desenvolver jogos em HTML há a necessidade de um servidor Web. Toda comunicação via web acontece usando o protocolo HTTP, e por isso, para que a transferência de arquivos ocorra sem problemas é necessário que haja um servidor Web. O propósito deste tipo de aplicativo é servir arquivos a navegadores e por isso ele tem suporte a HTTP. O acesso a arquivos locais não acontece via HTTP, mas sim, via o próprio sistemas de arquivos da máquina local e, por isso, é limitado pelos navegadores que o restringem severamente por motivos de segurança, evitando que códigos executados pela internet possam manipular arquivos de internautas remotamente.
Outra coisa a se ter em mente é o desempenho. O desenvolvimento de jogos em HTML 5 acontece via javascript, que é uma linguagem interpretada. Por mais que nos últimos anos o desempenho das máquinas virtuais javascript tenha melhorado bastante, ainda assim é complicado fazer um jogo que exija muito processamento. O fato é que o navegador representa uma camada entre o sistema operacional e o código do usuário e muitas otimizações acabam ficando de fora desta camada por serem inviáveis no momento atual. Contudo, como os processadores evoluem a cada ano, cada vez menos essa restrição do processamento será importante. Uma outra tecnologia que vem ao auxílio neste aspecto é a computação via nuvem que permite que cálculos pesados sejam executados remotamente. O empecilho para o uso dessa tecnologia em jogos ainda é a latência e largura de banda que ela necessita, pois nem todos os lugares dotam de acesso a internet rápido e com baixo lag.
Um outro fator importantíssimo é a disponibilidade de ferramentas, como IDEs e outros programas de apoio. Apesar do ambiente de desenvolvimento para a internet ter melhorado bastante nos últimos anos, há uma carência de ferramentas de apoio que agilizem o processo de se fazer jogo online. Há, de fato, franeworks para jogos e também a nova versão da Unity (5) tem suporte a WebGL, mas uma ferramenta que auxilie nos testes, depuração e que tenha recursos que facilite mexer com algum framework ainda é um desejo de muitos.
Uma palavra de aviso: Esses são os principais fatores para se levar em conta no desenvolver um jogo em HTML. No entanto, se você ponderou e mesmo assim quer desenvolver um jogo usando HTML, nem que seja só para comprovar ou desmentir os pontos que trouxe aqui, fique a vontade. A comunidade sempre precisa de mais material e feedback dos seus membros para melhorar, evoluir e se desenvolver.
APIs para desenvolvimento de jogo em HTML
Gamepad API: https://www.w3.org/TR/gamepad/
Mouse lock API:
Canvas (2d)
Webgl:
Veja mais
Jogos 2d Em Html 5
Jogos 3d Em Html 5
Programação Internet
Webgl
javascript
Bibliotecas e Frameworks para Html 5
Links
http://www.html5gamedevelopment.org: Site com tutorias, demos e notícias referentes a desenvolvimento de jogos em HTML
http://www.html5gamedevelopment.org/StateofHTML5GameDevelopment/#.VN1MGDW350w - Veja o estado atual em termos do desenvolvimento de jogos em HTML 5
http://html5gameengine.com/
http://clay.io/development-tools: Conjunto de ferramentas que auxiliam no desenvolvimento de jogos HTML 5