Pages - Menu

lunes, 15 de abril de 2013

¿Qué herramienta usar para desarrollar videojuegos?

Hubo una etapa en mi vida en la que comencé a practicar deporte de forma regular y con vistas a que fuera efectivo para el control de mi peso pero que además me gustase tanto que no lo abandonase a los pocos meses.

Engine
Foto tomada de freedigitalphotos.net

Comencé a probar diferentes disciplinas deportivas; nadar, andar, correr, bicicleta, gimnasio, etc. Gasté una cantidad moderada de dinero en el material que pudiera serme de utilidad, una bicicleta, guantes, ropa, mochilas, etc. Pero en ninguna de las disciplinas que probé me sentí satisfecho al 100% hasta que decidí probar el Karate, cual fue mi sorpresa que me gustó tanto que no sólo fui disciplinado e iba día tras día sin faltar, sino que iba varias horas diarias y disfrutaba más y más con ello.

Este proceso me tomó todo un año completarlo.

La pregunta más típica a la hora de empezar a crear videojuegos es saber por dónde empezar y qué herramienta usar. Pasamos tiempo investigando en busca de la herramienta perfecta para crear videojuegos de éxito, encontrar la fórmula idónea para así poder plasmar nuestra creatividad en la pantalla, pero no debemos engañarnos. Si le preguntamos a cualquier desarrollador experimentado acerca del lenguaje de programación y el entorno a utilizar, éste te dirá que uses aquél con el que más cómodo te sientas.

Yo personalmente antes de decantarme por una tecnología u otra prefiero probar cuanto más engines mejor y después quedarnos con la que más cómodo estés, eso sí, dependiendo también de cómo quieras enfocar tu carrera.

Hay desarrolladores que prefieren el mundillo de los minijuegos para la web y smartphones, por otra parte hay otros que prefieren lanzarse en el mundo de los juegos Triple A a nivel indie, otros prefieren los juegos sociales, otros los títulos Triple A formando parte de un equipo de trabajo, otros prefieren dar rienda suelta a su creatividad de forma indie y sin mirar en exceso la tecnología. Antes de comenzar a desarrollar creo que deberíamos pensar en cual de éstos perfiles encajamos nosotros.

¿Hacia dónde quiero enfocar mi carrera?

Cada nicho dentro del mercado de los videojuegos tiene su atractivo y cada cual tiene sus complicaciones y sus cargas de trabajo. Actualmente los videojuegos Triple A de hoy en día requieren de todo un ejército de desarrolladores para completarlo, no obstante entre un pequeño grupo de amigos y mucha ilusión se pueden hacer verdaderas maravillas. También están los minijuegos, de los cuales no hay que negar su importancia y alcance de público y tampoco su menor carga de trabajo que con un Triple A, amén de que la cantidad de recursos para aprender es mucho mayor que con tecnologías más cerradas o entornos tecnológicamente más avanzados.

En estos meses, y siguiendo mi consejo de probar mucho antes de decidirme he probado los siguientes entornos.

Game Maker Studio

Game Maker Studio
Game Maker Studio
Tras unos meses de estudio de Java para Android y de C++ para pequeños juegos de texto en el escritorio probé Game Maker Studio motivado principalmente por su rapidez a la hora de crear juegos, por el tamaño de su comunidad de usuarios donde existen multitud de tutoriales y por la cantidad de plataformas donde se puede publicar.

Movidos por la filosofía “créalo una vez, expórtalo a todas partes” a día de hoy se pueden exportar videojuegos a las plataformas PC Windows, Windows 8, Mac, Linux, Steam Workshop, HTML5, Android, iOS, Windows Phone 8.

Game Maker Studio da la posibilidad de crear videojuegos mediante un editor WYSIWYG, siglas en inglés de What You See Is What You Get, traducido sería “lo que ves es lo que obtienes” y consiste en un editor en el que visualmente arrastras y sueltas elementos dentro de una pantalla de juego, del mismo modo programas los comportamientos pertinentes y lo configuras, todo muy sencillo y que hace posible que en un corto periodo de tiempo tengas un videojuego sencillo perfectamente funcional.

También cuenta con un editor de código y con la posibilidad de utilizar librerias externas creadas por los usuarios para poder hacer creaciones más avanzadas y con un nivel mayor de trabajo y conocimientos, el lenguaje de programación que usa es GML (Game Maker Language). Muy completo tanto para desarrolladores nuevos como para avanzados.

Posee una versión gratuita con ciertas limitaciones de exportación y de creación de elementos dentro de un mismo proyecto pero el precio de las licencias es bastante asequible en comparación a otros entornos. Sus creadores están trabajando continuamente para mejorar sus capacidades, cada poco tiempo organizan eventos y concursos y el soporte es bastante bueno.

Las pegas de Game Maker Studio es que para hacer proyectos MMO y 3D está un poco limitado, pero lo compensa perfectamente con todas las características anteriores. Otra de las cosas que echo en falta es la posibilidad de exportar a Flash, formato del que estoy convencido que seguirá por mucho tiempo entre nosotros.

Un ejemplo de videojuego comercial creado con Game Maker Studio es el conocido Hotline Miami.

Game Maker Studio se puede descargar de la página de yoyogames.

RPG Maker

RPG Maker
RPG Maker
Para los amantes de los RPGs clásicos está el veterano entre los veteranos, el conocidísimo RPG Maker.

Con RPG Maker podemos crear un juego RPG de corte clásico basándonos en las mecánicas y aspectos de los primeros Final Fantasy, presenta un entorno muy amigable, con multitud de opciones y gráficos prediseñados para poder hacer cualquier cosa que se nos ocurra.

El juego resultante será un RPG con un sistema de clases y niveles, donde podremos configurar prácticamente todo, desarrollar cualquier historia, añadir efectos, configurar los grupos de personajes, el bestiario completo, las zonas de mundo, ciudad, interiores y mazmorras. Podremos crear clases nuevas, configurar la curva de dificultad para subir de nivel los personajes, efectos para los ataques e items posibles, también podremos gestionar los clásicos vehículos para que los personajes viajen por el mundo.

En la parte funcional RPG Maker posee una amplia variedad de funciones predeterminadas que iremos añadiendo al código de un disparador creado por nosotros mismos. Podremos configurar dichos disparadores en función de cualquier situación posible dentro del juego, mostrar diálogos, crear combates manualmente, añadir objetos, unir personajes al grupo y mucho más.

RPG Maker cuenta también con un sistema de creación manual de funciones basado en scripts para que los usuarios avanzados programen los juegos a su antojo, en la versión 2003 se integró Ruby como lenguaje de programación estándar.

Los que deseen probar RPG Maker se puede descargar de la web una versión Lite del RPG Maker VX Ace con la cual se puede construir un RPG perfectamente funcional aunque obviamente sin demasiados elementos debido a sus restricciones. En caso de gustarnos se pueden comprar licencias de cualquiera de las versiones del RPG Maker a un precio bastante atractivo

La pega de RPG Maker es principalmente la imposibilidad de exportar a otras plataformas que no sean PC, y aún así hay que realizar una serie de pasos para realizar esto. Quizás se haya quedado un poco atrasado en éste aspecto. Otra de las pegas es que no se puede crear un sistema de juego que no sea el clásico de Clase/Niveles, sin tener que programarlo por nosotros mismos, lo mismo ocurre con el sistema de batallas, con visión en primera persona y por turnos, algo que por muy clásico y bueno que sea, quizás no a todos los usuarios guste.

Un juego comercial creado con el RPG Maker es Eternal Eden, el cual ha salido para las consolas de Nintendo.

Todas las versiones de RPG Maker se puede descargar de la web de rpgmakerweb.com.

Macromedia Flash

Macromedia Flash MX 2004
Macromedia Flash MX 2004
En el tema de los minijuegos para web a mi modo de ver Macromedia Flash sigue siendo el rey, se ha construido todo un sin fin de plataformas, webs de juegos y comunidades tanto para jugar como para aprender a crear minijuegos en Flash. Su veteranía es innegable y su portabilidad con sistemas y redes sociales es otro de sus puntos a favor, sus cualidades superan con creces sus defectos y gracias a la cantidad tan enorme de tutoriales e información que hay en la red el aprendizaje es extremadamente sencillo.

Ejemplos de juegos creados con Macromedia Flash hay infinidad de ellos, pero si tuviera que citar algunos pondría Farmville y sus variantes, casi todos los juegos de Facebook y de cualquier portal de minijuegos.
Macromedia Flash cuenta con una versión gratuita de prueba varios días y la posibilidad de compra de una licencia completa para poder comercializar los juegos.

Se puede descargar Macromedia Flash y consultar multitud de tutoriales de su web.

Stencyl

Stencyl
Stencyl
Dentro de los entornos estilo Game Maker nos encontramos con una nueva propuesta encaminada a los minijuegos web llamada Stencyl. Stencyl cuenta con un editor tanto de juegos como de código al estilo WYSIWYG pero lo suficientemente completo y potente como para programar cualquier cosa.

Stencyl cuenta con una interfaz realmente amigable, con una organización de elementos muy cómoda y la posibilidad de incorporación de librerías y recursos directamente de su marketplace Stencylforge, la comunidad de usuarios crece día a día y constantemente están subiendo nuevos recursos y librerías para incorporar en los proyectos.

Stencyl, al igual que Game Maker Studio cuenta con la posibilidad de exportar a varias plataformas, siendo ahora mismo PC, Linux, Web e iOS. Además incorpora perfectamente todo lo necesario para integrar características de redes sociales dentro de los juegos así como implementar directamente las API de los servicios de monetización más conocidos para minijuegos Flash.

La pega ahora mismo es que Game Maker Studio cuenta con más formatos de exportación, no obstante la versión 3.0 de Stencyl promete muchas más plataformas.

Stencyl dispone de una versión gratuita con la que no se pueden comercializar juegos, integrarlos en servicios de monetización o exportar a iOS, pero cuenta con licencias anuales y ofertas para estudiantes, se puede descargar de su web.

Source Engine

Source Hammer
Source Hammer
El motor gráfico de Valve y que nos ha brindado títulos como Left 4 Dead, Left 4 Dead 2, Half Life 2, Team Fortress 2, Portal, Portal 2 o Counter Strike: Source posee una serie de herramientas perfectamente integradas en Steam en la que podemos realizar mods para los juegos anteriormente citados.

Mediante la utilidad Valve Hammer Editor podemos construir, diseñar, configurar y programar mapas para cualquiera de los juegos de Valve, pudiendo realizar campañas completas, juegos completos o utilidades para modificar los originales.

Vale posee una licencia de pago para poder usar el motor Source en proyectos comerciales pero para poder utilizar el Hammer Editor en cualquiera de los juegos de Valve sólo basta con comprar una copia del juego en cuestión.

Para poder utilizar estas herramientas es necesario poseer una cuenta en Steam y comprar los juegos por esa plataforma, el enlace es éste.

Adventure Game Studio (AGS)

Adventure Game Studio
Adventure Game Studio
Programar una aventura gráfica es una tarea sencilla una vez tenemos cierta soltura con nuestro entorno favorito, no obstante con Adventure Game Studio podemos crear una exactamente igual a las aventuras gráficas convencionales como las que se hacian con el motor S.C.U.M.M.

Aventuras del tipo Maniac Mansion o Monkey Island son posibles con éste entorno perfectamente preparado para ello, no es necesario el conocimiento en profundidad de un lenguaje de programación concreto para desarrollar una aventura gráfica ya que el editor de AGS es muy amigable y posee multitud de funciones que nos harán el desarrollo más llevadero.

Adventura Game Studio es completamente gratis para proyectos sin ánimo de lucro, no obstante si queremos vender nuestra aventura deberemos respetar ciertas normas en su licencia, tranquilos, son bastante asequibles y siguen haciendo de AGS un entorno gratuito.

C++, Java

Java
Java
Evidentemente no podía terminar este post sin hacer referencia a los lenguajes de programación por excelencia y que yo considero básicos a la hora de crear videojuegos. Aprender C++ y Java nos aportarán los conocimientos perfectos para crear un videojuego en casi cualquier plataforma, podremos también gestionar a bajo nivel la memoria del ordenador, controlar todo el proceso de creación y programar nuestros propios motores y librerias.

Casos comerciales hay muchos, entornos donde desarrollar hay infinidad, el aprendizaje de estos dos lenguajes es esencial de cara a afrontar proyectos con más nivel de detalle, si quieres crear un juego propiamente tuyo sin necesidad de entornos más encapsulados como los citados Stencyl o Game Maker, sin duda para programar videojuegos deberías comenzar con estos dos lenguajes y escoger tu favorito (yo recomendaría C++).

Después de probar todas éstas tecnologías (y de tener muchas otras en la lista de espera) tengo claro qué utilizar, mi decisión es usar la herramienta que mejor me venga para cada caso.

Conclusión.

Las posibilidades de Game Maker Studio son enormes pero la facilidad de Stencyl y su implementación en Flash son un punto a tener en cuenta, Macromedia Flash tiene el fuerte de su amplia comunidad y de ser de los grandes veteranos, RPG Maker viene fenomenal para un RPG convencional (o incluso más moderno una vez sepamos programar), Adventure Game Studio es muy bueno para las aventuras gráficas pero los dos anteriores no tienen demasiadas opciones de exportación, el Hammer de Valve es estupendo para hacer mods pero quizás obtener una licencia pueda ser costoso, para todo lo demás C++ o Java de forma manual y con completa libertad.

Decide en cada momento que herramienta se ajusta mejor a tus necesidades y al juego que quieres desarrollar, dónde te sientes más cómodo para trabajar y cuál te brinda más y mejores posibilidades. Si te sientes perfectamente con Game Maker Studio, adelante. Si prefieres Stencyl y Macromedia Flash, perfecto. Si prefieres programar tus propios juegos de RPG y aventura gráfica en C++ o Java, adelante, el límite lo pones tú.

En breve comentaré sobre Hammer y mi primer mapa de Left 4 Dead, las cosas que he ido aprendiendo y los proyectos futuros.

¿Qué otras herramientas consideras esenciales para comenzar a desarrollar videojuegos?