Cómo aprender Haxe y NME

Haxe (pronunciado "Hex"), es un lenguaje multiplataforma de código abierto, capaz de compilar en varios idiomas, dirigido a Windows, Flash Player, WebOS, Android, Blackberry y HTML5 (en versión beta en el momento de la escritura). NME, que va de la mano con Haxe, es la biblioteca que permite esta increíble acción multiplataforma.

Si bien este artículo está dirigido a aquellos con experiencia en programación y desarrollo de juegos, proporciona las herramientas y los recursos necesarios para que alguien con poca o ninguna experiencia pueda comenzar a utilizar Haxe como su primer idioma. En este artículo, le diré por qué debería usar Haxe, ayudarlo a poner a Haxe y NME en funcionamiento en su máquina, señalarle algunos de los mejores materiales de aprendizaje y ayudarlo a poner su pie en la puerta con el Haxe. comunidad.

Artículos Relacionados
  • Cómo aprender XNA
  • Cómo aprender Flash y AS3
  • Cómo aprender la unidad
  • 12 motores y plataformas Gamedev (y las mejores formas de aprender cada uno de ellos)

¿Por qué usar Haxe y NME??

Si estás involucrado con la programación o el desarrollo de juegos, o quizás simplemente pasas una gran cantidad de tiempo en Internet, has escuchado la frase "Flash está muriendo". No voy a perder el tiempo de nadie con ese debate en este momento, pero la idea está relacionada con mi próximo pensamiento. Como desarrollador de juegos, específicamente uno que solo ha ganado dinero a través de juegos Flash hasta el momento, esta frase fue moderadamente preocupante para mí.

Declararé ahora que no estoy convencido de que Flash esté muerto o que vaya a morir pronto, pero todavía quería un plan de respaldo. Ahora he encontrado una respuesta a mis preocupaciones: Haxe.

Siempre he querido trabajar con otras plataformas además de Flash, pero la cantidad de trabajo requerido para cambiar siempre ha parecido demasiado grande para justificar o abordar; Haxe cambia todo esto. Como idioma, Haxe es casi idéntico al código AS3 que he estado escribiendo durante años. Aún mejor, FlashDevelop (mi editor preferido para juegos Flash) tiene un soporte increíble para Haxe, por lo que ni siquiera necesito familiarizarme con un nuevo IDE. Haxe no solo me da la seguridad de no depender más de Flash, sino que también me permite apuntar a nuevas plataformas..

En el pasado, apuntar a múltiples plataformas siempre ha sido un dolor enorme, hasta el punto en el que generalmente pretendo que la opción no existe. O bien tiene que transferir su código a un nuevo idioma (uno que quizás ya sepa o no conozca), o buscar a alguien que haya sido probado y comprobado para que lo haga por usted. He vendido derechos móviles a uno de mis juegos antes, pero incluso después de un pago por adelantado, el juego nunca se puso en marcha.

Con Haxe, puede exportar a varias plataformas simplemente cambiando un cuadro desplegable y agregando un poco de código condicional para detectar la plataforma y cambiar la configuración, como el modo de pantalla completa. Eso no quiere decir que de vez en cuando no tengas que resolver algunos problemas, pero por lo que he leído, y la poca experiencia que tengo, dice que no vale la pena mencionar los problemas..


Configuración de Haxe y NME

Lo más importante que debe hacer primero es preparar su computadora para usar Haxe y NME.

Windows

Poner en funcionamiento a Haxe y NME puede ser un poco confuso, pero he escrito una guía completa en mi sitio web para guiarlo paso a paso. Continúe y siga mis pasos iniciales con Haxe, NME y la guía FlashDevelop ahora, y vuelva una vez que esté listo y funcionando. Tenga en cuenta que mi guía utiliza FlashDevelop y, si bien sugiero este IDE, hay otros, así que no dude en experimentar..

Mac o Linux

Si no está ejecutando una máquina con Windows, desafortunadamente no tengo una guía paso a paso completa. Dicho esto, Haxe es compatible con ambas plataformas, y puede encontrar los instaladores y las instrucciones básicas en la página de descargas de Haxe. Si tiene algún problema específico, le sugiero que revise mi guía de Windows Haxe, ya que puede arrojar algo de luz sobre lo que salió mal. Si eso no funciona, vaya a la sección "Únase a la comunidad" y comuníquese con Haxe a través de Twitter o correo electrónico para obtener más ayuda..


Conozca sus conceptos básicos

Una vez que haya configurado su entorno de trabajo, querrá familiarizarse con la sintaxis básica de Haxe. yo altamente Sugiera que haga esto leyendo la referencia de sintaxis Haxe..

Si te sientes más cómodo con la sintaxis básica de Haxe, ahora eres una esponja, a la espera de absorber todo el conocimiento que Haxe tiene para ofrecerte. En este punto, sugiero que hojee toda la página de referencia de Haxe y lea todo lo que se destaca de usted. El equipo de soporte de Haxe ha hecho un trabajo increíble al construir su material de referencia, y cualquier persona que comience debería hacer un gran uso de él.


Adelante, algo portuario!

Ya sea que venga de AS3, Java o algún otro idioma, la conversión a Haxe es bastante fácil. Ya que Haxe es compatible con casi todas las funciones que utiliza cualquier lenguaje convencional, generalmente solo tiene algunos tediosos cambios de sintaxis. Dicho esto, cualquier IDE moderno es compatible con buscar y reemplazar (con FlashDevelop que admite "Buscar y reemplazar archivos", apuntando a cada archivo en su proyecto), y con un poco de paciencia, puede tener su proyecto portado en un instante..

Si tiene algún proyecto que cree que podría ser portado, le sugiero que lo haga, ya que la experiencia que obtendrá al aprender la nueva sintaxis y los códigos de error es extremadamente valiosa. Una vez que haya transferido el juego, incluso puede seguir adelante y hacer que su juego se ejecute en otras plataformas a través del poder de NME, una muy buena recompensa por todo su trabajo. En este punto, podría enviar sus proyectos más antiguos a nuevas plataformas y, posiblemente, obtener algunos ingresos que nunca vio venir..


Las bibliotecas son tus amigas

Si eres como yo, te encantan las bibliotecas. Si bien soy perfectamente capaz de crear un juego desde cero, prefiero usar una biblioteca de funciones completas y probada. Debido a la facilidad de portabilidad, la comunidad en crecimiento y la genialidad general de Haxe, hay bastantes bibliotecas que ayudan a realizar el trabajo..

Haxe viene con el increíble administrador de paquetes hHaxelib Haxe, que realiza un seguimiento de todas las bibliotecas disponibles enviadas al administrador. Esto le permite buscar bibliotecas desde una ubicación conveniente, e incluso actualizar todas las bibliotecas instaladas en su computadora a su última versión, usando el actualización haxelib comando dentro de la línea de comandos.

Cuando se descarga e instala una nueva biblioteca, deberá asegurarse de que su proyecto incluya la ruta de clase de esa biblioteca. Como se explica en mi artículo de introducción, todos los proyectos de Haxe contienen una aplicacion.nmml expediente. En este archivo, hay una pequeña sección de código para classpaths y haxe libs. Si descargamos la biblioteca HaxePunk y quisiéramos incluirla en nuestro proyecto, simplemente agregaríamos lo siguiente a nuestro aplicacion.nmml expediente:

Esto le permite a nuestro proyecto saber que estamos usando la biblioteca HaxePunk, que controla el administrador de paquetes de Haxelib Haxe. NME también es una biblioteca controlada a través de Haxelib, por lo que verá lo siguiente en cualquier proyecto de Haxe NME creado con FlashDevelop.

Al igual que antes, esto le permite a nuestro proyecto saber que estamos usando la biblioteca NME, que también se administra a través de haxelib. Si bien puede definir manualmente una ruta de clase para una biblioteca, la mayoría de las bibliotecas principales se admiten a través de haxelib, y el sistema está significativamente más organizado..

Algunas bibliotecas populares

  • HaxePunk - Un puerto de la popular biblioteca flash FlashPunk. Aunque originalmente era un puerto, ahora está creciendo para admitir un rendimiento optimizado, especialmente entre las diversas plataformas compatibles.
  • Haxe Flixel: un puerto directo de la popular biblioteca Flash Flixel.
  • Nape: un motor de física en 2D absolutamente sorprendente que lo posee incluso contra el popular Box2D.
  • Kong.hx: un puerto directo de la API de Kongregate, fuertemente tipado..
  • NME Tiled: una biblioteca que da soporte al popular editor basado en azulejos, Tiled.

Unete a la communidad

Haxe tiene una comunidad nueva, pero próspera. Mientras Haxe aún es joven, está creciendo rápidamente en popularidad. Al unirme a Haxe, casi parecía que estaba saltando al carro, porque en todas partes que miraba, más y más gente que conocía hablaba de Haxe; Por supuesto, esto fue pura coincidencia, pero solo demuestra que Haxe está en alza..

Los miembros de la comunidad con los que he interactuado hasta ahora son excelentes. Matt Tuttle hace un gran trabajo administrando HaxePunk en GitHub, las cuentas de twitter de Haxe siempre responden rápidamente a los tweets, y últimamente he visto más y más publicaciones de blog relacionadas con Haxe de calidad. Les insto a que participen activamente en la comunidad, ya que esta ha sido la mejor manera de obtener ayuda y ayudar a otros con este lenguaje asombroso..

Tweet It Up

Haxe tiene varias cuentas de Twitter que están bastante activas, y cada vez más desarrolladores se unen a la comunidad todos los días. A continuación se presentan dos cuentas oficiales que le recomiendo que siga si desea permanecer en el bucle de Haxe Twitter. Siéntase libre de twittearles todas las preguntas que tenga, ya que son muy rápidas para responder y siempre me han ayudado..

  • @haxenme
  • @haxelang

Grupo de Google Haxe

El grupo Haxe Google parece ser una de las ubicaciones más activas en la red para hacer una pregunta relacionada con Haxe y obtener una respuesta rápida. Si prefieres foros sobre una respuesta de Twitter, únete a este grupo.


Tu futuro te espera ...

Ahora que está equipado con la capacidad de programar usando Haxe y NME, hay un sinfín de oportunidades para usted como desarrollador de juegos. Con este lenguaje poderoso, ahora puede impulsar sus proyectos a través de un número creciente de plataformas compatibles. Su cuenta bancaria crecerá, su reputación florecerá y lo hará todo con menos esfuerzo que nunca..

Espero que haya aprendido mucho sobre Haxe a través de este artículo, y en nombre de toda la comunidad de Haxe, espero verlo ayudar a esta comunidad increíble y al lenguaje a crecer..