FEMCODE v0.1: Generación Procedimental de Mapas

Del 16 al 2 de julio tuvo lugar, de manera informal, el primer reto de programación de la comunidad de FemDevs. El objetivo consistía en escoger alguna mecánica o técnica utilizada en videojuegos, investigar bibliografía o juegos donde la utilizaran e implementarla, con plena libertad en cuanto a la elección de la tecnología o plataforma de distribución. A más alto nivel, la misión principal era practicar, aprender y divertirse.

Tras unos días de votación, el tema ganador fue la generación procedimental de mapas, por encima de otros como la implementación de cámaras 2D, sistemas de diálogos o lógica de combate por turnos a lo JRPG.

La creación automatizada de contenido es un área del desarrollo que suele resultar muy atrayente y se utiliza en un número cada vez mayor de juegos por una serie de razones. En primer lugar, por el reto que supone para los desarrolladores la lógica de generación en sí (ya sea un nivel de un plataformas como el Spelunky, un área en el Diablo 2 o un planeta completo como en No Man’s Sky), así como el ajuste y pulido de esa lógica de manera que ese contenido se sienta variado, nuevo y desafiante tanto mecánica como estéticamente. Si tenemos éxito aplicando este tipo de técnicas, podemos dotar a nuestros juegos de una rejugabilidad inmensa con un esfuerzo menor del que requeriría crear todo ese contenido de manera manual (dichos esfuerzos se centrarían en cambio en definir y revisar las reglas de los generadores).

Un ejemplo de cómo se ha generado un nivel en Spelunky (fuente)

Aunque la generación procedimental puede aplicarse a muchos tipos de contenido, en esta ocasión nos centramos exclusivamente en la creación de niveles. Inicialmente se había puesto el foco en la obtención de mapas más orgánicos, como sistemas de cavernas o islas pero decidimos abrirlo a otros tipos de niveles, como laberintos, o mazmorras con salas regulares, lo que ofrecía más posibilidades a la hora de explorar algoritmos.

A continuación enlazamos a las demos de las participantes, junto a un breve resumen de las mismas por parte de sus autoras. Desde los enlaces, además, puede accederse al código fuente y/o explicaciones más detalladas. Sigue leyendo