Conhecimento essencial para criar jogos baseados em HTML / JavaScript [fechado]

17

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?

Edmundito
fonte

Respostas:

9

Você deve estar ciente das tags de áudio e vídeo . O Armazenamento na Web é bastante crítico se você precisar salvar muitos dados para jogos salvos, etc.

Já existem algumas estruturas de jogos Javascript html5, o Akihabara é bastante popular.

Quanto a outras bibliotecas, Jquery e Javascript funcional são dois dos meus favoritos.

jdeseno
fonte
quais são os pontos fortes de cada estrutura? Qual é o mais simples, o mais robusto e com o código mais limpo? A palavra "Funcional" no termo Javascript funcional parece interessante, sobre o que realmente é? Qual estrutura você sugeriria ao pythonist?
o que o armazenamento na Web fornece que um banco de dados não pode?
expiredninja
@expiredninja, um banco de dados seria realmente melhor, mas o armazenamento na web é local na máquina do usuário. Sem hospedagem e mais rápido do que fazer chamadas ajax, etc. Essa resposta está (um pouco) desatualizada com as técnicas usadas em jogos modernos baseados em navegador.
jdeseno
6

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.

chiguire
fonte
4

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.

drhayes
fonte
3

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.)

DariusK
fonte
3

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.

Daniel X Moore
fonte
1

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.

John Haugeland
fonte
4
Concordo que a pergunta é vaga e as respostas estão por todo o lado, mas discordo que "HTML e [JS] são ... más plataformas para o desenvolvimento de jogos". Lembra-se do doodle Pac-Man do Google? HTML direto e JS. Eu acho que um certo tipo de jogo casual funciona muito bem nessa plataforma, e os humanos que usam a Web já têm o tempo de execução. (=
drhayes
1
Uau, pac-man. Inovador. Há uma razão pela qual ninguém usa HTML / JS nos jogos para outras coisas que não sejam demonstrações de tecnologia.
31710 John Haugeland
1
@ Edmundito: Se é assim que você acha que essa 'pergunta' deve ser, ela deve ser marcada como CW.
Jesse Dorsey
12
-1 resposta inútil. Se sua opinião é que os jogos na web não são uma boa plataforma, sente-se. Não sei por que isso levou tantos votos positivos, talvez outras pessoas compartilhem suas opiniões, mas isso não contribui para responder a essa pergunta.
Ricket 9/08/10
1
Gente, pare de fúria. A resposta foi muito diferente em 2010 do que é hoje em 2014. Eu tenho vários jogos de HTML na loja agora.
precisa