Game engines e Ferramentas

by 1 colaborador:

HTML5 game engines

A seguir estão alguns exemplos de game engines implementado com HTML5 e JavaScript:

HTML5 - Ferramentas para jogos

  • Clay.io: Distribuição, retenção, ferramentas de monetização e Social. Fácil integração de contas de usuário, recordes, realizações, promoção cruzada, pagamentos no jogo, análises, etc...
  • Pixi.js: Motor de renderização 2D usando WebGL com um fallback.
  • stat.js: Monitor de desempenho simples em JavaScript.

Tecnologias usadas

A seguir as tecnologias usadas no desenvolvimento de jogos.

  • Canvas: Graficos 2D
  • WebGL: Graficos 3D
  • Audio: HTML5 <audio> elementos, Web Audio API
  • WebSockets: pode ser usado para comunicação em tempo real entre um jogador eo servidor do jogo, para suportar jogos multi-player.
  • Node.js: Node é frequentemente utilizado como um servidor de jogo multiplayer, o controle da lógica e mexer nas ligações WebSockets para os jogadores. Ele pode ser usado para autenticação do jogador e do armazenamento de dados para o jogo pode persistir durante várias sessões de jogo. Isso tudo é relativamente fácil com grandes módulos de terceiros, como Socket.IO para WebSockets, e outros que lidam com Redis e MongoDB para o armazenamento, por exemplo.
  • DOM Storage É ótimo para armazenar dados localmente no dispositivo do jogador. Desta forma, você pode armazenar em cache os dados do jogo e permitir que o jogo retorne  onde o jogador parou.
  • O Full Screen API permite expandir qualquer elemento HTML para preencher a tela do usuário, mesmo se o navegador não está sendo executado em tela cheia em si.
  • Application cache: Uma das principais diferenças entre os aplicativos da Web e aplicativos nativos é que os aplicativos nativos podem ser executados offline. Novas tecnologias, como o cache do aplicativo permitir um website ou uma aplicação Web para armazenar em cache activos necessários para que ele ainda pode executar enquanto offline. Isso inclui coisas como arquivos JavaScript, CSS e imagens. Combinar esta técnica com o uso inteligente de coisas como localStorage permitirá que o seu jogo para continuar a trabalhar, mesmo que a conexão com a Internet cai. Você só sincronizar todas as mudanças quando fica ligado novamente.
  • Emscripten permite portar um jogo escrito em C ou C + + sobre o JavaScript. O jogo Bananabread é baseado em Emscripten.

Não são todos os navegadores que suporta todas as partes do HTML5. Por exemplo, a tela não é suportado out of the box por qualquer Internet Explorer abaixo a versão 9. No entanto, você pode usar o Canvas Explorer para replicar a funcionalidade de tela, mas não é ideal e não funcionar tão bem. WebSockets é suportado pelo IE só no IE 10, e não é compatível com o navegador estoque do Android. Mas, novamente, você pode fingir isso usando o Flash para os soquetes, como com Socket.IO. WebGL também tem suporte irregular com absolutamente nenhum apoio no IE, e Safari e Opera requerem construir um desenvolvimento.

Game template

Você pode usar o modelo Mortar Game Stub  para obter um início rápido em um jogo de HTML5, ou você pode usá-lo para obter idéias sobre as melhores práticas.

Novas APIs

  • O Gamepad API é uma das principais melhorias de entrada que está a chegar. Google e Mozilla estão trabalhando em implementações deste e há realmente uma construção experimental do Firefox disponível para o público que tem que trabalhar. O que é mais interessante sobre o Gamepad API é que ele pode ser apenas o que finalmente justifica jogos HTML5 em uma TV ou console. Quem quer usar um teclado e mouse enquanto está sentado no sofá?
  • O Pointer Lock API É uma tentativa de melhorar o mouse como um dispositivo de entrada. Seria utilizado em situações como jogos e visualizações 3-D em que a posição do mouse gira ou move em torno de um espaço de 3-D. Tal como está, ainda haveria um cursor se movendo ao redor da tela causando todos os tipos de problemas quando você quiser clicar em algo no seu jogo. Com a nova API é possível bloquear a posição do mouse e parar de ficar no caminho e ser um incômodo.

Etiquetas do documento e colaboradores

Etiquetas: 
Contributors to this page: marcos_oliveira
Última atualização por: marcos_oliveira,