Updated Our Journal (41): Sui Bardi Canterini, Le Voci Color Indaco e Le Pavimentazioni Mobili
TL;DR: Il Kickstarter di The Bard’s Tale IV tra due settimane; From the Depths: Indigo rilasciata; Nathan Fabian parla della creazione di pavimentazioni dinamiche; altre novità.
Salve a tutti,
Qui è Thomas che scrive. Recentemente io, Colin McComb e Adam Heine abbiamo fatto un altro viaggio di lavoro nella sede di inXile, dove ci hanno raggiunti Eric Schwarz (line producer di inXile e designer di Wasteland 2) e Mark Yohalem, scrittore nuovo di zecca. Come sempre è stata una visita produttiva: abbiamo analizzato i nostri progressi, con riunioni su diversi argomenti, ed in generale ci siamo assicurati che tutto procedesse per il verso giusto. Forse meno produttive ma altrettanto importanti sono state le nostre serate dedicate ai giochi da tavolo. Nella pagina Vine di Brian Fargo potete dare un’occhiata ai nostro incontro, con i cervelli dietro Torment in azione, la lettura drammatica di Colin, e potete ascoltare anche la voce di Colin e George. Ora che siamo tornati avremo parecchio di cui parlarvi, ma prima alcune novità per tutti gli Esiliati, non solamente per i Tormentati.
Siamo davvero emozionati per il nostro prossimo Kickstarter, The Bard’s Tale IV, che abbiamo recentemente annunciato, e che partirà il 2 di giugno! Seguite il conto alla rovescia sul nostro sito ufficiale o iscrivetevi per essere avvertiti al momento del lancio. Abbiamo anche pubblicato un’anticipazione dei tier che stiamo considerando di rendere disponibili. Potete unirvi alla discussione sui nostri forum ufficiali.
Se siete stati con noi lungo tutta questa pazza cavalcata finanziata da basso, potreste ricordarvi che abbiamo ottenuto i fondi per Torment durante la produzione di Wasteland 2. Questo deriva dalla nostra filosofia di business figlia dell’esperienza di Brian alla Interplay. Occuparsi della produzione di un singolo gioco alla volta, iniziando il successivo solo una volta terminato il precedente, porta a ridondanze in diversi settori. Per una piccola azienda come la nostra, ma persino per compagnie più grandi, questo ciclo di assunzioni-licenziamenti può essere tipico, ma è indesiderabile e dannoso sia per le persone che per le aziende. Ma così come il crowfunding ci ha permesso di realizzare i giochi a cui i publisher non erano interessati, il vostro supporto ci ha permesso anche di evitare questo ciclo. Avendo un team ridotto che si dedica alla pre-produzione del prossimo gioco mentre quello attuale è in piena produzione, tutti sono tenuti produttivamente impegnati.
La maggior parte del team di inXile è al lavoro su Torment: Tides of Numenera e la situazione resterà tale fino al lancio. Nessuno abbonderà il proprio lavoro su Torment finché questo non questo verrà ultimato. Alcune persone stanno lavorando agli aggiornamenti di Wasteland 2 Game of the Year Edition, e quando questo raggiungerà la fase di finalizzazione e testing, questo gruppo si dedicherà a Bard’s Tale IV. Come per Torment, Bard’s Tale IV avrà un periodo di pre-produzione in cui un piccolo team lavorerà sulla storia del gioco, i concetti, i sistemi e l’aspetto, mettendoci in condizione di passare alla fase di piena produzione quando arriverà il momento. Ma state tranquilli, finché Torment non sarà nelle vostre mani, continuerà ad essere la nostra preoccupazione principale.
Nel frattempo il nostro lavoro su Torment: Tides of Numenera sta procedendo alla grande, con tanto di passaggio a Unity 5. Vi daremo presto informazioni sulla produzione del gioco.
Una piccola ma importante parentesi: il contatore delle donazioni sul nostro sito ufficiale ha superato le 90.000 pledge! È un emozione per noi vedere il vostro continuo supporto, e siamo curiosi di scoprire cosa ci riserverà il futuro.
Rilasciata From the Depths: Indigo
Abbiamo appena rilasciato il secondo racconto della serie From the Depths (vi ricordiamo che i racconti From the Depths, scritti da autori impegnati nella creazione di TTON, illustrano nel complesso le cinque Tide. Per quanto non indispensabili al godimento del gioco, regalano una comprensione più approfondita del mondo e della sua ambientazione, ed inoltre aiutano il nostro team di designer ad esplorare e padroneggiare la natura delle Tide).
Se la Raccolta di Racconti in Formato Digitale faceva parte del vostro Tier, o se ci avete supportato con $15 per il relativo add-on, allora potrete riscattare SUBITO la novella Indigo (Indaco) sul nostro sito web. E' disponibile in versione DRM-free e in tutti i più comuni formati di ebook (epub, mobi, azw3 e PDF).
Lo scorso anno abbiamo rilasciato la novella Gold (Oro). Questo secondo racconto è opera di Ray Vallese, editor di Torment e veterano della linea Planescape, che ha collaborato con alcuni di voi per i vostri NPC e per le descrizioni dei vostri oggetti. La novella racconta la storia di Tuck, che si è stabilito a New Iqa, nelle vicinanze dell'Oasi di M'ra Jolios. Quando una calamità colpisce questo insediamento isolato, Tuck capisce che deve agire per salvare i sopravvissuti dispersi con l'aiuto del suo amico Baji. Baji gli ha sempre dato buoni consigli. Anche se è solo una voce nella testa di Tuck.
Un estratto del racconto:
(NdT. Si prega di tener presente che quella che segue non è in alcun modo una traduzione ufficiale)
La sacerdotessa avanzò verso Palene, ma senza avvicinarsi troppo. "Onorevole M'sem, non ci aspettiamo che tua gente condivida il tuo cibo senza una ricompensa. Possiamo commerciare. Guardati attorno. Non sono così misere le mie conoscenze in fatto di numenera - quelle che voi probabilmente chiamate reliquie degli antichi. Negoziamo un accordo che aiuti entrambi i nostri villaggi. Le creature che ci hanno attaccato potrebbero venire per voi la prossima volta. O forse i mutanti di M'ra Jolios si metteranno in marcia. Un'alleanza— ".
"Oh, sì, le creature", la interruppe Palene, con tono annoiato. "Mi pare di capire che il vostro piccolo campo qui sia stato disturbato da uno sciame di chelka. Che scioccante serie di eventi. Dovreste essere più cauti con ciò che si presenta alla vostra soglia. E' una cosa terribile non sentirsi sicuri nella propria dimora. Nessuno vi biasimerebbe se tornaste da dove siete venuti".
Non avevo mai sentito il termine sciame di chelka. E l'espressione sul volto di Eltria diceva che neppure lei lo aveva sentito. La sacerdotessa incalzò. " Come stavo dicendo, un'alleanza tra umani rafforzerebbe la valle e ci aiuterebbe tutti.
Possiamo anche essere divisi, ma lavorare insieme. Quello che sto proponendo"
"E' degno di un certo interesse, ne sono sicuro". Le parole di Palene si erano fatte più rapide ora. L'uomo si mosse attorno al tavolo e raccolse un cubo di metallo arrugginito da una mano sollevata. Il cubo era stato tagliato quasi a metà, e mostrava dozzine di filamenti che Palene aveva preso a torcere avanti e indietro, sogghignando mentre discutevano.
" Possiamo trovare un accordo", dissi. "Ci deve essere qualcosa che Warale vuole".
I suoi occhi castano chiaro mi sorrisero da sopra le chiazze blu sulle sue guance. "Ecco, sì: la vostra dipartita. Il fatto che siamo tutti umani non vi dà il diritto di occupare abusivamente le nostre terre. La valle era nostra prima del vostro attivo. Sarà nostra quando sarete morti. E allora spazzeremo via le vostre ossa e prenderemo ciò che vogliamo".
"Non siamo così deboli come sembri pensare", disse Eltria.
"Oh, vi ho offesi forse?" Palene si atteggiò ad una espressione esageratamente corrucciata. "Che ospite terribile sono. Ma è così stancante negoziare con dei bambini". L'uomo camminò verso la finestra, diede un colpetto sul vetro rinforzato con l'angolo del cubo e guardò fuori verso il villaggio. "Conosciamo questo luogo. Si trova vicino a M'ra Jolios. Riuscite a vedere la cupola da qui? Scommetto che potete. E' più probabile, quindi, che i mutanti estingueranno la loro sete con voi, liberando la valle dai suoi parassiti. Dobbiamo fare quello che è meglio per la valle. Sono sicuro che capirete".
"Io direi che ciò che è meglio per tutti è una questione di prospettiva."
Mi avvicinai a Palene e guardai in alto verso i suoi occhi, ingrossandomi più che potevo. "Noi offriamo amicizia e tu ci minacci? E' un grave insulto questo. Chiedo delle scuse".
Palene scoppiò a ridere: "O cosa? Farai a pezzi questo corpo?".
Serrai i pugni ai fianchi. Sapevamo entrambi che la mia era una minaccia vuota.
"Non mi dispiace essere alto" disse, comparando le nostre altezze. "Se solo la mia famiglia potesse vedermi ora. Se fosse possibile, mi tratterrei di più. Ma il sigillo si è sciolto quindi il mio tempo è quasi finito. Abbiamo risparmiato il vostro ridicolo messaggero in modo che potessi portarvi la nostra risposta di persona. Non sembrate in grado di cogliere i suggerimenti che vi abbiamo dato, perciò parlerò chiaramente: non ci saranno ulteriori incontri. Il prossimo messaggero che invierete a Warale farà una fine migliore. E tu, artigiana — lanciò il cubo a Eltria — " non sminuire le tue capacità. Tu Tu HAI misere conoscenze in fatto di numenera ".
Palene sorrise con freddezza, ma la sua espressione svanì mentre i suoi occhi ruotavano all'indietro e il suo corpo collassava come una marionetta. Scattai per afferrargli la testa prima che battesse al suolo e lo stesi a terra. Tornerà tra noi più o meno tra un'ora, agli dei piacendo".
Sulle Pavimentazioni Semoventi
Qui è Nathan Fabian che scrivere. Per sbarcare il lunario realizzo immagini simpatiche a partire da miliardi di elementi finiti per uno dei laboratori del Dipartimento dell'Energia. Di notte mi diletto con lo sviluppo di videogame, e, attraverso la mia compagnia, i Longshot Studios, faccio anche qualche consulenza. Sono stato un backer di Torment ed sto lavorando part time con il suo team da quasi un anno. Al momento, mi sto dedicando prevalentemente sul nostro sistema di animazioni, ma ho deciso di parlare un po' di una sfida che ho affrontato di recente per Torment. Dovrò essere un po' tecnico, ma il risultato finale non dovrebbe essere male.
Immaginate che vi venga dato un pilone. Un pilone del tipo più comune. Si tratta, in effetti, di un modello realizzato al computer - poche decine di poligoni, tutt'altro che notevole come pilone. Ma la vostra missione non è semplicemente quella di tenerlo, ma di prenderlo e moltiplicarlo! 100 piloni per 100 per creare una pavimentazione mobile dove ogni elemento si può muovere su e giù indipendentemente, cambiando la forma del pavimento in tempo reale. Questo singolo pilone deve diventare una mega struttura di 10.000 piloni.
"Nessun problema" ti dici, "Ho il potere. Ho il codice!". Esegui un loop, crei 10.000 pilastri, e la tua scheda video (GPU) prende fuoco (non letteralmente). Questo non è il tipo di magia che andiamo cercando.
Le schede grafiche moderne sono eccezionalmente potenti e possono renderizzare centinaia di milioni di triangoli al secondo. Per qualcuno che è cresciuto leggendo i libri e gli articoli di Michael Abrash, si tratta di qualcosa di indistinguibile dalla magia. All'epoca, eravamo felice di ottenere una risoluzione di 320X240 perché "Quarda! Pixel quadrati!".
A che punto il nostro incantesimo è andato storto? Perché la scatola diabolica non si è placata?
Draw call
Le Draw call sono frasi usate per descrivere tutto quello che la CPU chiede alla GPU di fare. Per entrambi i chip, parlare al bus della scheda madre è come urlare in una stanza rumorosa; ci vuole un po' di tira e molla prima di far passare il messaggio e questo rallenta le cose. Meno frequentemente si fanno draw call meglio è. Quello che abbiamo chiesto originariamente sono 10.000 draw call. Sono più o meno 9.999 di troppo se ciò che vogliamo renderizzare è una singola struttura. Perciò dobbiamo trovare un metodo migliore per fare leva.
Per fortuna c'è un metodo conosciuto come "Instancing" che risolve il problema. Sfortunatamente non lo si può far girare così com'è e contemporaneamente far giare dei sistemi che supportano solo lo Sharder Model 3 (le vecchie versioni di Windows, OSX e Linux). Per fortuna, Unity - il nostro motore - ha un sistema di raggruppamento, sia statico che dinamico, che serve a questo scopo. Questo sistema prende tanti piccoli oggetti poligonali e li accorpa in un oggetto più grande fatto di molti poligoni che rappresenta l'insieme. Sfortunatamente, non funziona benissimo in questo caso particolare.
Cosa più importante, sarebbe cattiva programmazione affidarsi a questo sistema. Esattamente come i maestri di scrittura insegnano a "scrivere di ciò che conosci", un programmatore dovrebbe scrivere solo ciò che conosce nel codice e usare algoritmi per capire ciò che non conosce nella fase di esecuzione del programma. In questo caso sappiamo ciò che vogliamo: c'è un pavimento di 100 per 100 piloni. Raggruppando questi piloni avremo bisogno di molte meno draw call. Dato che Unity limita le mesh a 64000 vertici, invece di raggruppare l'intero cluster in una singola mesh, lo separeremo in una mezza dozzina di sezioni più piccole.
Ora siamo a posto... quasi.
La nostra pavimentazione al momento non si muove su e giù. Potremmo rifare questo processo di raggruppamento ogni volta che uno dei piloni si muove, ma il tutto risulterebbe lento volendo animare i piloni ad ogni frame.
Rapido check con il reparto effetti grafici: "Vogliamo anim—". "Sì", "Ok, allora".
E' saltato fuori che senza abbandonare lo Shader Model 3 possiamo utilizzare uno shader che ruota i vertici. Ci serve solo un piccolo aiuto da parte di una texture. La nostra altezza sarà definita dal valore cromatico all'interno del canale del rosso (in una scala che va da 0 a 255, dove 0 è la posizione più bassa, in nero, e 255 quella più alta, in rosso acceso), che rappresenta qualsiasi scala di distribuzione dell'altezza con una discretizzazione di 256 gradi. Nel vertex program dello shader dovrebbe apparire così:
float4 lkup = float4((v.texcoord1.xy + _DisplacementOffset.xy) * _DisplacementScale.xy, 0.0f, 0.0f); float4 dispV = tex2Dlod (_DisplacementTex, lkup); float dis = (dispV.x + dispV.y/256 + dispV.z/65536) * _VerticalScale + _VerticalOffset;
Utilizzando altri canali cromatici oltre a quello del rosso e pre-moltiplicandone il dislocamento sulla CPU (e quindi dividendo per un certo fattore nella GPU come mostrato qui), possiamo ottenere un grado di precisione superiore a quello di 256 livelli discretizzati, fino a 256^3 in questo caso, usando il canale del rosso, del verde e del blu. Tecnicamente possiamo arrivare a 256^4 valori utilizzando il canale dell'alpha, ma probabilmente non ce ne servono così tanti. Possiamo quindi conservare l'ultimo canale per informazioni supplementari, se si rendesse necessario in futuro.
Per animare la pavimentazione, dobbiamo solo cambiare la texture o manipolare individualmente il valori cromatici dei pixel della texture. Sebbene questa sia una draw call supplementare, è solamente una in più, che non è remotamente così male come le 10.000 da cui siamo partiti.
Ora siamo a posto... quasi.
Dobbiamo inserire questa shader’s lighting nella nostra fantastica pipeline di illuminazione. Per quanto non complicato, questo richiede la duplicazione del codice di illuminazione in un nuovo shader, così che i piloni possano essere posizionati appropriatamente nella porzione di vertice prima che il calcolo dell'illuminazione abbia luogo.
Sistemato tutto ciò, abbiamo una pavimentazione semovente, renderizzata a ritmi interattivi, che appare così:
No Thank You, Evil! e Bloodstained
I nostri partner e amici di Monte Cook Games sono tornati su Kickstarter per il loro ultimo titolo: No Thank You, Evil!
Questo gioco di ruolo pen and paper si basa sul Cypher System che utilizzano sia Numenera che The Strange, ma lo riadatta per l'intera linea, e ha un’ambientazione che si basa su immaginazione e fantasia.
Un altro entusiasmante Kickstarter è quello di is Bloodstained: Ritual of the Night. Questo Kickstarter sembra voler riportare in auge il genere di platform basati sull'esplorazione in stile Igavania, genere meglio conosciuto per Castlevania: Symphony of the Night. A giudicare dalla risposta del pubblico, la gente smaniava dalla voglia di vederli tornare fra noi!
Altre Notizie
Nell’ultimo aggiornamento abbiamo menzionato l'intervento di Colin McComb all’ EGX Rezzed, che può essere visionato integralmente su Youtube. Ma se preferite leggere piuttosto che ascoltare (un tratto non inusuale per un fan di Torment), Colin ha pubblicato una trascrizione completa sul suo sito personale.
Mentre si trovava a Londra Colin ha anche rilasciato un’intervista sul suo primo progetto basato su Planescape alla Interplay, prima di spostarsi e unirsi a Chris Avellone per lo sviluppo di Planescape: Torment, e ha avuto una sessione pomeridiana di Numenera con alcuni inviati di Eurogamer.
Infine, Adam Heine e Kevin Saunders hanno risposto ad altre domande sui nostri forum. Leggete il nostro tumblr per commenti sul voice acting, su come creare un gioco di qualità, sulla visibilità dei personaggi e sulle Tide.
Thomas Beekers, Associate Producer
�#��^����Ҭ�












