Heaven's Vault, the latest game from 80 Days developer Inkle, marks a step forward for the award-winning Cambridge-based studio.
While the company's earlier games used 2D environments to support their Ink-driven interactive text, Heaven's Vault drops players into 3D environments on an archeological adventure that successfully raises the bar on the company's narrative output.
Inkle co-founders Jon Ingold and Joe Humfrey swung by the GDC Twitch channel on launch day to discuss their game development process behind Heaven's Vault, evaluating everything from the decision to make conversations editable late in their process to how they learned to do 3D level design for the first time.
For your convenience, we've broken down some key points the two shared about their work that you can now read below.
Structuring Heaven's Vault
Ingold: I think when we started the project, we had a very clear sense of what the player would be doing in the world. They would be walking around, interacting with things, and then talking about things as they interacted with them and as you walk to the next place, you would be walking as you-- sorry, talking as you walk from point to point.
That’s kind of our core loop idea, was to walk and talk, and interact with plot. Actually working out how to author that in Ink was a year's worth of work. Because finding a pattern which allowed you to author it flexibly enough that you didn’t have to-- that you could do whatever you needed to do, but didn’t have to constantly look up how to do it, or break it the whole time-- finding the right sort of balance for scripting it...that was a really long and difficult, iterative process.
So I think we had initial scripts within a couple of months, I guess, that did do that. The walking around and the talking. But they were a real pain to author. They were too fiddly, they were very very fragile. Over the course of the project, we slowly worked out things we were doing a lot of that we could extract to other ways.
For example, the way the conversations in the game works-- originally, conversations were tied specifically to rooms and things you were looking at, cause that's the easiest thing to do, right? You go to somewhere and you have a conversation about it.
And what we have now is this system where you’re walking around in this environment but the game is feeding conversation options in from a bank of conversation it has all the time, which is triggered by the knowledge model that it’s tracking in the game.
So what you know and what you don’t know says “well, these conversations are relevant and these ones aren’t,” and all of that started in Ink-- it’s all crafted in Ink. It took a long time to build that structure and make it work.
It was a really complicated engine to build, but I think what we started with was a very clear idea...to be possible to build this thing this way. We just had to find a pattern that allowed the author, the human being writing it, not to get totally baffled by what they were doing. That’s the major limiting factor.
Humfrey: Right from the very early prototype we had this idea that we could use the same text engine to basically not just produce prose as we did on 80 Days, but produce line by line lines of basically an interactive film script.
So each line is either a scene direction like “show this camera shot,” “play this sound,” “play this sequence,” or it’s actual lines of dialogue. And then the engine takes these line by line and presents them in a visual way.
We changed the high-level structuring quite a lot in order to fit the continually evolving game design, but that general approach stayed consistent throughout.
Even from right at the beginning when it was basically almost a 2D game with like static comic book panels, where you make dialogue choices kind of static 2D comic book panel...and then it went from panel to panel.
Fundamentally, John was writing in the same way then as he did towards the end, it’s just that the whole game changed in-between.
Ingold: I guess when we’re making this stuff we have an ongoing discussion the whole time. What’s in the game, and what’s in the Ink. And we see those at quite two separate things.
Ink should be in control of all the narrative stuff and all the presentation stuff and all the sequencing stuff and all the stuff that wants to be flexible depending on what the player might or might not have done.
So that when you get to the end of the project, you can redraft it, so that when you get to the end of the project you can make this particular line of dialogue not actually appear under that specific circumstance because that’s the sort of thing Ink is really good at.
And the game side has to cover all the things which are systemic, which we don’t want to have to bother authoring specifically every time, so like when you’re talking to another human being it drops into a two-shot, which goes over the shoulder between each character, and that’s within the game code because you don’t want Ink to have to worry about that.
Ink doesn’t even want to tell the game that that’s happening, the game just goes “two human beings are talking to each other,” time for an over-the-shoulder shot.
Humfrey: Which is kind of exciting, because you can just write a load of dialogue without any scene instructions at all and it will present it in and interesting way in the engine which is kind of a magical process.
Ingold: And what’s really great about that is that I can take a dialogue sequence which was written for one location, and pick it up and stick it in another location, and it will just work.
You can have the same conversation with the same character in five, six different places in the world just depending on how you happen to meet them.
It’s incredibly liberating as well. Obviously, games like The Witcher do this-- games like Assassin’s Creed Odyssey do this. They have programmatic two shots that are used to cover like programmatic animations that are kind of brought in just to keep scenes alive when they haven’t authored something specific to override it.
And ideally, you never notice that they’re doing that, but I’m absolutely sure that they are doing that. We have the advantage of not having-- because we don’t have voice acting, we don’t have continuous animation. We can cut between procedural stuff and scripted stuff incredibly fluidly without it being particularly noticeable.
We can really push that to quite absurd extremes so you can have the same conversations with the same people in wildly different contexts.
How written text supports late-development edits
Ingold: Yeah, so the thing that the whole-- this business of building a structure where we write the Ink and the game code processes was very difficult but the payoff for that is, 10 weeks before we ship, I was playing through the game and I found a scene I didn’t like.
I just didn’t like it at all. The dialogue was rubbish. So I took half the day and I rewrote it entirely. Every single line of it was changed. The entire flow of that scene was changed. And I just took the file, rewrote it, tested it, swapped it out, and it was in the game changed.
We were already in beta testing at this point but we already I think could send a code off to PlayStation’s FQA process significantly late in the process but it isn’t dangerous because it’s actually very easy to test a scene in isolation in Ink and make sure that you’re really very happy with it.
And actually, there’s no cost to it. I don’t need to talk to anyone else, I don’t need to the environment people or the character people or the animation people...or anyone else. I can just go up and do that on my own and come back with it and say “yep, that’s better.”
We constantly do that. If Heaven’s Vault has a good story or has good character or has good moments, it’s not because we planned things cleverly in advance, it’s because we planned something that was OK, and we’ve got a really good system for trading off.
So every scene in this game has been traded up to make it stronger or tighter or better. All the bits we didn’t need, we cut. And all the bits that could be stronger we developed.
The freedom to do that as a writer...like film writers, scriptwriters on films do this all the time, they are constantly rewriting screenplays on the day of shooting. That’s normal in the film industry. In the games industry, you’re supposed to lock your script 6 months in advance and still be happy with it by the time you ship.
And that’s a hell of an ask! Breaking that assumption definitely comes with some compromises in terms of the fidelity of what we can achieve. The payoff in terms of the fluidity of the narrative...I just wouldn’t do it any other way. It’s the reason why 80 Days was good, cause we were editing it right up until the very last minute. I think with Heaven’s Vault it’s true there as well.
Humfrey: We’re massively taking advantage of the fact that we’re not fully voiced, not fully animated, so we were kind of...we were able to pour all of our energy into refining the core storytelling.
Ingold: It’s a funny thing though because people looking at something say “oh well it would have been nice if it were fully voiced,” and you go “you know what, if it could have been fully voiced, it would have been a significantly worse script.”
Humfrey: We’re always talking about this, I think you know, there are solutions but the solutions are in the core game design. The voice that you have to listen to occupies a small part of your brain but then the rest of your brain is unoccupied and if you can fill it with other related gameplay...like Firewatch and other games in that genre...it works because you’re able to explore while communicating and listening to the dialogue.
If you only had to sit and listen to the dialogue and nothing else, it wouldn’t be as playable. So you could do a fully voiced Heaven’s Vault as that kind of game, but you’d have to find ways of occupying the rest of the player’s brain while the dialogue is going on.
Ingold: I don’t even know that I agree with that entirely-- I think there’s a question of scope as well, like the amount of information you can communicate in text that you read in your head is just a lot higher than when you’re doing voice-acted stuff.
It depends on what kind of story you want to tell and what you want to talk about. Delivering exposition through spoken dialogue is one of the worst things in the world. Films try and avoid it as much as possible cause it’s just deathly dull.
You can have it in prose much more effortlessly because people just read it, gawk it, and it’s gone. If you understand your medium, you can take advantage of that and you can do things with it. This idea that we should be making the flashiest idea of everything doesn’t impact the content you can deliver. Seems to me to be a little wrong-headed.
Inkle's first stab at 3D environments
Humfrey: So we built it in Unity and we basically started from the point of-- as I said earlier, we wanted to make essentially a 2D comic book but a dynamic, interactive comic book. Part of the reason we wanted to do that was because we loved 2D character illustration, it can look very expressive, so we wanted to draw our characters from lots of different angles so that we could dynamically compose these panels and we constructed our environments in 3D.
They were initially a lot simpler than the environments here just because we wanted to create the sense of a background, rather than construct entire worlds in 3D. But as we created this and created the main protagonist Aliya and we drew her from 12 different angles, we just loved the overall effect of moving the camera around in 3D.
We created a system that basically has a database of character frames and depending on the camera’s angle and certain tags that’s being applied to her character, like whether she’s in a particular walk or a talk or some emotion, then it would pick a different overall body frame and also paste a different facial expression over the top.
So we get all these different effects. The 3D basically came out of that as we were experimenting with what you could do. We initially wanted it to be 2D comic book panels but then seeing the effect of all that happening in 3D, we just thought it looked really cool.
I think it massively changed things because as soon as you go full 3D, you get the ability to poke around in all of the little tiny corners of the level just like any other 3D game. At the beginning, we had a very limited amount of interactivity. It was the visual choice-based narrative, so that the narrative was really driving it there was not so much exploration at all.
You could only interact with whatever it gave you choices for. As we opened it up, like we were talking a lot about having 3D environments, maybe you’d have this completely fixed camera angle like a point and click adventure, from that particular camera perspective, you could poke around in these corners but it wasn’t super interactive.
As soon as you swing the camera all the way around, there’s just so much more scope for where you can go and what you should be able to interact with because it’s right there.
Ingold: That had an impact right down to the script, because suddenly your branching narrative script needs to be able to cope for the player who walks over to one side of the room and does one thing, walks over to the other side of the room and does another thing, then walks BACK to the first side of the room again, which is NOT a branching tree structure in the slightest.
Humfrey: In Sorcery, when we have waypoints on the mini-maps, we can easily say “eh, we don’t want you to go back into that room” and remove the choice to go back into that room and we can directly push the player into different directions.
Depending on how open you want it to be, you can enable and disable choices going in different directions but we’re always in control.
Ingold: We do do that, where we’ll quietly turn a door off over here if you’re way over there, but hopefully in a way that you’ll never notice. You lose a lot of that focus.
You asked about level design, and I think that’s one of the things that took me by surprise on the project, was there was a point where I actually realized we needed to DO level design and we needed to know what we were talking about with level design which we originally hadn’t intended to be a thing that we needed to know.
We were really lucky when we hired Laura Dilloway, who’s our lead environment artist, because she had done some level design on LittleBigPlanet and other titles...and so we ended up with a process where I would kind of write a scene and say “this is what I think the characters are doing in this scene and this is roughly what I think the geometry needs to be like to make that work,” and she would take that and turn it into more of a level design space.
And then I would take it back and say “well I think we need to take more timing here, this bit’s too quick or too slow,” and between us we could kind of flesh out a 3D space in a way that the narrative was happy and the 3D was happy too.
That process was brilliant. I think one of the things that was really nice about it was that being a team of seven people, we just sat either side of a table, the iteration time was incredibly fast. We were just bashing geometry around between us and coming up with these spaces that kind of flowed in really interesting ways.
That’s something we didn’t expect to have to contend with and it worked out really well. But as level design goes, it’s a fairly simple problem compared to something like proper exploration games or adventure games where you really have to think about ALL those parts all the time.