Share this project

Done

Share this project

Done
A story-driven CRPG set in the world of Monte Cook's Numenera.  We are deeply appreciative to all of you who made this possible.
A story-driven CRPG set in the world of Monte Cook's Numenera.  We are deeply appreciative to all of you who made this possible. Torment: Tides of Numenera is available now for PC on Steam or GOG, as well as PlayStation 4 and Xbox One.
A story-driven CRPG set in the world of Monte Cook's Numenera. We are deeply appreciative to all of you who made this possible. Torment: Tides of Numenera is available now for PC on Steam or GOG, as well as PlayStation 4 and Xbox One.
74,405 backers pledged $4,188,927 to help bring this project to life.

Updated Our Journal (41): On Singing Bards, Indigo Voice, and Dynamic Floors

82 likes

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 site or 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 crowdfunding 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, including updating 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:

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;

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.

Thomas Beekers,
Associate Producer

Massimo Cesario, CatInSpace, and 80 more people like this update.

Comments

Only backers can post comments. Log In
    1. Gavin Reading Rainbow KS backer! on

      Ooh! Pretty floor! Good job, Nathan!

    2. Missing avatar

      Matthew on

      Speaking as a programmer and someone who plays around with Unity, can I just say that I enjoyed the little optimization update? More please.

    3. Missing avatar

      Doomedpaladin on

      Colin, any luck getting Vin, Perlman, or any other dream voice actors to join? How about George Takei? Or really, you could just nerd it up and grab a bunch of nerd legends and give them a go when you guys are hanging out at PaizoCon, GenCon, or Origins (you guys should really attend A-kon too despite the date overlaps http://www.a-kon.com/… ). Anyone from Ed Greenwood doing Elminster's voice, Brandon Hodge being mysterious, Daigle, Baur, Jacobs, Groves... then again D&D night gaming table voices might be too cheesy, right?

    4. Nerdy Suit on

      @ET3D, Yes, what I should have said more clearly -- I hope that inXile sticks to their past KS formula and doesn't become overly greedy like it appears that some on KS are becoming. I thought $20 (with a lot of early birds) and then $25 was fair, especially since I'm sure it would release at about $40 (similar to WL2).

    5. ET3D on

      @Lim Yeow Seng, the problem was rendering a large number of objects, not the code to create the particular movement.

      Regarding prices, I just went to the No Thank You, Evil! page. It looks cool and all, but $20 for a PDF of the game? I don't know. I can't imagine that PDF will cost more after the Kickstarter, and the project is already funded anyway.

    6. ET3D on

      @Nerdy Suit, I agree with you, but both Torment and Eternity set the game tier at $25, with $20 for early birds (quite a large number, but it was gone quite quickly). So while I do think that a lower price is more appealing and can draw a larger crowd, I also think that a lot of people have no problem to pay a higher price.

      Regarding the shader issue, yes, I was baffled by the Shader Model 3 limitation too. In terms of hardware power, looking at Wasteland 2 or Pillars of Eternity, the GPU requirement is such that a DX9 card will likely not cut it anyway. I believe that OpenGL with instancing support should be available for most systems, the only likely exception being older Macs. It's possible that Unity doesn't expose this but that would seem strange.

      Anyway, fake instancing was done even before textures were accessible in vertex shaders, doing something like was done here but accessing a vertex buffer for the data (which is more in line with how "proper" instancing works).

    7. BlackGauntlet
      Superbacker
      on

      To tell the truth, I probably won't be able to appreciate those moving floors being so tough to code since I would just imagine it being based on a water-physics coding.

    8. Nerdy Suit on

      @inXile - Please, don't make the same mistake that Bloodstained made by charging a ridiculous amount for the baseline KS cost of the game ($28). I'm as big of a Castlevania: SOTN fan as there is, but asking for $25-30 for a KS game that has barely started production and won't be out for quite a while is ridiculous and, IMO, goes against the spirit of KS. The lowest tier of a KS game should be low enough to where those that take the risk of backing it get a significant discount compared to those that buy it day-one (similar to how WL2, Torment, and Pillars of Eternity worked out).

    9. Valeriy on

      @Scelous:

      "This is exactly why I say the small, vocal group of Linux users are holding back real gaming."

      This is exactly why I'm of low opinion on large vocal group of Windows gamers...

      Sorry.

      If I'm correct, we are talking about instancing which was introduced in OpenGL 4.0, available since 2010 (GeForce 400 series, which were also the first to support your dandy DirectX 11) and Linux gained support almost instantly. This means the developers deliberately aim really low in terms of hardware specs.

      Oops... Mac OS X became capable of OpenGL 4.1 only with "Mac OS 10.9 Mavericks" at 10.06.2013. Three years later. But Mac OS users are respectable people, they can not be blamed... So Linux low-lifers are to blame for fair Windows user's sufferings!!!

    10. meganothing dread bard of torment BOSB on

      @S.D. Oh right, there is a second way to read that snippet: "older Windows, OSX and Linux"

    11. S.D. on

      Scelous: Most Nvidia and AMD cards with Linux drivers built since early-2010 support OpenGL 3.3 & GLSL 3.3 with which is roughly equivalent to D3D's shader model 4 (admittedly, minus some key features). Later, this included Sandy Bridge integrated GPU's (~2011). Cards from mid-2012 onward should not hold anything back. He's talking about _older_ machines, older than 2012 at least!

    12. Missing avatar

      Sleet
      Superbacker
      on

      Thanks for the update, the awesome anecdote, and the novella!

    13. meganothing dread bard of torment BOSB on

      @Scelous: What has that to do with the linux users being vocal? Even without a linux version and with ultra quiet OSX users they would have had to use Shader Model 3 because they have to produce an OSX version.

    14. tarasis on

      Thanks for the new novella, it's now on my kindle to read tomorrow on the train. Plus that animation trick is neat, I love the undulating floor.

    15. tarasis on

      That's because Apple makes it easy to use Windows via Bootcamp, so those of us who want the best performance for our games usually boot into Windows :)

    16. Missing avatar

      Scelous on

      "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)."

      This is exactly why I say the small, vocal group of Linux users are holding back real gaming. Same thing with Shadowrun and other projects, as well. I don't hear much from the OSX crowd, but those Linux users are *really* vocal.

    17. meganothing dread bard of torment BOSB on

      First misread that the pylons were supposed to go sideways and was mystified by the solution ;-). Had to read again to see the light.

    18. Rinu on

      Thanks for the great update :)

    19. Porcupine on

      Regarding the floor animation: jaw, meet... erm... floor, no pun intended. To be honest, the technique does remind me a little bit of a clever bit of coding people used to do back in the days of yore - wherein an image with segmented concentric circles of progressively changing color index was displayed (with paletted colors), then the palette was being populated to black and white and shifted for every frame - voila, Instant Animated Chequered Warp Tunnel The Lazy Way, without recalculating anything or changing a single pixel on the screen... ;)