Fiquei imaginando se algum especialista poderia compartilhar o conhecimento e os recursos do que é necessário para começar a criar jogos com os mais recentes padrões HTML e JavaScript (ou como alguns chamam de HTML 5). Existem bibliotecas JavaScript essenciais para o processo? Além da <canvas>
tag, de que outras partes do HTML precisamos estar cientes?
web
html5
javascript
Edmundito
fonte
fonte
Já existem algumas estruturas: GameQuery e Akihabara , que é um plug-in para o jQuery executar algumas atividades relacionadas ao jogo, como animações, sprites de agrupamento, detectar colisões e ler a entrada do jogador.
fonte
Apenas para lançar mais recursos, confira o RaphaelJS . É uma biblioteca de desenho e animação SVG muito boa que possui uma API agradável. Não se esqueça de conferir as demos.
No geral, eu recomendaria
<canvas>
tags sobre a manipulação direta do DOM (por exemplo, criar cada sprite<div>
para tornar o teste de resultados incrivelmente simples). É fácil errar e ter um desempenho ruim da manipulação do DOM, enquanto as estratégias tradicionais de desenvolvimento 2D funcionam bem em uma tela HTML.fonte
Além de algumas das estruturas de criação de jogos existentes, você deve estar ciente do Burst Engine, que é uma estrutura JS para exibir animações baseadas em SVG em uma tela HTML5:
http://burst.bocoup.com/
Até agora, já vi pessoas mencionando as tags Por exemplo, ele pega o primeiro elemento da tela que pode encontrar e o configura para que, quando você clicar na tela, chame uma função que você definiu chamada "shootAtClick":
document.getElementsByTagName ("CANVAS") [0] .addEventListener ('mousedown', shootAtClick, false);
Você pode vê-lo em ação neste exemplo, onde estendi o mecanismo Akihabara para aceitar o controle básico do mouse. (Pressione Z para começar, use as setas para mover, clique com o mouse para disparar na direção do cursor.)
fonte
Conhecimento de quais componentes HTML5 são suportados em quais navegadores.
Embora a compatibilidade entre navegadores esteja ficando cada vez melhor e mais uniforme com o passar do tempo, alguns dos componentes mais recentes ainda não são totalmente compatíveis.
O armazenamento local pode ter algumas diferenças específicas do navegador e, para suporte legado, você definitivamente precisará de uma biblioteca como o jStorage ou o YUI Storage Lite .
Os soquetes da Web também podem ter diferenças específicas do navegador, mas o socket.io parece uma biblioteca promissora que fornece uma abstração conveniente.
A compatibilidade de áudio é um componente bastante importante que requer arquivos de som diferentes para diferentes navegadores: http://html5doctor.com/native-audio-in-the-browser/
O Chrome possui alguns bugs de áudio significativos, como não conseguir reproduzir arquivos de áudio curtos , e a reprodução de muitos sons simultâneos pode travar o navegador inteiro.
O principal é entender as diferenças do navegador, usando bibliotecas para abstrair e fornecer suporte legado, conforme necessário.
fonte
HTML e JavaScript são plataformas honestamente ruins para o desenvolvimento de jogos, mas isso não importa até que você decida sobre um tipo de jogo. A resposta seria radicalmente diferente para um jogo de tiro em primeira pessoa, um RTS ou um jogo de quebra-cabeça.
Observe que você está começando a receber respostas vagas e ondulantes, lançando tecnologias aleatórias que parecem legais. Esse é um sinal de aviso de que você não fez uma pergunta com uma resposta particularmente legítima.
Você também pode perguntar quais itens C ++ você precisa para escrever aplicativos. Depende. Conte-nos mais sobre o projeto e você poderá obter uma resposta útil.
No geral, há uma razão para que quase todos os jogos da web ainda sejam Flash.
fonte