Il medico del bilanciamento
Una macchina che gioca a Sigilwake contro se stessa, migliaia di volte a notte, ausculta il gioco, misura dove sta male e propone la cura. Questa è la storia di come abbiamo smesso di bilanciare a mano — e di come lo stesso cervello che oggi impara a combattere, un giorno terrà in equilibrio l'intero roster.
Atto primoIl giorno in cui abbiamo smesso di bilanciare a mano
C'è un momento preciso in cui un gioco di combattimento smette di essere un'idea e diventa un problema di matematica.
Per noi è arrivato un martedì. Un personaggio vinceva troppo. La correzione sembrava banale: abbassa di poco il danno della sua mossa più forte, e sei a posto. Poi ti fermi. Perché quel personaggio non gioca da solo: gioca contro tutti gli altri. Abbassare quel numero lo indebolisce contro chi già lo batteva, e lo lascia comunque forte contro chi già perdeva. Sposti un tassello e ne tremano ventitré. Rifai il conto. E ti accorgi che a mano non ne esci più.
Da quel martedì abbiamo iniziato a costruire una cosa che chiamiamo, con una battuta interna, il medico del bilanciamento: un sistema che ausculta il gioco, misura dove sta male e propone la cura. Questo è il primo capitolo della sua storia.
Il cuore artistico che genera il grattacapo tecnico
Ognuno dei 24 personaggi ha un suo kit: mosse, passiva, statistiche, un'identità di combattimento distinta. Uno assorbe il gelo e lo restituisce a chi lo colpisce. Uno brucia lentamente l'avversario nel tempo. Uno controlla la mente. Sono personalità, non skin. Ed è proprio questa varietà — il cuore artistico del gioco — a generare il grattacapo tecnico.
Il problema: un incubo combinatorio
Un gioco competitivo è "bilanciato" quando nessun personaggio è una scelta obbligata e nessuno è inutile. Detto in numeri: ognuno, sul lungo periodo, dovrebbe vincere più o meno la metà delle volte. Cinquanta e cinquanta. È il punto di equilibrio in cui la partita la decide la bravura di chi gioca, non la sfortuna di aver pescato il personaggio sbagliato.
Il guaio è quante coppie bisogna tenere a bada contemporaneamente. Con 24 personaggi, gli accoppiamenti possibili sono 552 (ogni personaggio contro gli altri 23). Ogni singola modifica — un danno, un costo, una durata — non tocca un duello: ne ridisegna a cascata decine. È come registrare un'orchestra dove ogni volta che accordi uno strumento ne stoni altri venti. Un designer umano, davanti a questa griglia, procede a intuito e a tentativi: cambia, gioca qualche partita, spera. Ma qualche partita non basta a distinguere il vero squilibrio dal caso. Servono migliaia di duelli per ogni coppia prima che il numero diventi affidabile — e nessuno ha il tempo di giocarli a mano.
glacius è una striscia di verde acceso — fino a 100 contro mezzo roster; quella di umbral, all'opposto, è punteggiata di zeri. Quelle 552 caselle, tutte insieme, sono il problema reso visibile.Questa griglia è la fotografia dell'incubo. Cinquecentocinquantadue caselle, ciascuna un verdetto. Un occhio umano ci si perde. Il verde troppo intenso è un personaggio che schiaccia; il rosso pieno è uno che viene schiacciato. L'obiettivo è portare l'intera tabella verso una tinta uniforme — né dominatori né vittime — sapendo che ogni pennellata ne sposta molte altre. A mano, è ingovernabile.
La tesi: e se giocasse la macchina?
A quel punto la domanda si capovolge da sola. Se il problema è che servono troppe partite e troppi conti, perché farli fare a un essere umano?
E se fosse una macchina a giocare il gioco contro se stessa, migliaia di volte a notte, a misurare da sola dove pende la bilancia e a proporre le correzioni?
È l'idea che gli scacchisti conoscono da anni: un programma che gioca milioni di partite contro se stesso impara cosa funziona meglio di qualunque maestro umano. Noi l'abbiamo girata verso un fine diverso. Non vogliamo un'IA che vinca: vogliamo un'IA che, giocando bene tutti i 24 personaggi contro tutti, faccia emergere gli squilibri reali — quelli che si vedono solo quando entrambe le parti giocano al meglio — e poi suggerisca la ricetta per correggerli.
tier5, il più forte) e quante partite per ogni coppia (10, cioè oltre 5.500 duelli a ogni giro). Al centro i comandi — "Stop auto-tuning" in rosso, "Regenerate sandbox" in ambra, "Promote to data/live" spento e protetto dal lucchetto "Force apply". A destra lo stato: iterazione 4, ciclo vivo (pid 92233), e il NashGap a 0.0066 — un unico numero che riassume quanto l'intero roster è ancora lontano dall'equilibrio 50 e 50. Più scende, più il gioco è giusto.Il cruscotto qui sopra è la plancia di comando. A ogni giro il sistema fa disputare oltre cinquemila duelli — tutte le 552 coppie, ripetute — dentro un ambiente separato che non tocca il gioco vero. Poi condensa l'esito di quelle migliaia di partite in un solo numero, che noi chiamiamo NashGap e che potete leggere come "quanto siamo lontani dal 50 e 50 su tutto il roster". In questa istantanea vale 0.0066, a un soffio dalla soglia che consideriamo "bilanciato". È un termometro. Sale quando qualcosa peggiora, scende quando la cura funziona. Il medico non guarda più 552 caselle a occhio: guarda la febbre.
Il primo passo di un arco più grande
C'è un motivo se abbiamo investito in questo e non in una scorciatoia. Sigilwake sta costruendo, in parallelo, un'intelligenza artificiale di gioco di nuova generazione — una rete neurale in stile AlphaZero, la stessa famiglia di sistemi che ha imparato gli scacchi e il Go da zero, giocando contro se stessa. È la tecnologia di punta del progetto, quella che un giorno piloterà gli avversari a un livello che un giocatore umano fatica a raggiungere.
E qui le due strade si toccano. La stessa rete che oggi stiamo insegnando a combattere, una volta arrivata a livello professionistico, potrà bilanciare il roster da sola. Ma c'è un ordine da rispettare, e non è negoziabile: per addestrare quella rete su una fisica di gioco che sia davvero quella vera serve prima un roster pulito, senza dominatori e senza vittime. Un gioco bilanciato è il banco di prova su cui la rete impara. Se le mostri un mondo storto, imparerà a giocare storto. Ecco perché il medico del bilanciamento viene prima: non è un accessorio, è la fondamenta su cui poggerà tutto il resto. Torneremo su questo legame nell'ultimo atto — è più stretto di quanto sembri.
Il sistema che vedete oggi non usa ancora una rete neurale — usa un motore statistico più semplice e trasparente, ed è una scelta deliberata: prima si costruisce lo strumento affidabile, poi lo si potenzia. Ma la direzione è segnata. Il primo mattone è questo: una macchina che gioca contro se stessa e misura la febbre del gioco. Apriamo il cofano.
Atto secondoLa macchina che gioca contro se stessa
Un reparto sperimentale, isolato dal gioco vero
Il modo classico di scoprire se un roster è equo è farci giocare centinaia di persone per mesi e leggere le lamentele. Noi abbiamo costruito qualcosa di diverso: una macchina che gioca contro se stessa, migliaia di volte per ogni accoppiamento, dentro un reparto sperimentale sigillato che non tocca mai il gioco pubblicato.
Lo chiamiamo sandbox — una parola che qui significa esattamente "recinto di sabbia": un'area protetta dove si può rompere tutto senza conseguenze. Il gioco vero, quello che gireranno i giocatori, vive nei suoi file. Il reparto sperimentale lavora su una copia. Le due cose non si toccano mai, per costruzione. È la stessa disciplina di un laboratorio farmaceutico: il farmaco sperimentale non entra in corsia finché qualcuno con la firma non decide che è pronto. Qui la firma è di un umano, sempre. Torneremo su questo — è il punto che rende tutto il sistema sicuro invece che pericoloso.
Il cruscotto che avete visto nell'atto primo è la plancia di questo reparto. Si legge a colpo d'occhio, come il quadro strumenti di un'auto. A sinistra la configurazione — la bravura dell'avversario (tier5, quello che gioca senza pietà) e le dieci partite per ogni accoppiamento, che moltiplicate per 552 coppie fanno oltre undicimila duelli per ogni giro di giostra. Al centro i comandi, con un solo pulsante rosso: fermare la messa a punto, il grande stop di emergenza che chiude l'iterazione in modo pulito senza lasciare nulla a metà. E, in fondo, l'unico pulsante che tocca il prodotto pubblicato: promuovere al gioco vero, volutamente scomodo, protetto da un lucchetto (Force apply) che va tolto a mano. Non si promuove niente per sbaglio.
NashGap: 0.0066 — la nostra misura di quanto il roster è lontano dall'equilibrio perfetto 50 e 50. Prendi ogni personaggio, guarda quanto si discosta dal vincere metà delle partite, eleva al quadrato ogni scarto (così gli sbilanci grossi pesano molto di più) e fanne una media. Più il numero è vicino a zero, più il gioco è giusto. A0.0066siamo vicini, ma non ancora dentro il bersaglio che ci siamo dati (0.005) — e pretendiamo tre iterazioni di fila tutte verdi prima di dichiarare vittoria, come un medico che non dimette il paziente al primo esame buono.
La vista d'insieme: guardare l'iterazione mentre respira
Il cruscotto dice come sta. La vista d'insieme dice cosa sta facendo, adesso.
0.0066, scarto del personaggio peggiore 0.272 (il malato più grave in corsia), 42 minuti trascorsi, 5 proposte di modifica accumulate. Sotto, la riga viva: 3.165 / 11.040 partite, turno medio 19,9, insta-kill 0. E la classifica dei 24 aggiornata: glacius in testa con un imbarazzante 83,3%, cenere ultimo al 37,8%, il grosso del roster stretto tra 44% e 56%.In cima, sei tessere riassumono la sessione. Poi la riga che si muove sotto gli occhi:
LIVE ITER 4 — 3.165 / 11.040 partite · 28,7% · trascorsi 23m · turni medi 19,9 · insta-kill 0
Undicimila duelli in coda, un terzo già combattuti. E dei numeri di qualità che sono musica per un designer: la partita media dura quasi venti turni — non troppo lampo, non eterna — e i colpi che uccidono al primo turno sono zero. Nessuno viene fulminato prima di poter giocare. Questo è ciò che vogliamo: duelli che si decidono con le mosse, non con la fortuna del sorteggio.
3.925 duelli campionati: si va da un minimo di 7 a un massimo di 51 turni, con la gobba che si addensa attorno ai 19 turni (429 partite, la durata più frequente). Né lampi né maratone — la forma della curva conferma quel turno medio 19,9: le partite si giocano, non si subiscono.Sotto, la classifica di tutti e ventiquattro in diretta. E qui l'onestà del sistema si vede subito. In cima, in verde acceso, glacius all'83,3%. In fondo, cenere fermo al 37,8%. La stragrande maggioranza del roster è raccolta tra il 44% e il 56% — il grosso della squadra è già bilanciato — ma i due estremi urlano. Il sistema non li nasconde: li mette in prima pagina. Un cruscotto che mostrasse solo i numeri belli non servirebbe a niente.
run 1 → run 4), con la banda sana 0,5 ± 0,07. Il grosso delle linee è ormai un fascio stretto attorno al 50%: la squadra si è assestata. La linea magenta isolata in alto è glacius, ancora fuori banda a circa 77% — l'ultimo malato che il sistema sta riportando giù, iterazione dopo iterazione.
3 ms, quasi mai sopra i 9. Gli accoppiamenti decisi in partenza — aurora 0% · 100% solaris, aeryn 0% · 100% glacius — dove un personaggio perde tutte le partite contro un altro. La curva della distanza dall'equilibrio che scende verso il bersaglio (0,0097 → 0,0066). E le barre verdi delle modifiche proposte: a questo stadio quasi tutti potenziamenti, non tagli.Scorrendo più in basso arriva la diagnostica. L'avversario simulato ragiona in un battito di ciglia — è un giocatore forte e istantaneo, il che rende attendibile giocarci contro undicimila volte in un'ora. Poi la lista che fa male: gli accoppiamenti decisi in partenza, sfide dove un personaggio perde tutte le partite contro un altro. Zero su dodici. In gergo scacchistico è un hard counter: una posizione persa in apertura, qualunque cosa tu muova. Questi sono i casi più gravi, perché — come vedremo nell'atto dedicato al Doctor — non si sistemano ritoccando un numero. Vanno riprogettati.
15.338 turni: minimo 1 ms, media 3 ms, 95° percentile 10 ms, con una punta isolata a 279 ms. È questa istantaneità a rendere praticabile giocare undicimila duelli in un'ora — un avversario forte e immediato.E infine la curva che dà speranza: la distanza dall'equilibrio scende iterazione dopo iterazione, puntando alla linea tratteggiata del bersaglio. È la temperatura del paziente che cala. Sotto, delle barre verdi contano le modifiche proposte a ogni giro — a questo stadio quasi tutte potenziamenti: il sistema sta cercando di tirare su i deboli prima di abbassare i forti.
0,008, dritto oltre il bersaglio tratteggiato a 0,005, giù fino a 0,0038: più che dimezzato. Un solo tratto in discesa dice tutto — la cura funziona, e la distanza dall'equilibrio continua ad assottigliarsi anche oltre l'obiettivo che ci eravamo dati.
glacius in testa (0.272), seguito da umbral, solaris, cenere, lyra. E una console che scorre gli eventi con l'ora esatta: loop_start, iter_end nash=0.0066. Ogni cosa che il sistema fa lascia una traccia leggibile. Niente magia, niente scatole nere.La griglia: chi batte chi
La classifica dice quanto vince ciascuno. Ma nasconde una domanda più profonda: vince contro chi? Un personaggio al 50% potrebbe essere onestamente equilibrato — oppure potrebbe stritolare metà del roster e farsi stritolare dall'altra metà, con la media che maschera il disastro. Per vederlo serve la mappa completa: è la radiografia a corpo intero che avete incontrato in apertura, la griglia 24×24 di tutti gli accoppiamenti.
Un occhio esperto la legge come una lastra. La riga di glacius è una striscia di verde acceso — è lui il malato più forte, quello che rende il gioco ingiusto. La riga di umbral, all'opposto, è punteggiata di rossi e di zeri: perde ovunque. E poi le caselle estreme, quei 100 e 0 secchi sparsi qua e là: gli accoppiamenti decisi in partenza, le condanne d'apertura. La griglia le rende visibili tutte insieme, in una sola immagine. È esattamente ciò che un designer umano impiegherebbe settimane a compilare a mano — e qui si rigenera a ogni iterazione, da sola.
Il carattere di ciascuno: non solo se vince, ma come
C'è un'ultima domanda, la più sottile, e per un gioco è forse la più importante. Un personaggio può essere perfettamente bilanciato al 50% e ciononostante essere noioso: se vince sempre spammando la stessa identica mossa, i numeri sono a posto ma il divertimento è morto. L'equilibrio statistico non basta. Serve profondità.
H), la concentrazione del colpo di grazia (kb: oltre 0,7 scatta l'etichetta rossa 1-trick) e le abilità mai usate. In fondo, con la spunta verde, raiden: 50,0%, deviazione 0,000 — il personaggio perfettamente centrato. È lì che vogliamo portare tutti gli altri.Ecco perché accanto alla percentuale di vittoria mettiamo tre indicatori che raccontano la qualità del gioco, non solo il risultato:
La diversità delle scelte (H) misura quanto un personaggio usa davvero tutto il suo arsenale. Un valore alto (verso 1,0) significa che alterna le sue quattro abilità come un pugile che varia i colpi; un valore basso tradisce un giocatore monocorde. Seraph e tessara brillano qui (0,95, 0,94): giocano ricco. Umbral, oltre a perdere, si appoggia a poche mosse, con una diversità appena 0,71.
La concentrazione del colpo di grazia (kb): quante vittorie vengono chiuse dalla stessa, identica mossa finale. Oltre il 70% scatta l'etichetta rossa 1-trick — il personaggio che ha imparato una sola sequenza vincente e la ripete. Il sistema la stampa in chiaro su theron, zephyr, seraph. Sono equilibrati sui numeri, ma vanno resi più vari.
Le abilità morte (dead ab): mosse che il personaggio, potendo, non sceglie mai. Un'abilità morta è codice sprecato e una promessa mancata al giocatore. Quasi tutte le schede ne segnalano una o due. In cima alla lista ritroviamo i soliti noti — glacius col suo 77,2% e il triangolino d'allarme, poi umbral, solaris; in fondo, centrato al millimetro, raiden.
Perché il recinto di sabbia è tutto
Fermiamoci un attimo sul punto che rende questo sistema difendibile e non pericoloso. Tutto ciò che avete visto — le migliaia di partite, la griglia che si riempie, le proposte di modifica che si accumulano — accade dentro il reparto sigillato, su una copia. Mentre la macchina macina undicimila duelli, il gioco pubblicato non cambia di una virgola. Il team può lavorare all'arte, ai menù, a una nuova modalità, e nessuno vede i numeri muoversi sotto i piedi.
E la porta tra il laboratorio e la corsia si apre solo con una firma umana. Quel pulsante promuovi al gioco vero, spento e protetto dal lucchetto, è l'unico varco. La macchina può proporre quanto vuole; applicare al prodotto reale è una decisione, non un automatismo. È la differenza tra un assistente che ti prepara la diagnosi e un robot che ti opera da solo. Noi abbiamo costruito il primo, di proposito.
Questa è la macchina che gioca contro se stessa: instancabile nel misurare, spietata nel mostrare i difetti, e per costruzione incapace di rompere il gioco vero senza che un umano lo decida. Misura dove è rotto l'equilibrio con quattro strumenti diversi. Ma su un caso — i personaggi condannati in apertura, i 0% che nessun ritocco numerico può salvare — anche la migliore delle misure si ferma. Lì non serve un termometro più preciso. Serve un medico che riprogetti il paziente.
Atto terzoBalance Doctor: dal farmacista al chirurgo
Abbiamo costruito un medico per il problema dell'equilibrio. Si chiama Balance Doctor, e vive dentro un cruscotto. Come un vero medico, lavora su due livelli. Il primo livello aggiusta il dosaggio. Il secondo — quello nuovo, la novità di questo capitolo — interviene quando la diagnosi è che l'anatomia del paziente è sbagliata, e nessun dosaggio la raddrizzerà.
Il cruscotto della diagnosi
BUFF) e 5 da limare (badge rosso NERF). Accanto, il NashGap 0.00662 e l'anomalia "medium". Poi una scheda per ogni malato: la più grave è umbral, che vince il 38,8% (11,2 punti sotto la linea di galleggiamento); all'estremo opposto eclisse, 58,2%, otto punti sopra. Ogni scheda propone già la cura e ne stima l'effetto.Il Doctor apre con una diagnosi da referto. Poi, il corpo del referto: una scheda per ogni malato, con la cura già scelta ("chosen patch") e l'effetto atteso. Non è un elenco di opinioni. È una lista di interventi con un numero accanto a ciascuno, come un piano terapeutico:
- umbral → costo di Artiglio Oscuro da
80a68(renderla più economica): impatto stimato +5,3 punti. - eclisse → potenza di Freccia del Vuoto da
4.2a3.78: circa 3,5 punti di rientro verso la banda, dall'alto. - theron → durata dell'effetto di stato di Lama Biforcuta da
3a4turni: +5,8 punti. - aurora → costo di Cura Maggiore da
100a85: +5,3 punti.
glacius, che vince il 78,8% (+28,8 punti sopra la linea), etichetta rossa NERF. La cura scelta è chirurgica e leggibile a colpo d'occhio: costo di Morso di Gelo da 50 a 62, impatto stimato +8,4 punti verso la banda. In fondo, 2 alternative pronte se questa non bastasse.Livello uno: girare le manopole
80→68, potenza 4.2→3.78, durata 3→4. In basso, il NashGap che scende: 0.00969 tre cicli fa, 0.00662 adesso — il roster si è avvicinato all'equilibrio del 31,6% in tre giri.Il Doctor ha a disposizione un pannello di manopole — il costo di un'abilità, quanto il suo danno cresce con la statistica del personaggio, la durata di un congelamento, la probabilità che un colpo stordisca — e le gira una tacca alla volta. Nessuna abilità viene stravolta: si aggiusta la dose e si rimisura. E funziona, entro i suoi limiti: girando manopole, il medico porta la maggioranza dei personaggi dentro la banda sana.
buff e quanti nerf il sistema ha proposto, e il NashGap di partenza. Nei primi giri una modifica per volta, sempre un potenziamento (1 buff · 0 nerf): la strategia è tirare su i deboli prima di limare i forti, un parametro alla volta, rimisurando dopo ognuno.
cenere risale piano (39% → 40% → 41%) e lyra con lei: il paziente reagisce. solaris, invece, resta inchiodato (61% → 61% → 61%), immobile per tre cicli. E glacius scende con la lentezza di chi non vuole guarire (83% → 78% → 77%). Su alcuni personaggi puoi girare la manopola quanto vuoi: l'ago non si muove come dovrebbe.Ma qui affiora il limite. Le traiettorie dei cinque casi più ostinati raccontano due storie diverse: alcuni reagiscono, altri restano piantati dove sono. Su certi personaggi la taratura non basta più.
Quando le manopole non bastano
C'è una categoria di pazienti su cui la taratura non solo non basta — peggiora le cose. Il caso che ci ha aperto gli occhi si chiama boreus, un custode del ghiaccio pensato per assorbire i colpi e restituirli. Sulla carta un concetto elegante. Nei fatti, cronicamente sotto la linea, e — questa è la parte perversa — ogni volta che lo rinforzavamo, vinceva di meno. Abbassi il costo delle sue abilità? Peggiora. Aumenti la potenza? Peggiora ancora.
0% o 100% su tutte e quindici le partite: aurora perde ogni duello contro prisma, solaris e raiden; aeryn non vince mai contro glacius; e boreus viene spazzato via da aurora (0%). Non sono squilibri di pochi punti: sono hard counter, sfide perse in partenza. Nessuna manopola girata di una tacca li raddrizza — è il sintomo di un concetto sbagliato, non di una dose sbagliata.Quando ogni cura fa ammalare di più, la diagnosi cambia natura. Il problema di boreus non è il dosaggio. È il concetto: il modo in cui le sue abilità, la sua passiva e la sua identità di combattimento si incastrano è internamente contraddittorio. Nessuna manopola raddrizza un'anatomia storta. Serve un chirurgo, non un farmacista.
Il pezzo verificabile: il diff
Prima di parlare del chirurgo, una prova di onestà. Tutto quello che il sistema propone finisce in un posto solo, e quel posto mostra codice vero, riga per riga, prima che qualcosa vada in produzione.
abilities.json: sei righe aggiunte, zero rimosse — le "spine" della passiva di boreus. characters.json e game_config.json: "nessuna modifica", la copia è identica al live. Niente scatola nera.E qui si vede il ridisegno di boreus, concreto. Alla sua passiva viene aggiunto un nuovo blocco:
data/abilities.json vs overlay/abilities.json +6 · −0 "flatValue": 15, "multiplier": 1, "type": "counter"+ },+ {+ "affectsSelf": true,+ "flatValue": 8,+ "trigger": "cantAct",+ "type": "auraDamage" } ], "element": "gel",
Tradotto: delle "spine" sempre attive. Chi colpisce boreus incassa un danno di ritorno costante, senza che lui debba far nulla — coerente con la sua identità di difensore che punisce chi lo attacca. L'intervento è chirurgico e circoscritto, leggibile da un umano in dieci secondi prima di toccare la produzione. Questa è la prova che l'output del sistema non è una slide: è codice reale e verificabile.
Il salto del 3.0: ridisegnare, non ritoccare
Le "spine" di boreus non sono una manopola girata di una tacca: sono un pezzo di kit ridisegnato. È questo il livello 3.0 del medico — smettere di tarare numeri e iniziare a ripensare la struttura del personaggio.
Il chirurgo ragiona su due basi di conoscenza che gli abbiamo dato in mano. La prima è la lore di ogni personaggio: chi è, di che elemento è fatto, che carattere ha, come combatte. La seconda è l'enciclopedia delle meccaniche del motore: tutti i mattoncini con cui un'abilità può essere costruita — danno d'aura, furto di vita, contrattacco, controllo, scudi. Con questi due libri aperti, il Doctor 3.0 può proporre interventi prima fuori portata: aggiungere o togliere un effetto, scambiare un'abilità, cambiare la condizione che la fa scattare, riprogettare la passiva da capo, cambiare l'archetipo, o forgiare una firma unica.
Sono operazioni potenti — e per questo pericolose. Un numero storto rovina un personaggio; un concetto storto ne rovina l'idea. Perciò il ridisegno viaggia con due garanzie non negoziabili:
- Cita la lore alla lettera. Ogni proposta deve agganciarsi a una frase testuale delle schede narrative del personaggio — non una parafrasi, la citazione esatta. È il nostro anticorpo contro l'invenzione: se il sistema non trova nella lore una giustificazione letterale, la proposta viene rifiutata dal controllore prima ancora di arrivare a noi.
- L'ultima parola è sempre di un essere umano. Nessun ridisegno strutturale si applica da solo, mai. La proposta compare nel cruscotto con due bottoni — Approva / Rigetta — e resta lì, in pausa, finché non è una persona a cliccare. Nessuna scorciatoia, nessuna modalità automatica. Il raggio d'azione è troppo ampio per delegarlo a una macchina.
Nulla di tutto questo è teorico. Ecco quel veto umano al lavoro — e la macchina che ne esce più affilata — su un personaggio di nome neve:
La lezione onesta: "progetta" contro "scegli"
Vale la pena raccontare un errore, perché è istruttivo. La prima versione del chirurgo era la più ambiziosa: dare all'intelligenza artificiale un foglio bianco e dirle "progetta tu il personaggio da zero". Elegante in teoria. In pratica, un disastro di lentezza: la generazione impiegava oltre quattro minuti e mezzo, e il più delle volte non partoriva alcuna proposta — andava in stallo. Un chirurgo che medita così a lungo davanti al paziente aperto non è un chirurgo utile.
La diagnosi è stata precisa: non era colpa della dimensione del problema né dell'ambiente. Era il compito a essere troppo pesante — "progetta da zero" è un atto di ragionamento aperto, senza appigli. La correzione ha ribaltato l'impostazione, e la chiamiamo "design → curate": adesso è il codice a generare un ventaglio di opzioni già valide — tutte agganciate alla lore, tutte compatibili col motore — e l'intelligenza artificiale si limita a scegliere la migliore e a spiegarla in italiano. Da inventore a curatore. Risultato misurato su boreus: da "oltre quattro minuti e quasi mai una risposta" a una proposta valida in circa 50 secondi, con una rete di sicurezza che garantisce che una proposta ci sia sempre. La lezione generale: quando chiedi a un'IA di ragionare nel vuoto paghi in tempo e affidabilità; quando le dai opzioni concrete tra cui scegliere, vola.
Le cinque fasi, in una frase
Sotto il cofano, il medico 3.0 è cinque tappe in fila: (1) raccogliere la lore di tutti i personaggi in un archivio ordinato; (2) catalogare ogni meccanica del motore in un'enciclopedia consultabile; (3) costruire gli attrezzi del chirurgo — le mosse di ridisegno più il controllore che le valida; (4) collegare l'intelligenza artificiale che sceglie e motiva; (5) cucire il tutto nel cruscotto, con i bottoni Approva / Rigetta e la pausa obbligatoria per la firma umana.
Atto quartoIl collegamento al cervello: perché questo medico allena il campione
C'è una domanda che, a questo punto, un investitore attento farebbe: e allora? Un roster equilibrato è bello, ma è il fine o il mezzo?
È il mezzo. Tutto quello che il medico del bilanciamento fa — misurare i winrate, disegnare la matrice di chi batte chi, calcolare quanto il roster è lontano dall'equilibrio, proporre le cure — non è un traguardo a sé. È il tavolo operatorio su cui costruiamo il vero paziente: una rete neurale di gioco.
Cosa stiamo costruendo davvero
Nel motore di Sigilwake l'avversario, oggi, è pilotato da un'intelligenza artificiale che pensa "a forza bruta": esamina molte mosse in avanti e sceglie la migliore. Solida, ma cieca alle strategie composte, quelle che si dipanano su dieci turni. Il passo successivo è una rete della stessa famiglia che ha battuto i campioni del mondo di Go e di scacchi: una parte che propone le mosse, una che stima chi sta vincendo, e un pianificatore che esplora tra le dodici e le venticinque mosse in avanti.
11,64%, con l'obiettivo dichiarato di scendere sotto il 5% prima di dire "si parte".Attorno a questo cuore, tre estensioni che pochissimi studi si permettono. Un modello del mondo appreso: la rete impara a immaginare come evolve la partita, mossa dopo mossa, senza ricalcolare ogni dettaglio dello scontro — sogna i rollout invece di simularli. Personalità diverse per i boss: lo stesso cervello, con un piccolo "codice di stile", gioca come un bruto aggressivo o come un tessitore paziente di controllo. Otto personalità da un solo modello, non otto modelli separati. E l'adattamento durante il match: un sottile strato che si mette a punto nel corso della singola partita, così il boss di fine gioco impara il tuo stile in due o tre turni e cambia passo.
Il pezzo di integrazione più rischioso — far girare la rete dentro il server di gioco invece che in un servizio a parte — è già stato provato e consegnato: venti milionesimi di secondo per decisione, latenza sotto il millesimo di secondo anche al 99° percentile.
Il legame preciso: due direzioni, un solo cervello
Ecco perché il bilanciamento non è un lavoro parallelo, ma il primo gradino della stessa scala. Il legame è a doppio senso.
Direzione uno — il roster equilibrato è il prerequisito per allenare la rete. Una rete neurale impara dai dati. Se le dai partite giocate su un roster rotto — dove un personaggio vince nel 5% dei casi per un difetto di progetto, non per scelte del giocatore — non impara a giocare bene: impara a sfruttare quel difetto. E anche dopo la correzione, ci vuole moltissimo riaddestramento per smaltire il vizio appreso. Nella nostra tabella di marcia interna questo è, alla lettera, il prerequisito numero uno. Vale lo stesso per la fisica del combattimento: la rete predice sulla base di un simulatore interno, e quel simulatore deve corrispondere al motore reale. Oggi lo misuriamo di continuo — la divergenza è scesa all'11,64%, l'obiettivo è portarla sotto il 5%. Un chirurgo non opera su una radiografia sfocata. Il medico del bilanciamento è ciò che mette a fuoco la lastra.
Direzione due — a regime, la stessa rete si bilancerà da sola. Una volta che la rete gioca a livello professionale, non serve più un medico esterno che tara i numeri a mano: la rete gioca contro se stessa, per ogni singolo accoppiamento, misura i winrate e propone le correzioni. Il designer firma, o rifiuta. Tutto il macchinario che avete visto negli atti precedenti — il cruscotto, la matrice testa-a-testa, le traiettorie per personaggio, il Doctor che diagnostica — è la versione artigianale di un processo che un giorno la rete svolgerà da sé. Due capacità nello stesso cervello: giocare a livello pro, e tenere in equilibrio il gioco che gioca.
Ed è qui il vantaggio competitivo difendibile, detto senza gonfiare: pochissimi studi indipendenti hanno un'intelligenza artificiale che gioca a livello da campione. Ancora meno ne hanno una che, per giunta, sa bilanciare il proprio gioco da sola. Le due cose insieme, in un prodotto costruito da uno studio piccolo, sono rare.
Non è una slide: gira su infrastruttura vera
Vale la pena chiudere con una nota di concretezza, perché nel settore è facile confondere una roadmap con un rendering. Tutto questo — il loop di bilanciamento, i server di combattimento, il cervello che verrà — vive sopra la stessa infrastruttura di produzione che regge il gioco.
I numeri raccontano una macchina frugale. Decine di container, ciascuno che consuma una frazione della sua capacità, tutti con zero errori nell'ultima finestra di campionamento.