Jogos em Cordova: Desenvolvendo um jogo 2D com Enchat.js – Parte 2
O mercado de jogos movimenta milhões todos os anos e, longe de todo o complexo aparato estrutural usado por grandes companhias para criar jogos em 3D e com recursos gráficos cada vez mais robustos, quando se trata do mercado de jogos para dispositivos móveis, a indústria de jogos 2D é que ganha a preferência dos usuários com seus personagens simplistas e histórias bem elaboradas.
Ao mesmo tempo, e do outro lado do jogo, temos a “corrida do desenvolvimento”, a qual se destaca por empresas e profissionais autônomos dessa área que buscam incessantemente por tecnologias novas que possam atender aos objetivos programáticos dos produtos desenvolvidos de forma produtiva, rápida e eficiente. Isso quando estes mesmos profissionais não desenvolvem seus próprios frameworks e ferramentas para abraçar mais uma área dessa indústria rentável.
E quando se trata de desenvolvimento produtivo, cada vez mais empresas estão considerando a criação de aplicativos usando linguagens simples e fáceis de encontrar pessoal qualificado, como JavaScript, HTML5 e CSS. Isso é possível através de ferramentas que encapsulam o código fonte implementado via scripts e geram instaladores para os diferentes sistemas operacionais móveis do mercado, como Android, iOS, etc., abstraindo a comunicação que antes era feita totalmente de forma nativa, com códigos próprios de cada plataforma. O conceito se assemelha ao que temos em máquinas virtuais, porém com um trabalho de conversão feito antes do código chegar ao SO, ou seja, o código é convertido em “linguagem de máquina” (lê-se linguagem de dispositivo móvel) antes de ser gerado o instalador do aplicativo.
Dentre os diversos frameworks que trabalham dessa forma, um se destaca pelo suporte nativo ao SO, bem como por ter uma forte comunidade de desenvolvimento, trata-se do Cordova, da Apache. Este nada mais é que uma plataforma integrada que permite a construção de aplicativos móveis através da geração de WebViews e execução via JavaScript. Além disso, ele também permite que o desenvolvedor possa acessar recursos do dispositivo móvel via API, bem como fazer chamadas a código da plataforma em que irá rodar.
Neste artigo, faremos uso do Apache Cordova, em conjunto com o JavaScript, HTML5, CSS e o framework front-end Enchant.js para criar um jogo 2D do zero chamado “Fuga dos Dragões”, onde o jogador controlará um personagem principal (o dragão) que terá de desviar dos obstáculos (inimigos em formatos diversos, bombas, foguetes, etc.) que virão na horizontal em três linhas de frente e em uma velocidade pré-definida mais rápida que a do jogador. À medida que os obstáculos forem sendo desviados, o player irá acumular pontos e o jogo perdura enquanto o mesmo não for atingido. Uma vez em contato com um dos inimigos, o jogo termina, e é exibida a pontuação do jogador, junto com o seu melhor resultado. Isso será possível graças ao acesso nativo que faremos para salvar a informação no disco rígido do dispositivo. Para controlar o player, o jogador fará uso do clique do mouse, ou do toque na tela quando o mesmo estiver executando no celular, tablet, etc., em três regiões invisíveis criadas verticalmente para delimitar tais escopos físicos.
É importante salientar que nem todos os frameworks JavaScript trabalham com a criação de aplicativos responsivos (isto é, que conseguem se adequar aos diferentes tamanhos de telas dos diversos dispositivos móveis em que executam), por isso escolhemos o Enchant.js que irá atuar nessa frente, principalmente.
Para este artigo, serão pré-requisitos conhecimentos básicos nas tecnologias referidas. Entendamos, portanto, como funcionam os dois principais atores no desenvolvimento do nosso jogo.
O que é o Enchant.js?
O framework Enchant.js é uma engine de jogos baseada em JavaScript e HTML5 e uma bibli ...
Desbloqueie toda a DevMedia
-
+2000 artigos e vídeos
-
+40 trilhas sobre Front-end, Back-end, IA e muito mais
-
+5000 exercícios práticos
-
Mentorias ao vivo individuais
Confira outros conteúdos:
Programador Mobile
Desenvolvimento de aplicativos para...
Conceitos básicos para programar para...
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.