miércoles, 31 de octubre de 2012

Instalando y actualizando el jMonkeyEngine

El SDK del jMonkeyEngine lo podemos bajar de aquí. Seguimos los típicos pasos del asistente de instalación y listo.

La comunidad jME es muy activa y en la misma web hay gran cantidad de tutoriales e información sobre el SDK en concreto, sobre la organización y diseño de un juego en general, javadocs de la API, etc...
Empiezan por tutoriales para los conceptos más básicos y pasan luego a tratar temas más avanzados. Lo mejor para aprender sin duda es ir paso a paso con los tutoriales "Hello... " que hay por aquí.

Lo mío es compartir las cosas que voy descubriendo, aprendiendo, etc... ;)

Cuando esté instalado el jMonkey podremos actualizarlo llendo a Help -> Check for updates.





Para el que halla trabajado alguna vez con NetBeans, el entorno del SDK viene a ser el NetBeans adaptado a jMonkey, incluyendo una herramienta para visualizar y editar la escena OpenGL.

Una vez actualizado, quedará por hacer otra actualización más a través de Tools -> Plugins. Vamos a la pestaña setting y marcamos (en la lista de la izquierda) la casilla que dice: jMonkey SDK Nightly.
Luego vamos a la pestaña Available plugins, clickamos en Reload catalog y nos bajamos OgreXML Support y OgreXMLTools.



 


martes, 30 de octubre de 2012

Ogre exporter para Blender

Con el Blender instalado, pasamos a añadirle el exportador OgreXML.


y seguimos los pasos del instalador para tenerlo todo listo en un momento.

Ahora abrimos Blender. CTRL + Alt + U para entrar a User Preferences y vamos a la pestaña de Addons. En la lista marcamos para activar el Ogre exporter.



Hecho esto, en el menú File tendremos que ver la opción Ogre3D (.scene and .mesh) incluída en el desplegable Export.



A partir de ahora cualquiera de las escenas o modelos que creemos con el Blender podremos exportarlos con formato OgreXML, los cuales pueden ser leídos por el jMonkeyEngine para cargarlos como parte de nuestros juegos.



Un ejemplo rápido...

Tengo intención de mostrar como ir modelando (de manera básica, yo estoy aprendiendo a usar el Blender desde hace poco tiempo) un escenario muy sencillo para comenzar a probar el jMonkeyEngine. Pero de momento para ilustrar como  funciona el exportador del ogre muestro esto:






Es un escenario muy simple hecho a base de planos (para el suelo y los muros) y cubos (para las plataformas) y que incluye dos puntos de luz.
Para exportar, debemos elegir todos los elementos que forman la escena desde el Outliner (la lista de elementos a la derecha), Los seleccionamos juntos haciendo SHIFT + Click izquierdo sobre cada uno de ellos (el elemento Camera no hace falta seleccionarlo).




A continuación vamos a File -> Export -> Ogre3D y se nos mostrará esta pantalla:





Dejamos marcadas todas las opciones aunque de momento muchas de ellas no tendrán efecto alguno (por ejemplo las que tienen que ver con animaciones, que no tenemos). Es bueno exportar en una carpeta dedicada exclusivamente a una escena en concreto pues el número de archivos desplegados es proporcional al número de elementos usados para construir la escena (ya lo veremos en más detalle).

Una vez le demos a Export Ogre arriba a la derecha, volveremos a la vista principal de Blender y se nos mostrará un cuadro de texto informándonos de cuantos meshes (objetos) han sido exportados, cuantas luces, etc...





Desarrollo de videojuegos como aficionado (blender y jME)

Como las tardes son un aburrimiento, he decidido ir poco a poco compartiendo mi aprendizaje en el desarrollo aficionado de videojuegos mediante dos herramientas bastante potentes: Blender y jMonkeyEngine.

El Blender es una aplicación totalmente gratuita dedicada a la creación, modelado y animación de gráficos 3D.

Y el jMonkeyEngine es un framework para el desarrollo de videojuegos en Java. Posiblemente el mejor motor de juego gratuito que existe en dicho lenguaje.

Lo que he decidido hacer es realizar la parte que tenga que ver con los gráficos (creación de escenarios, modelos, etc...) con el Blender y toda la lógica del juego con Java a través del jME (abreviatura de jMonkeyEngine), ya que el framework puede importar y cargar con facilidad modelos exportados con el Blender a través de OgreXML (un add-on para el Blender).

Empezaré por mostrar como se instala el OgreXML en el Blender y como se exportan los diseños en ese formato. A partir de ahí pasaré a crear un escenario sencillo, cargarlo en el jME y ver como se le puede aplicar facilmente detección de colisiones, recorrer el escenario como un jugador en primer persona y todo lo que se me vaya ocurriendo... y lo que vaya aprendiendo.