El uso de Javascript en la creación de videojuegos

En esta ocasión les hablaré del Desarrollo de Juegos con JavaScript. Y si, pudiera hablarles de desarrollo 100% nativo JS Vanilla o (Vainilla en español) pero me gustaría que vean un alcance más extenso de qué tan poderoso podemos llegar a ser sin irnos al extremo. De seguro encontraremos mucho más herramientas basadas en JavaScript (JS).

Cuando hablaba de desarrollar videojuegos con JS con un alcance más potente me refería a Phaser. Si nos vamos a el sitio oficial de este framework podemos ver que van por la versión 3. Fue desarrollado por Richard Davey. Podemos ver el repositorio del creador: Photonstorm al igual que el framework.

Phaser

Phaser es un Framework o Marco de Trabajo de HTML5 para Desarrollo de Videojuegos. O mejor dicho, Phaser es un marco de trabajo de HTML5 rápido, libre y de código abierto que ofrece WebGL y Canvas renderizado para correr sobre computadores y navegadores móviles. Los juegos se pueden compilar a iOS, Android y Aplicaciones Nativas utilizando herramientas de terceros. Puedes utilizar JavaScript o TypeScript para desarrollar. Tiene una comunidad estupenda. Es activamente desarrollado, actualizado y mantenido por Photon Storm. Como resultado de su rápido soporte y su amigable API. Actualmente, es uno de los estándares en marcos de trabajo para el desarrollo de videojuegos en GitHub. Miles de desarrolladores en todo modos de juegos como los indie y agencias multinacionales digitales, universidades alrededor del mundo, utilizan Phaser.

La versión 3.0.0 de Phaser fue oficialmente lanzada el 13 de febrero del 2018. Desde ese entonces, esta empresa ha trabajado duro arreglando todos los bugs o errores de esta versión, realizando parches y mejorando la documentación.

Para desarrollar videojuegos con Phaser, necesitamos Node JS instalado en nuestro computador, un editor de código; recomiendo utilizar VSCode; y aprender el lenguaje de programación JavaScript

En estos tiempos es necesario tener un Servidor Web instalado para desarrollar un videojuego de navegador. Esto es para la seguridad en el navegador y de tu computador. Cuando abres algo sobre la web estas utilizando el protocolo http. El nivel de seguridad del servidor es suficiente para que solo te permita abrir los archivos que se desean abrir. Pero cuando arrastras archivos desde tu carpeta se cargan como (file://) y está masivamente restringido, por obvias razones. Debajo de file:// no existe el concepto de dominio, no hay nivel de seguridad del servidor, solo archivos puros del sistema.

Tu juego va necesitar cargar todo tipo de archivos como: imágenes, audios, data en formato JSON y otro tipo de archivos de JavaScript. Para poder correr todo este material pesado necesitamos la seguridad del servidor web.

Existen muchas opciones de Servidores web como APACHE, Microsoft, Python, PHP, etc., pero yo recomiendo NodeJS por que es el que estudio. Adicional, ya que vas a desarrollar videojuegos basados en el lenguaje de programación JS, ¿adivina que? NodeJS es JavaScript.

Su API y funcionamiento está en ese lenguaje así que será más rápido tu desarrollo y curva de aprendizaje. De esta manera, aumentas el alcance de tu desarrollo tanto en el juego visual (en la parte del cliente), como en el backend. Aumentando el abanico de posibilidades en la parte del servidor para tu juego en muchos aspectos, como seguridad de tu juego por dar un ejemplo.

Bueno yo soy una persona que va directo a la acción hoy en día. La práctica ha tomado más relevancia pero la teoría de la buena te rompe la cabeza y te hace despertar esa mente congelada. Como dicen, siembra la semilla para crecer la planta de lo que desees. Si quieres aprender de verdad, debes también practicar bastante. Iniciando por la instalación de VSCode, NodeJS y FireFox como navegador. Luego, empezar a aprender la sintaxis básica de JS.

Hasta la proxima amigos, se despide ElfGod deseándoles buena suerte, salud y bendiciones.