Saltar al contenido principal
Volver al blog
Game Dev React Native

Pixel art procedural sin sprites: renderizado con Canvas

Cómo renderizamos toda la escena visual de Build Your Empire sin un solo sprite sheet — solo código, rectángulos y una paleta de colores.

JM
Javier Manzano
CTO & Co-founder • 25 de agosto de 2026
Pixel art procedural sin sprites: renderizado con Canvas

En Build Your Empire no hay un solo archivo de imagen para los gráficos del juego. Ni sprites, ni atlas de texturas, ni PNGs de edificios. Todo se dibuja en tiempo real con código.

La idea

Inspirados por los juegos de Kairosoft (Game Dev Story, Mega Mall Story), queríamos un estilo pixel art pero con una ventaja: que los gráficos fueran completamente dinámicos. La torre del jugador debía crecer visualmente cuando contrataba empleados. Los edificios rivales debían reflejar su progreso real.

Cómo funciona

Usamos @shopify/react-native-skia para dibujar en un Canvas nativo. La unidad base es un bloque de 8x8 píxeles:

// Un edificio es una pila de rectángulos con ventanas
function PlayerTower({ x, y, employees }) {
  const level = calculateLevel(employees); // 1-8 pisos
  const floors = [];

  for (let i = 0; i < level; i++) {
    // Pared
    floors.push({ x, y: y - i * BLOCK, w: 2 * BLOCK, h: BLOCK, color: '#5b8dd9' });
    // Ventana (alterna encendida/apagada)
    if (i % 2 === 0) {
      floors.push({ x: x + 2, y: y - i * BLOCK + 2, w: 4, h: 4, color: '#f4c26b' });
    }
  }
  // Tejado
  floors.push({ x: x + 2, y: y - level * BLOCK, w: BLOCK, h: 4, color: '#f4c26b' });

  return floors;
}

La paleta

Solo 7 colores definen toda la escena:

ColorHexUso
Púrpura cielo#1a0a3eCielo superior
Sunset#e8956bCielo medio
Gold#f4c26bCielo bajo, acentos
Azul torre#5b8dd9Edificio del jugador
Verde suelo#2d5a27Terreno
Púrpura UI#0d0820Fondo interfaz
Blanco ventanas#ffffffVentanas encendidas

Los 6 competidores tienen sus propios colores asignados, pero la estructura del edificio es la misma — solo cambia el color y la altura.

Ventajas del enfoque procedural

  1. Bundle mínimo — sin assets gráficos, la app pesa menos
  2. 100% dinámico — los edificios reflejan el estado real del juego
  3. Fácil de modificar — cambiar un color o proporción es cambiar una constante
  4. Sin conflictos de resolución — no hay escalado de bitmaps, siempre nítido
  5. Generativo — cada partida puede tener variaciones visuales

Cuándo NO usar este enfoque

  • Personajes con animaciones complejas (mejor sprites)
  • Estilos visuales que necesiten texturas o degradados orgánicos
  • Juegos con muchos objetos distintos (el código escala peor que un atlas)

El resultado

Una escena completa — cielo con gradiente, 7 edificios, árboles, personas y suelo — renderizada a 60fps en un iPhone SE. Todo con menos de 300 líneas de código de dibujo.

Ver el pixel art en acción →

No te pierdas nada

JM

Javier Manzano

CTO & Co-founder en Soamee

Apasionado por la tecnología y el desarrollo de software. Comparto conocimientos y experiencias para ayudar a otros desarrolladores a crecer.

¿Te ha gustado este artículo?

Si necesitas ayuda con tu proyecto de desarrollo, estamos aquí para ti.

Pixel art procedural sin sprites: renderizado con Canvas

Cuéntanos tu reto. Te proponemos solución.

Sin compromiso. En menos de 24 h recibes una propuesta con alcance, plazos y presupuesto. Sin letra pequeña.

Agenda call gratuita →