Updated Our Journal (47): Torment Alpha Systems Tests Have Arrived
TL;DR: Torment Alpha Systems Tests underway; Adam on party death; audio from PAX panel that included Adam
Hello Tormented Ones,
Thomas here.
Midway through last month we released Alpha Systems Test (AST) A0, the first of our ASTs for those backers who have alpha systems access as part of their tier rewards or as an add-on. You may remember the ASTs are bite-sized chunks of early-game Torment content, meant to give eligible backers a very early look at the direction we're heading in as well as an opportunity to provide feedback and suggestions. Two weeks after the first AST we released the second, B0.
A0 consists of the opening scenes of the game, including the narrative-based character creation Adam talked about in our previous update. The purpose of this AST was mostly to have our backers experience the atmosphere of the game, play around with the dialogue interface, and get an impression of the quality and feel of writing. The second, B0, consists of two scenes from the very early parts of the game, showing more of our exploration HUD as well as exploration mechanics and a glimpse at the game's companions and even a tease of the items I've been designing and implementing in the game.
It was both exhilarating and nerve-wracking to put these ASTs out there, as it’s the first TTON gameplay we’ve put into players’ hands. I felt pretty confident in how "Torment-like" these scenes and writing felt, but would it resonate with our backers the same way?
Thankfully, the answer was a pretty resounding "yes". Part of my task as a producer on these ASTs was processing the feedback from A0 as we moved into production for B0, and I couldn't help but notice how many feedback submissions consisted of our backers going "brilliant!", "so far so awesome!" and "keep up the great work guys!" (to quote a few). We printed out a sheet of positive feedback and put this "Wall of Praise" up in the office kitchen for the team to enjoy. It's great to get a reminder of what we're working so hard for, and to get encouragement directly from our backers. We greatly appreciate all the kind words you have given us.
Of course, the purpose of these kind of tests is to get an idea not just of what we're doing right, but also of what we can be doing better so that we can iterate and improve on the current experience. There was no lack of this kind of feedback either, with hundreds of direct feedback tickets and hundreds more posts on our private backer forums. Feedback has ranged from the minute (such as adjustments to the font to make periods and commas more distinct) to the major (such as the responsiveness of the PC when interacting with in-game objects), with much of it useful for our continued work on all different facets of the game.
We have a pretty solid pipeline where each ticket, forum thread, and UserVoice post is seen by at least one producer, who has awareness of our general known issues and technical priorities. This producer then makes a suggestion, task, or bug report and submits it to the relevant lead for consideration and tasking out. This way every report and suggestion gets considered. The experience of previously doing this fan feedback and iteration with Wasteland 2 during its beta and Steam Early Access Game (SEAG) phases helped a lot here.
So what's next? We have one more AST planned, called C0. This will be the first look at our Crisis combat system, and several team members including our Crisis Design Lead Jeremy Kopman and programmer Matthew Davey are working hard to bring this to completion, though realistically it'll take a bit longer than it took from A0 to B0. We're very curious to see what our backers think of this next AST.
If you're not already an alpha backer, it's still possible to get alpha access by upgrading your reward level or buying the Alpha Systems Test add-on for 1,000 points ($10) on the Torment website. Check out the backer shop if you're interested! We’ll be removing this option on Friday, September 25th, so if you want to get in on the alpha, now's the time.
Can Companions Die?
Adam here to talk about party death.
One of our core guidelines for Torment is to make failure interesting. We don't go out of our way to discourage savescumming (i.e. reloading to avoid non-game ending failures), but we don't want to encourage it either. As much as possible, we want the player to overcome their setbacks, rather than pretend they never happened. From our website:
"...in many Crises, failure isn't death, nor is it the end. It's just... different. You might find yourself in a prison and have to escape. You might return to the spot of the Crisis and find that you can try again or that your enemies have accomplished their goal and now the landscape of the game has changed. We are striving to create interesting fail states in all situations, but especially so in Crises."
It is partially from this guideline (and from the way our illustrious predecessor handled death) thatthe idea of the Labyrinth formed. Castoffs are extremely hard to kill, so when the Last Castoff dies, he usually wakes up in the Labyrinth where he or she can explore extra (optional) content or simply choose to return to the real world.
The world does move on when the player dies. Sometimes the player can return to a Crisis to try again, but just as often things have changed. A crime lord may have increased her guards (or decreased them, thinking that the threat was over). The Last Castoff may have been dragged away by his enemies to some new location (or posthumously arrested, for those that know what he is). These branching "failures" are designed to encourage players to continue on after a defeat, if only to see what happens.
The death of party members is a little trickier. Some companions are castoffs themselves—or are hard to kill for other reasons—and so they can get back up after most battles. But the Ninth World holds no resurrection for mortal characters. When a mortal companion dies, it's permanent.
This presents a problem with our "interesting failure" guideline. I imagine there are only a small percentage of gamers who would play through a beloved companion's death, knowing that a happier storyline lay only a reload away. At the same time, if we just let the defeated companions get up at the end of a Crisis, it would take away a lot of the tension of keeping your party alive – despite your player character’s near-immortality, we don't want combat to be a low-stress, "nothing that happens matters" affair.
Our solution (pending playtesting) is an adaptation from Numenera core rules called Lasting Damage. When a mortal companion drops to zero in all three Stat Pools, they're out of combat but not dead. When the Crisis is over, the companion will get up but they will be scathed with a Lasting Damage fettle.
The specific effects of this fettle and how to remove it will be tweaked as needed for balance, but in general:
The fettle will have some severe effect, on the order of making all tasks more difficult by two steps.
The fettle will go away after the party Sleeps X times. The player can choose to Sleep until it's gone, but doing so will have other effects on the game.
There will usually be a skilled chiurgeon of some sort nearby who can remove this fettle immediately for a number of shins. Sometimes this NPC may be hard to find, or their healing might not be available right away, but the player should be able to heal before most major Crises.
With balancing, the Lasting Damage fettle should present a challenge while not being so negative that most players reload. (Some players will reload anyway, of course, but the balance of this fettle is about minimizing that number as much as possible—again, we aren't going out of our way to discourage savescumming; we're just trying not to encourage it).
This design allows the player to choose whether they want to spend time or money to remove the fettle, or whether they want to just deal with the fettle until it goes away naturally. There is a cost whichever way they choose, but there is enough choice that players should feel empowered rather than frustrated, encouraging them to play on despite setbacks and to forge their own story.
That said, certain actions the player might take could result in the irreversible demise (or departure) of a companion. But if and when this can occur, it will be at the player’s discretion (or perhaps because the player ignored the dangers, forgetting that their choices will have consequences), not the whim of a random number generator.
Adam out.
Adam at PAX
Adam was out at PAX Prime in Seattle to be part of the Classic RPGs Forever panel with Annie Mitsoda (Dead State), Josh Sawyer (Fallout: New Vegas, Pillars of Eternity), Mitch Gitelman (Shadowrun Returns, Dragonfall, and Hong Kong), and Swen Vincke (every Divinity game ever, including Divinity: Original Sin), with Penny Arcade's Jeff Kalles moderating.
Our friends from Larian were kind enough to put the audio of the one hour panel up on their YouTube, so if you missed it you can now give it a listen here:
Other Kickstarters
First up, the Kickstarter-funded STASIS recently released on both Steam and GOG. It is a point-and-click adventure game that uses a static isometric camera to create a beautiful sci-fi horror setting. Whether you love chilling, gruesome narratives, bleak atmospheric games, or old-school adventure games, this one is definitely worth checking out. We've been very impressed by the graphical style and atmosphere Chris Bischoff & The Brotherhood have created with this game.
We also have a pair of very good-looking Kickstarter campaigns to highlight. The first is Divinity: Original Sin 2 from Larian Studios, a direct follow-up to their extremely successful Kickstarted cRPG Divinity: Original Sin. This sequel retains the epic scale, focus on freedom, and turn-based combat of the original, but is even more ambitious, expanding the coop to 4-player with competitive questing mechanics.
And finally there is The Dwarves, an RPG that puts dwarves front and center, with an epic story based on the books of Markus Heitz. One eye-catching feature promised in this Kickstarter is a Crowd Combat System, which mixes an indepth physics-based system with high-level RTS-style strategy for an engaging massive combat system.
Updated Our Journal (44): George Ziets, Josh Jertberg e Jeremy Kopman Intervengono su Live Stream
TL;DR: live-stream di Torment; concept art sull'Asylum; i progressi della mappa di stoffa.
Qui è Thomas che scrive.
Colin McComb, il nostro direttore creativo, si è fatto rivedere in carne e ossa in ufficio (è sempre con noi nello spirito, naturalmente). E’ possibile che abbiate visto questa simpatica foto della Sagus Cliffs story session o il suo cammeo alla fine dell'infomercial di Bard's Tale IV. Ma, pugni-uniti a parte, è stata una visita veramente produttiva. Continuiamo a fare enormi progressi in quella che è la nostra principale preoccupazione, le aree iniziali del gioco.
Questa sera daremo un party che coinvolgerà tutto lo studio per celebrare i nostri recenti successi nel campo del crowdfunding e della produzione: Bard's Tale ha raggiunto il suo obiettivo di finanziamento, e Wasteland 2: Director's Cut è sulla buona strana per non mancare la sua data di rilasciato a fine estate. Il party sarà in live-stream dalle 4 alle 6 del pomeriggio, Ora del Pacifico, nel Canale Twitch di Quill, il celebre streamer. All'interno dello strem, abbiamo deciso di presentare ai nostri fan alcune novità sui nostri progetti in corso: Wasteland 2: Director’s Cut e Torment: Tides of Numenera. La Director’s Cut sarà in live-steam per la prima volta!
Per quanto riguarda Torment, il lead Area Designer George Ziets, il nostro Animatore Capo Josh Jertberg (entrambi nella foto a pugni uniti di sopra) e il nostro Crisis Design Lead Jeremy Kopman, parleranno durante il live stream. Non mostreremo il gioco in azione ma George condividerà qualcosina in merito alle Sagus Cliffs (piccoli spoiler), Josh parlerà delle nostre animazioni in root motion, e Jeremy del design dei sistemi di gioco. Assicuratevi perciò di essere sintonizzati più o meno tra tre ore.
Asylum, di Chang Yuan
Progressi Fisici
Mentre il gioco si va assemblando, stiamo ovviamente lavorando sulla creazione e le modalità di consegna delle ricompense fisiche. Una delle cose che speriamo veramente di produrre in abbondanza è la mappa di stoffa, avendo appreso la lezione di alcune recenti mappe di stoffa di altri giochi. Abbiamo messo l'autore delle cartine di Numenera Christofer West a lavoro sulla mappa, facendolo basare sul nostro lavoro di design, e ci stiamo informando sui materiali e sui processi di stampa che danno i risultati migliori. A seguire uno scorcio della mappa globale, work-in-progress:
Dentro la Notizia
E per finire, abbiamo un'intervista da condividere: Kevin Saunders e Adam Heine intervengono su Red Bull Games, discutendo un ampio ventaglio di argomenti, tra i quali il setting, le Tide, le Crises, il sistema di abilità e altro ancora.
Updated Our Journal (44): George Ziets, Josh Jertberg and Jeremy Kopman Talk on Live Stream
TL;DR: live streaming Torment talk; Asylum art; progress on physical map
Thomas here.
Our creative lead Colin McComb was in the office again in the flesh (he is always with us in spirit, of course). You may have seen this amusing photo from a Sagus Cliffs story session or his cameo at the end of the Bard’s Tale IV infomercial. But fist-bumps aside, it was a very productive visit as we continue to make great progress on our number one focus, the opening areas of the game.
This evening we’re doing an all studio party to celebrate our recent successes in crowdfunding and production as Torment is making great progress, Bard’s Tale IV achieved its funding goal, and the Wasteland 2 Director’s Cut is in a good state to hit its late summer release. We’ll be streaming this party live from 4pm to 6pm Pacific on the Twitch channel of famous streamer Quill. As part of the stream we wanted to present our fans with more on our ongoing projects Wasteland 2: Director’s Cut and Torment: Tides of Numenera. The Director’s Cut will be live-streamed for the first time!
As for Torment, Lead Area Designer George Ziets, our Lead Animator Josh Jertberg (both also in the fist-bump photo above) and our Crisis Design Lead Jeremy Kopman will each talk during this live stream. We won’t be showing the game in action but George will share some about Sagus Cliffs (minor spoilers), Josh will talk about our root motion animation, and Jeremy will talk systems design. So be sure to tune in about three hours from now!
Asylum by Chang Yuan
Physical Progress
While the game is being crafted, we are of course also working on the creation and delivery processes for physical goods. One of the things we really hope to knock out of the park was the cloth map, taking lessons from recent cloth maps from other games. We had Numenera mapmakerChristopher West draw out the map based on our design, and we are scouting for materials and printing processes that would get the best results. Here is a glimpse of the world map, work-in-progress:
In the News
And finally, we have one interview to share: Kevin Saunders and Adam Heine talked to Red Bull Games, discussing a wide variety of topics including the setting, Tides, Crises, skill system and more.
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ì:
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.
Updated Our Journal (41): On Singing Bards, Indigo Voice, and Dynamic Floors
TL;DR: The Bard’s Tale IV Kickstarter in two weeks; From the Depths: Indigo released; Nathan Fabian on conjuring dynamic floors; other news
Hello all,
Thomas here. We had another one of our work-trips to inXile recently, with Colin McComb, Adam Heine, and me visiting, joined by inXile line producer/Wasteland 2 designer Eric Schwarz and with an appearance by newly minted writer Mark Yohalem. As always it was a productive visit, reviewing our progress, having meetings on a variety of subjects and in general making sure everyone is in sync on everything, plus the less productive but no less invaluable board game evenings. You can view glimpses of our meetings via Brian Fargo’s Vine, with the Torment brain trust in action, Colin’s dramatic reading, and Colin and George voice work. Now that we’re all back we will have a lot to talk about, but first a bit of news for all Exiles, not just Tormented Ones.
We’re very excited about our upcoming Kickstarter for The Bard’s Tale IV, which we recently announced will kick off on June 2nd! Follow our countdown on our official The Bard’s Tale IV siteor sign up to get notified when we launch. We have also provided an early viewing of the Kickstarter tiers we plan to make available, you can join the discussion on our official forums.
If you’ve been with us along this wild crowdfunded ride, you may recall we funded Torment: Tides of Numenera while Wasteland 2 was still in production. This is grounded in our business philosophy going back to Brian’s days at Interplay. Running production cycles one at a time, only starting one as you close another, leads to redundancy in different departments at different times. For a small company like ours, but even for larger companies, this hiring-firing cycle can be par for the course even though it is undesirable and harmful to people and companies. But just as crowdfunding helped us make the kind of games publishers were not interested in, your support also helped us avoid this cycle. By having a small pre-production team focused on the next game while the current one is in full production, everyone is kept productively busy.
The majority of inXile’s staff is working on Torment: Tides of Numenera, and this will continue to be the case until it launches. No one is transitioning off of Torment until their work on the game is complete. A few people have been working on the Wasteland 2 Game of the Year Edition improvements, and as that moves through finalization and testing we’ll have those team members shift over to Bard’s Tale IV. As with Torment, Bard's Tale IV will have a pre-production period where a small focused team can work on the game’s story, concepts, systems, and look, getting us ready to jump into full production as soon as the time comes. But rest assured, until Torment is in your hands, it will continue to be inXile’s main focus.
Meanwhile, our work on Torment: Tides of Numenera has been progressing very well, includingupdating the game to use Unity 5. We’ll have more on the game’s production soon.
As a small but significant aside, our pledges counter on our official website now has us over 90,000 pledges! It’s exciting to see your support still carrying on so strongly, and we’re curious to see what the future brings.
From the Depths: Indigo Released
We have now released the second of our From the Depths novella series. (Recall that the From the Depths novellas, written by people involved in the creation of TTON, together illustrate the five Tides. While not required reading to play, they do provide a richer understanding of the world and setting of our game, and also helped our design team explore and master the nature of the Tides.)
If the Digital Novella Compilation was part of your Tier, or if you pledged for the $15 add-on, then you can retrieve the Indigo novella RIGHT NOW at our site. It's available DRM-free in all the most common eBook formats (epub, mobi, azw3, and PDF).
We released the Gold novella late last year. This second one comes from Torment editor and Planescape veteran Ray Vallese, who has been working with some of you on your NPCs and item descriptions. It tells the story of Tuck, who settled into New Iqa in the vicinity of the Oasis of M’ra Jolios. When catastrophe hits the isolated settlement, Tuck knows he must act to save the scattered survivors with the help of his friend Baji. Baji has always given him good advice. Even if he’s just a voice in Tuck’s head.
An excerpt:
The priest walked toward Palene, but not too close. “Honored M’sem, we don’t expect your people to share your food without recompense. We can trade. Look around. I have no small skill with the numenera—what you probably call the relics of the ancients. Let us negotiate an arrangement to help both our villages. The creatures that attacked us might come for you next. Or perhaps the mutants of M’ra Jolios will go on the march. An alliance—”
“Oh, yes, the creatures,” Palene interrupted, sounding bored. “I understand that your little camp here was nuisanced by a chelka swarm. What a shocking turn of events. You really should be more careful about what turns up on your doorstep. It is an awful thing to feel unsafe in your own homes. No one would fault you for going back where you came from.”
I’d never heard the term chelka swarm before. The look on Eltria’s face said that she hadn’t, either.
The priest hammered onward. “As I was saying, an alliance between the humans will strengthen the valley and help us all. We may be scattered, but we can work together. What I’m proposing—”
“Is nothing of interest, I am quite sure.” Palene’s words came faster now. He moved around a table and picked up a rusted metal cube from a raised stand. The cube had been cut nearly in half, exposing dozens of filaments that he flicked back and forth, chuckling as they sparked.
“We can make a deal,” I said. “There must be something Warale wants.”
His light brown eyes smiled at me over the blue smears on his cheeks. “Why, yes: your absence. The fact that we all are human does not entitle you to squat in our lands. The valley was ours before you arrived. It will be ours after you are dead. And then we will sweep up your bones and take what we please.”
“We are not as weak as you seem to think,” Eltria said.
“Oh, have I offended you?” Palene put on an exaggerated frown. “What a poor guest I make. But it is so tiresome to negotiate with children.” He walked to the window, tapped on the stronglass with a corner of the cube, and peered out toward the village. “We know of this place. It lies closest to M’ra Jolios. Can you see the dome from here? I wager you can. More likely, then, that the mutants will slake their thirst on you, and rid the valley of pests. We must do what is best for us all. You understand, I’m sure.”
“I would say what is best for all is a matter of perspective.”
I stepped in close to Palene and looked up into his eyes, puffing myself up as much as I could. “We offer friendship, and you threaten us? This is a grave insult. I demand an apology.”
Palene laughed. “Or what? You’ll thrash this body?”
I clenched my fists at my sides. We both knew my threat was empty.
“I quite like being tall,” he said, comparing our heights. “If only my family could see me now. Were it possible, I would stay longer. But the yoke has melted, so my time is about up. We spared your ridiculous runner so that I could deliver our response in person. You seem incapable of taking the hints we give, so I will speak plainly: there will be no further discussion. The next runner you send to Warale will be put to better use. And you, tinkerer”—he threw the cube to Eltria—”do not demean your prowess. You do have small skill with the numenera.”
Palene smiled coldly, but the expression faded as his eyes rolled back and his body crumpled like a marionette. I lunged to catch his head before it struck the floor, and laid him out. He’d come back to us in about an hour, gods willing.
On Moving Floors
Nathan Fabian here. At my day job I make pretty pictures out of billions of finite elements for one of the Department of Energy labs. At night I dabble in game development, including some consulting through my company, Longshot Studios. I was a backer of Torment and have been working with the team part time for almost a year. Currently, I'm working mostly on our animation system, but I wanted to talk a bit about a recent Torment challenge I worked on. It gets a bit technical, but the final result is pretty cool.
Imagine you are handed a pylon. It is a very ordinary sort of pylon. In fact it’s only a computer model—a few tens of polygons, quite unremarkable for a pylon. But your mission isn’t just to hold this, it is to take it forth and multiply! 100 by 100 pylons to create a dynamic floor where each individual piece can move up and down independently, changing the shape of the floor on the fly. This single pylon must become a mega structure of 10,000.
“No problem,” you say, “I have the power. I have code!” You execute a loop, create 10,000 pillars, and your graphics card (GPU) catches on fire (not literally). This was not the incantation we were looking for.
Modern graphics cards are extraordinarily powerful and can render hundreds of millions of triangles per second. For someone who grew up reading Michael Abrash books and articles, it feels indistinguishable from magic. Back then, we were happy to get resolutions of 320x240 because “Look! Square pixels!”
Where did our incantation go wrong? Why was the devil box not appeased?
Draw calls.
Draw calls are a phrase used to describe whenever the CPU asks the GPU to do anything. For both chips, talking on the motherboard’s bus is like shouting across a noisy room; it takes a bit of back and forth to get the message across and it slows things down. The less frequently we do that the better. What we asked for originally was 10,000 draw calls. That’s about 9,999 too many when what we want to render is just one structure. So we need to find a better method to leverage.
Fortunately, there’s a method known as “Instancing,” which solves the problem. Unfortunately, we can’t use it out of the box and still run systems that only support Shader Model 3 (older Windows, OSX and Linux). Fortunately, Unity – our engine – has a batching system, both static and dynamic, which is useful for this purpose. It takes small polygon objects and constructs them into one larger many-polygon object that represents the whole. Unfortunately, it doesn’t work very well in this particular case.
More importantly, it’d be bad code to rely on it. Just as writing teachers instruct, “Write what you know,” a programmer should write what she knows into the code and only use algorithms to figure out what she doesn’t know at runtime. In this case, we know what we want: it’s a floor with 100 by 100 pylons. By grouping these pylons up, they will require far fewer draw calls.Since Unity limits meshes to 64000 vertices, rather than grouping the entire cluster into a single mesh, we’ll separate them into half a dozen smaller sections.
Now we are set… almost.
Our floor doesn’t currently move up and down. We could redo this batching process every time one of the pylons moves, but this will be slow if we want to animate the pylons every frame.
Quick check in with VFX: “Do we want to anim—“ “Yes.” “Okay then.”
It turns out that without stepping outside of Shader Model 3, we are able to use a shader to shift vertices around. We just need a little help from a texture. The pixel color values within the red channel will define our height (in a range from 0 to 255, where 0 is the lowest position, black, and 255 is the highest position, bright red), which represents any distribution range of height with a discretization of 256 steps. In the vertex program of the shader it looks like this:
By using additional color channels beyond just the red channel and pre-multiplying the displacement on the CPU (and then dividing by that factor on the GPU as shown here), we can achieve additional precision beyond the 256 discretization levels, up to 256^3 in this case by using the red, green and blue channels. Technically we can get 256^4 values by using the alpha channel, but we likely don’t need that many; we can reserve that last channel for additional information, if needed in the future.
In order to animate the floor, we just need to change out the texture or individually manipulate the pixel color values of the texture. While this is an additional draw call, it is only one more, which is not nearly as bad as the 10,000 we started with.
Now we are set… almost.
We need to fit this shader’s lighting into the rest of the awesome lighting pipeline. While not complicated, it does require duplication of the lighting code into this new shader, so that the pylons can be properly positioned in the vertex portion before the lighting calculations take place.
With all this in place we get a dynamically moving floor, rendered at interactive rates, that looks like this:
No Thank You, Evil! and Bloodstained
Our partners and friends at Monte Cook Games have returned to Kickstarter for their latest title: No Thank You, Evil! This pen and paper game is based on the Cypher System that both Numenera and The Strange use, but adapted for the whole family and with a setting and focus on imagination and make-believe.
Another exciting Kickstarter is Bloodstained: Ritual of the Night. This Kickstarter looks to bring about the return of the Igavania genre of exploration-style platformers best remembered for Castlevania: Symphony of the Night. Judging by the response, people have been starving to return to the genre!
In Other News
In the last update we mentioned Colin McComb’s talk at EGX Rezzed, which can be viewed in full on Youtube. But if you prefer to read rather than listen (a not unusual trait for a Torment fan), Colin posted the full transcript on his own website.
While in London Colin also sat down for an interview on his first Planescape project at Interplay, from before he moved on to join Chris Avellone for Planescape: Torment, and had an afternoon session of Numenera with some folks from Eurogamer.
And finally, Adam Heine and Kevin Saunders have been answering more questions on our forums. Check our tumblr for comments on voice acting, making a quality game, character visibility, and the Tides.