Hace unos días que un lector de Genbeta Dev nos preguntó, alentado por el post sobre Unity 3D, por otras herramientas y documentación que podíamos aconsejarle utilizar para desarrollar videojuegos, tanto para sobremesas como para dispositivos móviles.
Pensamos entonces que quizás esta información podía serle útil a más lectores que estuvieran interesados en el tema y no supieran por donde empezar. Por tanto aquí os expondré una pequeña base de conocimiento para que podais empezar a caminar vosotros solos y quizás algún día podamos ver vuestras creaciones y disfrutarlas.
Por supuesto, existen muchas más herramientas y frameworks de los que voy a exponer, yo solo realizaré un vistazo general de algunos, pero ya es tarea vuestra encontrar el que más se adecue a vuestras necesidades.
En el mercado encontraremos multitud de herramientas que nos permiten trabajar de una forma muy visual y facilitándonos enormemente todo el trabajo, ofreciéndonos motores gráficos, de físicas, etc. en el mismo paquete. Desde los gratuitos pero propietarios como UDK de Epic Games, creadores de Gears of War, o CryEngine de Crytek, creadores de Crysis o Farcry. Hasta los opensource como Blender, que además de para modelar y animar en 3D, también incluye herramientas para desarrollar nuestros videojuegos.
Pero si preferimos ser más artesanales, siempre podemos pasar de las facilidades de estas herramientas visuales y trabajar directamente con los motores gráficos, y demás mecánicas que componen un videojuego a través de sus API utilizando C, Java, Python, según el lenguaje con el que nos sintamos más cómodos.
Nos encontramos entonces con Ogre 3D, un potente motor de renderizado en C++ (pero con muchos ports a distintos lenguajes de programación), Panda 3D en Python o jMonkeyEngine en Java. Estas herramientas pueden incluir más o menos elementos que componen un videojuego , ya que mientras Ogre 3D solo te aporta el renderizado gráfico y tendremos que buscar otras librerías para, por ejemplo, el audio, otros como jMonkeyEngine si es un motor de juego completo e incluye también estos elementos en su API.
Pero si lo que nos interesa es desarrollar videojuegos para dispositivos iOS y/o Android, también disponemos herramientas y librerías enfocadas a tal menester. Para iOS encontramos librerías como cocos2D for iphone del cual están realizando también un port para Android, exclusivamente para Android como AndEngine, de cual hablo nuestro compañero Jorge Rubira, o el mismo jMonkeyEngine. Y también disponemos herramientas como el ya mencionado UDK que te ofrecen un entorno visual que te permiten desarrollar tanto para sobremesas como para iOS.
Aunque si lo vuestro es la web, siempre podeis utilizar frameworks en Javascript y HTML5 como Isogenic Engine o LimeJS. Puede que los juegos que os permitan desarrollar estos frameworks no sean tan espectaculares que con las herramientas comentadas en los anteriores párrafos, pero serán accesibles desde un mayor número de dispositivos y navegadores, llegando a un público más amplio. Como curiosidad, Panda 3D también permite incrustar desarrollos utilizando sus librerías en páginas web mediante el uso de un plugin.
Para terminar no os puedo recomendar ningún tutorial en concreto para iniciaros ya que, ni estoy versado en el desarrollo de videojuegos ni tendría por qué encajar con la herramienta que decidais utilizar. Por ello solo os puedo recomendar que busqueis comunidades de desarrolladores que las utilicen ya que ellos podrán solventaros vuestras dudas y recomendaros tutoriales y documentos más apropiados a vuestra elección.
En Genbeta Dev | AndEngine, un framework para desarrollar videojuegos en Android
Imagen | Castlevania I