Un utente Reddit (u/toxicdog) ha fatto girare un LLM Gemma 4 direttamente dentro il motore grafico Godot 4.7, usando solo GDScript e shader Vulkan. Senza llama.cpp, Python, server né estensioni native: tutto avviene localmente. I calcoli del modello sono affidati agli shader di calcolo Vulkan, mentre lo script gestisce il caricamento del file GGUF, la tokenizzazione, il campionamento e l'interfaccia utente. Il risultato è un esperimento che supporta un solo modello — gemma-4-E2B-it in quantization Q4_K_M — e gira a una velocità dieci volte inferiore a llama.cpp con CUDA.

Perché il contesto è tutto

Questo tentativo non è un progetto pronto per la produzione, ma è un segnale di come la barriera tecnica per eseguire inference locale con modelli di grandi dimensioni (LLM) si stia abbassando. Un motore di gioco, progettato per rendering e fisica, viene piegato a uno scopo completamente diverso, sfruttando l'accesso alla GPU attraverso Vulkan. E lo fa senza alcuna dipendenza esterna: il modello e tutta la logica risiedono a bordo, in esecuzione sulla macchina dell'utente.

Questo ha implicazioni per chi distribuisce applicazioni interattive. Se un LLM può girare dentro Godot, allora un videogioco — o una simulazione, un ambiente di addestramento, un assistente integrato — può offrire dialoghi generati al volo, comportamenti narrativi non scriptati e interazioni linguistiche senza dover chiamare API cloud. Il tutto restando su dispositivo, con dati privati e latenza zero di rete. La sovranità dei dati è assicurata per progettazione, senza nemmeno doversi preoccupare di conformità GDPR o di costi di API.

Ma il rovescio della medaglia è nei numeri. Essere dieci volte più lento di un'ottimizzazione CUDA dedicata con llama.cpp non è un dettaglio trascurabile. Significa che, su hardware gaming di fascia media, un modello da diversi miliardi di parametri può richiedere secondi per produrre una singola frase. L'esperimento funziona perché il modello è piccolo (Gemma 4 ha da 2 a 27 miliardi di parametri a seconda della variante, e la quantization Q4_K_M riduce ulteriormente il footprint di VRAM), ma il divario di performance mette in luce il costo della generalità: Vulkan è un'API grafica e di calcolo multipiattaforma, ma le ottimizzazioni specifiche per transformer — come i kernel fusi su CUDA — non sono facilmente replicabili senza un investimento ingegneristico significativo.

Chi guadagna da questo scenario

La comunità degli sviluppatori indipendenti e dei modder. Godot è un motore open source con una crescente adozione, e poter sperimentare con un LLM in GDScript — un linguaggio simile a Python ma integrato nell'engine — senza impazzire con compilazioni native, apre la porta a prototipi rapidi. Anche i provider di hardware GPU ci guadagnano: ogni nuovo carico di lavoro locale che non finisce su un server cloud aumenta la domanda di schede capaci di calcolo generale, non solo di rasterizzazione.

Al contrario, i servizi cloud di inference (come quelli offerti dai grandi vendor) vedono questo tipo di esperimenti come una nicchia, ma la tendenza di lungo periodo verso l'elaborazione on-device riduce la loro presa su alcune categorie di applicazioni. Se un domani i game engine integrassero runtime di inference ottimizzati, la necessità di chiamate API per ogni dialogo verrebbe meno, con un risparmio sul costo operativo (TCO) per lo sviluppatore e un'esperienza più reattiva per l'utente.

Strutturalmente, cosa ci dice

Questo esperimento mostra che l'inference locale di LLM non è più confinata agli strumenti specializzati. L'ecosistema si sta allargando in modo trasversale: dal toolkit classico (llama.cpp, Ollama, vLLM) a motori di gioco, applicazioni di produttività, persino ambienti embedded. Il formato GGUF e la quantization consentono di trasportare modelli in contesti inaspettati, mentre le API di calcolo delle GPU consumer (Vulkan, DirectML, Metal) diventano progressivamente più capaci di eseguire reti neurali senza troppa fatica.

Resta il fatto che la distanza tra "funziona" e "funziona bene" è ancora ampia. La sfida è colmarla con integrazioni più profonde: se Godot o Unity includessero un backend di inference ottimizzato (magari usando llama.cpp come libreria), le prestazioni potrebbero avvicinarsi a quelle native, rendendo l'AI locale un componente standard dello sviluppo di giochi. Nel frattempo, chi sceglie oggi il deployment on-premise per LLM può guardare a queste sperimentazioni come a un indicatore di maturità: la tecnicia non è ancora matura per il grande pubblico, ma la direzione è chiara.

Il progetto, open source su GitHub, è un assaggio di quello che potrebbe diventare un mattone fondamentale per il game design del futuro: modelli linguistici non più come servizi esterni, ma come risorse integrate nell'architettura del gioco, caricate come texture e script, eseguite sullo stesso silicio che disegna i poligoni.