De cesped vacio a circuitos con vida
Las pistas no existen en el vacio. El espacio alrededor del asfalto importa — vende la escala, ancla la camara y convierte una vista 2D plana en algo que parece un lugar real. Asi es como The Undercut llena ese espacio con bosques generados proceduralmente.
Por que los arboles importan en un juego de carreras con vista cenital
A primera vista, los arboles en un juego 2D con vista cenital parecen pura decoracion. Pero cumplen varias funciones criticas:
- Indicadores de profundidad — las copas superpuestas con sombras rompen la planitud de la vista aerea y dan al terreno una sensacion de elevacion
- Referencia de escala — un coche pasando junto a un grupo de arboles comunica instantaneamente la velocidad y la distancia
- Enmarcado de la pista — la vegetacion guia naturalmente la mirada a lo largo del trazado del circuito, haciendo que las curvas y las rectas sean mas legibles
- Atmosfera — una pista desnuda sobre cesped plano parece un entorno de pruebas, no un circuito de carreras
El desafio: cada circuito se genera proceduralmente, asi que los arboles no pueden colocarse a mano. Necesitan surgir de los mismos datos que construyen la propia pista.
Tres capas de bosque
El sistema de vegetacion construye cada arbol a partir de tres capas apiladas, renderizadas desde arriba:
- Sombra en el suelo — una elipse grande, suave y oscura debajo de la copa. Ancla el arbol al terreno y proporciona la primera sensacion de profundidad. Una segunda capa de sombra mas ajustada anade variacion de densidad.
- Copa — el cuerpo principal del arbol. Cada copa es un conjunto de circulos superpuestos con ligera variacion de color y tamano, dando una silueta organica e irregular. Los cambios de tono dentro de un rango controlado mantienen la paleta natural evitando la monotonia.
- Sombra interior — un anillo oscuro sutil alrededor del borde interior de la copa. Esto simula el auto-sombreado que se ve al mirar hacia abajo en la corona de un arbol, anadiendo volumen sin ninguna geometria 3D.

La combinacion se lee como sorprendentemente tridimensional desde la camara cenital — las copas parecen flotar sobre el suelo, proyectando sombras reales debajo de ellas.
Reglas de colocacion
Los arboles se dispersan por el terreno usando un mapa de densidad derivado del trazado de la pista:
- Zonas de exclusion alrededor de la superficie de la pista, los pianos, las trampas de arena y el pit lane — ningun arbol debe bloquear la accion de la carrera ni superponerse con la geometria de la pista
- Caida de densidad — mas arboles cerca de los bordes de la pista (enmarcando el circuito), reduciendose hacia los limites del mapa
- Formacion de grupos — los arboles no aparecen individualmente. Un punto padre genera un pequeno grupo de 3 a 8 arboles con desplazamientos aleatorios, creando arboledas de aspecto natural en lugar de una cuadricula uniforme
- Variacion de tamano — cada grupo mezcla arboles de copa grande con otros mas pequenos, imitando un borde de bosque real donde los arboles altos protegen el crecimiento mas joven
El algoritmo de colocacion se ejecuta una vez cuando se genera el circuito — menos de 50 milisegundos para un bosque completo.
Ajuste en tiempo real
Conseguir el aspecto correcto requirio iteracion constante. En lugar de recompilar y recargar, cada parametro visual esta expuesto en un panel de depuracion en tiempo real:

El panel expone mas de 15 parametros:
- Shadow Alpha / Scale / Diffuse — controlan la oscuridad, el tamano y la suavidad de ambas capas de sombra
- Tree Factor — multiplicador global de densidad, controlando cuantos arboles pueblan la escena
- Shadow Offset — desplaza la sombra respecto a la copa, simulando un angulo solar
- Inner Shadow Alpha / Scale — el anillo de auto-sombreado dentro de cada copa
- Mipmap Bias — nitidez de la textura a diferentes niveles de zoom
- Hue Min / Max — el rango de tonos verdes en la copa, desde bosque oscuro hasta verde primaveral brillante
- Cumulative blending — las capas de sombra pueden mezclarse de forma aditiva en areas de mayor superposicion
Cada cambio se actualiza instantaneamente en la vista de la pista en vivo. Este ciclo de retroalimentacion hizo posible ajustar el aspecto exacto en minutos en lugar de horas — y adaptar rapidamente la paleta para diferentes temas de circuito o estaciones.
Manteniendolo rapido
El rendimiento importa — The Undercut apunta a 60 FPS incluso en hardware modesto, y un bosque completo puede significar cientos de arboles en pantalla.
Optimizaciones clave:
- Instanced rendering — todos los arboles comparten la misma geometria base, dibujados en un solo lote con transformaciones por instancia y offsets de color
- View frustum culling — los arboles fuera del area visible de la camara se omiten por completo
- LOD por zoom — en niveles de zoom lejanos, el detalle de las sombras se simplifica y los arboles pequenos se eliminan
- Texture atlas — las variaciones de copa se empaquetan en una sola hoja de texturas, evitando draw calls por arbol
El resultado: un bosque completo se renderiza en menos de 1 ms por frame, dejando el presupuesto de GPU libre para el renderizado de la pista, los coches y la interfaz.
El resultado
Lo que empezo como “anadir algo verde alrededor de la pista” se convirtio en un sistema que transforma genuinamente la sensacion del juego. Los circuitos que se veian planos y esteriles ahora parecen integrados en un paisaje. Las sombras venden profundidad. La variacion de color vende vida. Y como todo es procedural, cada pista generada obtiene un bosque unico que se adapta a su trazado — sin trabajo manual necesario.
Cada carrera, un nuevo circuito. Cada circuito, un nuevo bosque.
