#GameDevSimple: Una lista de herramientas para hacer juegos

Este artículo surgió inicialmente como un hilo en Twitter, pero dado que la información útil en Twitter tiende a perderse, creo que es mejor traer este hilo al blog en forma de artículo.

El desarrollo de videojuegos es una actividad que tiene fama (justificadamente) de ser compleja. Sin embargo, día a día surgen herramientas que permiten hacer juegos simples. Estas herramientas lo logran aplicando restricciones que obligan a pensar en cómo usar la herramienta efectivamente.

Este artículo es un listado incompleto de las herramientas que he logrado descubrir (o que me han mencionado) hasta ahora.

Antes de comenzar a reseñarlas, vale la pena destacar que para poder aprovechar estas herramientas, tanto como desarrollador como jugador, tenemos que pensar de manera muy distinta a los videojuegos de última generación. No estamos hablando de videojuegos 3D, de última generación. Hablamos de herramientas que cautivan a la audiencia a través de su narrativa o temática, con la mecánica pasando a un segundo lugar.

Con estas expectativas, pasemos a las reseñas.

Bitsy

Screenshot de Bitsy

Bitsy (gratuito, web) es la herramienta que inspiró esta lista. Bitsy ofrece un editor con un mapa 2D, cuyos bloques son solo de 2 colores. El personaje que controlas y los elementos con los que interactúas son de otro color, para un gran total de 3 colores.

La fortaleza de Bitsy está en su sistema de diálogos, que es completamente visual y que permite un alto grado de control acerca de cómo fluye la conversación y del aspecto del texto.

A la hora de lanzar el juego, la herramienta permite descargar un archivo HTML, que se puede publicar en cualquier servidor web. itch.io un destino muy popular para estos juegos.

Bitsy ha permitido a decenas de personas sacar sus propias historias, y es un proyecto sumamente popular, con proyectos muy interesantes. De aquí les dejo un juego que hice: Video Call.

Flickgame

Screenshot de Flickgame

Flickgame (gratuito, web) es una herramienta con muchísimas opiniones acerca de lo que es un juego. Es hecho por Increpare.

En Flickgame tienes 16 imágenes, cada una con una paleta de 16 colores. Tienes posibilidades simples de dibujar sobre estas imágenes con las herramientas que ofrece. Lo importante es que puedes establecer que al hacer click sobre un color, esto te lleva a otra imagen. Así, puedes elaborar una narrativa no lineal que te interese escribir.

Dejo como ejemplo When I Saw It, un juego que hice para el Global Game Jam 2018.

Flicksy

Screenshot de Flicksy

Flicksy (gratuito, web) es una herramienta que se sitúa entre Bitsy y Flickgame. Es hecho por candle.

La idea central de Flicksy es poder dibujar y ensamblar juegos basados en hipertexto gráfico. El sistema de diálogo es muy similar al de Bitsy (de ahí la inspiración).

La mejor manera de entender esta herramienta es viendo el tutorial o jugando un juego completo hecho en Flicksy.

InkleWriter y Twine

Screenshot de InkleWriter

Menciono InkleWriter y Twine en el mismo apartado porque ya he escrito sobre ficción interactiva. Ambas excelentes herramientas para aquellos que quieran publicar algo basado en texto.

PuzzleScript

Screenshot de PuzzleScript

PuzzleScript (gratuito, web) es una herramienta muy específica, y sus juegos se basan en el famoso Sokoban. Es mantenida por el buen Increpare, el mismo de Flickgame.

Se programa en ella usando un lenguaje que describe las reglas. Por ejemplo, si hay un bloque, y el personaje empuja el bloque de una dirección, el resultado es que tanto el personaje como el bloque se mueven en esa dirección.

Es a partir de estas reglas que se pueden escribir variantes de Sokoban que no se parecen en nada al juego original. El resultado se puede exportar a una página HTML, y este archivo puede hospedarse en cualquier servidor web.

El excelente puzzle Cosmic Express comenzó como un prototipo hecho en PuzzleScript. Alan Hazelden, su creador, ha tenido a bien publicar el prototipo completo en GitHub. Esto es código que puedes copiar y pegar en el editor de PuzzleScript y ver cómo funciona el juego.

PICO-8

Screenshot de la página de PICO-8

PICO-8 (pago, descarga) es una de las consolas de fantasía más populares actualmente. Existen suficientes de estas como para justificar un artículo separado, pero en general una consola de fantasía es una herramienta programable que tiene restricciones artificialmente limitadas, con el objetivo de enfocarse hacia la creatividad que impulsan estas restricciones. Sin embargo, PICO-8 corre en PC, Linux y Mac como cualquier otro programa.

En el caso de PICO-8, la pantalla es de 128×128 pixeles, y solo 16 colores de una paleta variada. PICO-8 trae todas las herramientas para escribir código (en Lua), música y sprites en un solo lugar. El resultado se puede exportar en una imagen .PNG que se puede compartir, pero también se puede exportar a HTML. Esto permite publicar tu juego para navegadores.

PICO-8 se ha utilizado en proyectos sumamente interesantes, y es increíble lo que se ha logrado con esta herramienta, incluyendo una versión de DOOM llamada POOM.

Otro uso maravilloso que tiene son los llamados #tweetcarts, donde la gente trata de escribir programas gráficos que quepan en un tweet. Esto es simple de hacer gracias a la capacidad que tiene PICO de grabar GIFs.

LIKO-12

Presentación de LIKO-12

LIKO-12 es una consola de fantasía libre inspirada en PICO-8. La pantalla que ofrece es de 192×128, y usa Lua como lenguaje para programar, aunque la librería es ligeramente diferente a la de PICO-8. Tampoco cuenta con la habilidad para exportar a páginas web como PICO-8, pero ofrece el código fuente completo, y es posible colaborar con su desarrollo.

Esta consola también promete ofrecer todas las herramientas necesarias para hacer gráficos y música, aunque su cumplimiento ha sido más lento debido a que es una sola persona manteniendo este programa. Rami Sabbagh es su creador y el que lo sigue manteniendo, y suele ser muy diligente con la comunidad, respondiendo cuando puede.

De LIKO-12 les dejo Sapper, un clon de Frogger que hice. LIKO, por cierto, también permite grabar GIFs fácilmente.

SCRIPT-8

GIF animado demostrativo de SCRIPT-8

SCRIPT-8 es una consola de fantasía, al igual que las otras dos herramientas que he mencionado. Esta está hecha completamente para el navegador, y utiliza Javascript para programar.

Esta herramienta está inspirada en PICO-8 y en las ideas de Bret Victor acerca de inventar sobre principios, una charla excelente que recomiendo ver. Así, esta consola tiene un editor de código que permite al mismo tiempo visualizar los cambios que se hacen inmediatamente. También ofrece una línea de tiempo para visualizar esos cambios en el tiempo.

La propia página tiene buenos ejemplos seleccionando el apartado SHELF.

LÖVE

Screenshot de la página de LÖVE

LÖVE (gratuito, descarga) es un framework con el que se pueden hacer juegos en 2D con el lenguaje de programación Lua. Los juegos se pueden sacar para Windows, Mac, Linux, Android y iOS.

La promesa de Lua es la de un lenguaje flexible y simple de entender. A diferencia de PICO-8 o LIKO-12, no hay restricciones de resolución o de tamaño del programa, por lo que se pueden hacer juegos más complejos.

Hay que considerar también que aunque los 3 comparten el mismo lenguaje de programación, sus librerías son distintas, por lo que el código que escribas en una herramienta no es completamente portable a otra.

Dejo como ejemplo Labyrinth of Legendary Loot, un juego hecho con este framework.

Ren’Py

Screenshot del juego de ejemplo de RenPy

Ren’Py (gratuito, descarga) es una herramienta orientada a producir novelas visuales. La novela visual es un género sumamente popular en Japón, y suelen seguir la estructura de una conversación mantenida con un personaje en pantalla, tal como se ve en el screenshot.

La idea de Ren’Py es ofrecer una herramienta y un lenguaje para escribir los diálogos, controlar lo que se ve en pantalla y la apariencia del texto y, si es necesario, escribir la lógica del juego. Si tienes experiencia con Python, Ren’Py te puede parecer familiar. El resultado se exporta en un ejecutable para Windows, Mac, Linux, y opcionalmente Android y iOS. Ren’Py también permite exportar para la web.

Ren’Py tiene un listado de juegos que puedes consultar para tener una idea de lo que se puede hacer.

Monogatari

Screenshot de Warm Marble

Monogatari (gratuito, web) es una herramienta orientada a producir novelas visuales. A diferencia de Ren’Py, Monogatari es esencialmente una página web, y el resultado se hospeda en una página web. En Monogatari hay que editar páginas web para lograr resultados.

Monogatari tiene documentación, la cual incluye instrucciones para establecer el ambiente de desarrollo. Si lo tuyo son novelas visuales, y además quieres que se puedan jugar en el navegador, Monogatari es una buena opción.

Aquí dejo como ejemplo Warm Marble, una novela visual donde tienes una cita con Bruce Lee.

Playscii

Screenshot de Playscii

Debo ser honesto y mencionar que Playscii (gratuito, descarga) es una de mis herramientas favoritas de todos los tiempos. Es hecha por JP LeBreton.

Es principalmente un editor de imágenes. Ofrece una paleta de colores personalizable (y trae presets nostálgicos), y una paleta de caracteres. Y uno dibuja usando esa paleta de caracteres. Los presets de caracteres incluyen varios conjuntos famosos, como los de MS-DOS, los de la BBC Micro, la Commodore 64, etc. etc.

Como editor se puede aprender a usar fácilmente y una vez que lo conoces las posibilidades son inmensas.

Otra funcionalidad (que no he explorado) de Playscii es el modo juego, en el que es posible elaborar juegos escritos en Python que usan las imágenes que editas en Playscii.

Les dejo una de las ilustraciones que he hecho con Playscii. Me sigo divirtiendo bastante con esta herramienta.

Ilustración hecha por Ciro para el Drawtober 2020

Kenney y el PROCJAM

Screenshot de la página Kenney.nlMenciono a Kenney en esta lista como una página que se ha dedicado a sacar packs de recursos 2D y 3D gratuitos. Esta página es un buen punto de partida para tener arte para prototipos, o incluso juegos comerciales, pues ellos lo permiten.

Por otro lado, menciono la sección de arte del PROCJAM. El PROCJAM es un jam orientado a la generación procedimental (o procedural generation en inglés). El evento ha podido financiar la producción de recursos para poder usar gratuitamente durante el jam u otro objetivo.

MagicaVoxel

Screenshot de Magicavoxel

MagicaVoxel (gratuito, descarga) es una herramienta para editar modelos 3D basados en voxeles. Piensa que son como los pixeles, pero en 3D. Es mantenido por ephtracy.

MagicaVoxel puede en principio parecer sencillo, pero las ilustraciones que he visto hechas con esta herramienta nunca dejan de sorprenderme con su calidad. La herramienta constantemente mejora su sistema de rendering, lo que le permite ofrecer cosas como materiales traslúcidos, iluminación muy convincente, y mucho más.

SpriteStack

Animación exportada de SpriteStack

SpriteStack (pago, web) es una herramienta para construir modelos 3D basado en voxeles, aunque su aproximación se parece más a editar una pila de imágenes (de ahí el nombre sprite stack). Visualmente tiene muchas ayudas para poder razonar la construcción de los modelos, y es una herramienta bastante competente. Su creador lo ha estado manteniendo activamente, y es posible exportar e importar modelos hechos con otras herramientas.

También es posible publicar tus modelos a la galería de la página. El barco que aparece anteriormente es un modelo de esta galería y la animación fue exportada con la herramienta.

Chiptone

Screenshot de Chiptone

La muerte de Flash nos dejó sin una de las mejores herramientas para producir sonidos rápidamente, as3sfxr. Así que la misma gente hizo otra herramienta similar, que corre en el navegador. Esto es Chiptone (paga-lo-que-quieras/gratuito, web).

Chiptone es una herramienta más completa que as3sfxr, ya que ofrece mayor control del sintetizador de sonido. Los desarrolladores prometen más funcionalidades, como un sampler y un secuenciador, pero por ahora, esto es lo que hay. Y lo que hay es muy bueno para hacer sonidos rápidamente y que se entienden inmediatamente.

Beepbox

Screenshot de Beepbox

Beepbox (gratuito, web) es un secuenciador de música. Ofrece algunas facilidades para producir música que suene agradable.

Una de las características que más me gusta de Beepbox es que es posible compartir tus composiciones a través del enlace que genera la página. Si compartes el enlace completo, cualquier otra persona puede escuchar esa canción.

¿Algo más?

Diversas herramientas salen cada día, y esta no es una lista exhaustiva. No soy tampoco el primero que hace esta lista, así que dejo dos enlaces a la página de Natalie Lawhead, que ha listado otras herramientas interesantes.

Un comentario en «#GameDevSimple: Una lista de herramientas para hacer juegos»

  1. ct.js es un agregado interesante por que es como un Entorno de desarrollo para hacer juegos en javascript de hecho dentro de si mismo dispone de tutoriales para aprender a programar y crear un juego en su doc interna.

Deja un comentario