Illuminazione dinamica nella pixel art: il caso tecnico di Core Keeper

24 May 2026 Pubblicato | Tradotto dallo spagnolo

Core Keeper dimostra che la pixel art non è in conflitto con la tecnologia moderna. Sviluppato in Unity, il gioco combina sprite classici con un avanzato sistema di illuminazione per celle che proietta ombre in tempo reale. Ogni torcia posizionata dal giocatore modifica l'ambiente, rivelando minerali e nemici nascosti nell'oscurità. Questo effetto si ottiene tramite un buffer di luce che calcola la visibilità per tile, ottimizzando le prestazioni anche in scenari con decine di sorgenti luminose attive.

Illuminazione dinamica in pixel art di Core Keeper con ombre in tempo reale in Unity

Il motore di ombre per celle in Unity 🎮

Il trucco tecnico di Core Keeper risiede in un sistema di illuminazione 2D ibrido. Invece di utilizzare luci puntiformi tradizionali, il gioco impiega uno shader personalizzato che divide lo schermo in una griglia di celle (tile). Ogni cella memorizza un valore di luce che viene aggiornato dinamicamente in base alla distanza dalle torce. Ciò consente agli sprite di personaggi e oggetti di reagire al contorno dell'oscurità senza necessità di calcoli complessi per pixel. Aseprite è lo strumento chiave qui, poiché permette di progettare sprite con palette ridotte che mantengono la loro leggibilità in diverse condizioni di illuminazione, dalla penombra bluastra al bagliore caldo del fuoco.

Lezioni per sviluppatori indie 💡

Se cerchi di replicare questa atmosfera nel tuo progetto, dai priorità alla struttura dei dati rispetto al realismo grafico. In Unity, usa il sistema Tilemap insieme a uno script che gestisca un array bidimensionale di intensità luminosa. Definisci le tue sorgenti luminose come oggetti semplici che modifichino quell'array in un raggio specifico. Aseprite ti aiuterà a creare variazioni di colore per ogni sprite sotto diversi livelli di luce, evitando che il rendering in tempo reale distorca la palette originale. Il risultato è un'esperienza immersiva dove l'oscurità non è solo uno sfondo, ma un meccanismo di gioco attivo.

Come si implementa in Unity il sistema di illuminazione dinamica di Core Keeper per far sì che gli sprite in pixel art reagiscano a sorgenti luminose in tempo reale senza perdere l'estetica retrò

(PS: gli shader sono come la maionese: se si impastano, si ricomincia da capo)