← Videojuegos

Cientos de mapas desde un CSV: sistema de tablero hexagonal modular en Unreal Engine 5

Una herramienta para generar tableros hexagonales completos en tiempo real desde un fichero de datos, sin assets pesados y con lógica por pieza.

unreal enginegamedevsystems designproceduraltools

Hay una pregunta que cualquier diseñador de juegos de tablero digital tiene que responder antes de escribir una línea de código: ¿cómo almacenas los mapas?

La respuesta obvia es la más costosa: modelar cada mapa, guardarlo como asset, cargarlo en memoria. Funciona, pero escala fatal. Un juego con cincuenta mapas distintos es cincuenta assets. Cincuenta tiempos de carga. Cincuenta archivos que mantener. Y cada vez que quieres cambiar algo, vuelves al editor.

Planteé el problema al revés: ¿y si el mapa no fuera un asset sino el resultado de leer datos?


La pieza como unidad de lógica

El sistema está construido sobre hexágonos. Cada hex es un actor independiente en Unreal Engine 5 con tres propiedades fundamentales:

  • Tipo de suelo — determina el terreno (tierra, agua, roca, bosque) y sus efectos de juego
  • Franqueabilidad — si las unidades pueden entrar en esa celda o no
  • Altura — condiciona la línea de visión, la cobertura y el coste de movimiento

La clave de diseño es que la lógica vive en la pieza, no en el mapa. Un hex de tipo roca siempre sabe lo que implica ser roca. No hay que codificar eso por separado para cada mapa. El diseñador define las reglas una vez, en la pieza, y el sistema las aplica automáticamente en cualquier tablero donde aparezca ese tipo de celda.

Pasted image 20260427171433.png

Esto hace la herramienta extraordinariamente modular: añadir un nuevo tipo de terreno es crear una variante de hex con sus propiedades. El resto del sistema lo adopta sin modificaciones.


Cientos de mapas. Un fichero de texto.

La verdadera potencia aparece cuando conectas el sistema a una fuente de datos externa.

La herramienta acepta un CSV como entrada. Cada fila del CSV es una celda: sus coordenadas en el tablero, su tipo de suelo, su altura, si es franqueable o no. El sistema lee ese archivo y construye el tablero completo en tiempo real, hex por hex, aplicando automáticamente la lógica que corresponde a cada tipo.

Pasted image 20260427171536.png

El resultado práctico es devastadoramente eficiente:

Espacio en disco. Un mapa complejo de 200×200 celdas cabe en un CSV de menos de 1 MB. Sin texturas de mapa, sin meshes específicos de nivel, sin datos redundantes. El sistema ya tiene todo lo que necesita para renderizar el terreno — solo necesita saber qué va dónde.

Velocidad de iteración. Cambiar el diseño de un mapa es editar un fichero de texto. Reequilibrar un nivel es ajustar unos números. Sin volver al editor, sin reexportar assets, sin recompilar nada.

Generación procedural trivial. Cualquier algoritmo que produzca un CSV con el formato correcto puede crear mapas. Ruido Perlin para terreno orgánico, generadores de mazmorra para mapas de interiores, exportadores de herramientas externas, o simplemente una hoja de cálculo editada a mano. El sistema no le importa quién escribió el CSV.

Pasted image 20260427173047.png


Lo que esto cambia en producción

En un pipeline de desarrollo tradicional, cada mapa nuevo es una tarea de producción: alguien tiene que construirlo en el editor, exportarlo, integrarlo, testearlo. Con esta herramienta, crear un mapa nuevo es escribir datos. Eso cambia el ritmo al que puedes iterar y la cantidad de contenido que puedes producir.

Un diseñador sin conocimientos técnicos puede crear un mapa válido en una hoja de cálculo y entregarlo como CSV. La herramienta lo carga sin intermediarios.

Cien mapas distintos no son cien veces más trabajo. Son cien filas más de datos.

Pasted image 20260427171702.png