Univoxel Demo técnica · futuro juego
Tema

Prototipo Unity 6 · Archipiélago procedural

UnivoxelCanarias, en voxels.

Un sandbox 3D en primera persona con motor voxel propio. No es un juego cerrado: es la demo técnica de un mundo que crece a partir de clima, costa y luz, con biomas que recuerdan el pinar, el malpaís y el sur de las islas.

Unity 6 URP · Jobs · Burst
16×160×16 Tamaño de chunk
2 versiones Motor, luego mundo
~85–170× Más rápido al generar

Qué es

Un prototipo de futuro juego, no un vertical slice cerrado.

Univoxel nació como un motor voxel escrito desde cero en Unity 6. El jugador camina, rompe y coloca bloques, pero el objetivo real no era clonar un sandbox conocido: era construir un mundo que se leyera como Canarias desde lejos —costa recortada, pinar en altura, basalto negro, dunas y un océano que no es un borde plano.

Entre enero y marzo de 2026 el proyecto se partió en dos olas. La primera hizo existir el voxel: mallas, colisión, agua, flora y una hotbar. La segunda le dio geografía: islas, biomas con reglas de clima y pendiente, ciclo día/noche y una iluminación que deja de ser un sol estático.

Dos olas de trabajo

  • v1 · enero 2026. Motor, chunks, greedy mesh, física al romper, agua y carga inicial para no caer al vacío.
  • v2 · feb–mar 2026. Islas procedurales, biomas canarios, LOD lejano, sombras, nubes y cielo por bioma.
  • Siguiente. Tipos de isla por isla real, inventario, pueblos y un loop de juego, no solo de mundo.

Versión 1 — El motor

Hacer que el mundo exista, se recorra y no se caiga a trozos.

Grabación de la primera versión

Enero 2026. Recorrido en primera persona del motor: terreno, flora, niebla y hotbar todavía en bruto.

Qué se cerró en v1

  • Chunks de 16×160×16, generación asíncrona y Jobs + Burst para no congelar el hilo principal.
  • Greedy meshing, caras ocultas y colliders horneados en segundo plano.
  • Agua sin caras verticales innecesarias, lava y debris al romper: el bloque se parte en cachos físicos.
  • Flora en cruz (X / X3D) con viento, árboles como estructuras voxel y GPU instancing.
  • Carga inicial: el jugador se congela hasta que mesh y collider del anillo cercano están listos.
  • Niebla lineal del color del cielo, nubes, sonidos al caminar, romper y colocar.
First person Hotbar Agua Debris Jobs + Burst

Versión 2 — Islas, biomas y luz

De un plano infinito a un archipiélago con clima.

La v2 deja de generar “un terreno” y empieza a generar islas. El mundo se parte en celdas de unos 1.400 bloques: unas tienen tierra, el resto es océano. Cada isla deforma la costa con domain warp, bahías y un ruido micro, y aplica su propia irregularidad (±50%) para que no se vean dos copias del mismo círculo.

Los biomas ya no son una textura de superficie. Son ScriptableObjects con temperatura, humedad, altura preferida, pendiente y, en el mar, profundidad. El pinar denso sube; el sur y el desierto se quedan más bajos; la costa de basalto ocupa el borde. El blend entre vecinos mezcla voxels en un radio configurable para que el cambio no sea un corte.

La luz pasa a ser un sistema: sunlight y blocklight por voxel (0–15), ciclo de 20 minutos, luna con fases, tinte de atardecer, nubes volumétricas por raymarching, SSAO y una exposición que baja al entrar en cueva.

Geografía procedural

  • Macro terreno: islas + océano, spawn siempre en tierra.
  • Radio, densidad y fusión suave cuando dos islas se tocan.
  • Batimetría: de playa a fondo (15–60 bloques bajo el agua).
  • Altura base distinta por bioma, con transición entre vecinos.
  • LOD 0 / 1 / 2: detalle cercano, greedy con sombras, y chunks lejanos por RenderMesh.
  • Cielo, niebla, viento y música cambian al cruzar de bioma.
Islas Biomas v2 Voxel light Sol / luna Nubes 3D

Biomas

Lectura canaria, no copia 1:1 de un mapa.

Costa de basalto

Malpaís y gravas. Picón, basalto negro y plantas bajas. Es el borde volcánico: Lanzarote, El Hierro, el litoral de Tenerife.

Sur

Ladera seca, tabaibas y suelo pobre. El sur de las islas, más bajo y más caliente, antes de llegar al pinar.

Pinar / pinar denso

Pino canario en altura. El denso sube más (base 80, relieve agresivo) y cubre cumbres como las de Tenerife o La Palma.

Desierto

Arena, dunas y poca flora. Lectura de Maspalomas o Fuerteventura, no un desierto genérico de Minecraft.

Océano

Bioma marino con profundidad. El fondo no es un cubo de agua infinito: hay costa, plataforma y fosa.

Bosque rosa

Bioma experimental de la v1. Se quedó como laboratorio de color, flora y niebla antes de anclar el mundo a Canarias.

El motor por dentro

Lo que hay detrás de las capturas.

Generación en Jobs

PopulateMap, mesh y flora pasan a Burst. De ~170 ms por chunk a ~1–2 ms en el hilo de trabajo. El main thread aplica malla y collider con presupuesto por frame.

Luz voxel

Dos canales por bloque: sunlight y blocklight, 4 bits cada uno. Soft shadows direccionales, SSAO, y exposición que oscurece al perder de vista el cielo.

Cielo y clima

SkyManager interpola cielo, horizonte y niebla según el bioma y la hora. Nubes volumétricas con presets Low–Ultra. Viento que mueve flora y cubre el cielo.

Mundo jugable

FPS clásico, menús con estética guanche, estructuras voxel (árboles, casa canaria), cuevas, agua, lava y un PlanetDNA para mundos deterministas.

Hacia el juego

La demo ya genera un archipiélago. Falta convertirlo en partida.

En el tablero

  • Tipos de isla ligados a islas reales, no solo a un hash de 4 variantes.
  • Inventario, crafteo y herramientas (pico, hacha, espada, lanzador).
  • Pueblos y edificios a partir del mismo sistema de estructuras que los árboles.
  • Lluvia, fluidos más ricos y capas verticales: fondo, cuevas, superficie, atmósfera.

Univoxel se muestra aquí como lo que es ahora: una demo técnica con dos hitos claros. El motor aguanta distancia, flora y rotura de bloques. El mundo ya sabe ser isla, pinar y atardecer. El juego —sobrevivir, construir, recorrer un archipiélago con reglas— es el siguiente acto, no el actual.