At some point, a triple-A studio must decide: when is it the right time to build a new engine? While the Square Enix Group studios are free to pursue their own paths when it comes to technology, Denmark's IO Interactive has always rolled its own. For 2012's Hitman: Absolution -- and what comes beyond -- the studio decided to embark on an entirely new engine, Glacier 2.
In this in-depth interview, tech director Martin Amor speaks to Gamasutra about why the studio came to that decision, and just what factors into it -- from satisfying the design team, to creating a more cinematic experience through advanced AI.
The architecture of an engine that has to support multiple titles is critical, and so is the decision-making process behind how its features are devised and implemented. Here, Amor walks Gamasutra through these and more, explaining what boundaries the team wanted to push with Hitman, and how these decisions impact the future of the technology and the studio.
Hitman: Absolution is the debut of your new technology?
Martin Amor: Exactly, yeah. We've been working on this technology for a while now and are very, very, very excited about it.
Basically, we were looking at the ambitions that we had for Hitman: Absolution and we thought, "Okay, we need to come up with something completely groundbreaking in order to fulfill these ambitions." And so we began to work on Glacier 2. Glacier 1 is our earlier engine that we used for the former games, and Glacier 2 is a completely new from, made from the ground up.
We're pretty far into this generation. How did you feel about getting a new engine ready at this juncture? This game launches over six years into the Xbox 360's lifespan.
MA: When we made the engine, it has been a big part of many of the decisions that we've made. So we made our engine in a way that we felt is trying to accommodate how we believe the future is going to be, and so we think we're in pretty good shape regarding this, for future platforms.
Also on the current generation of platforms, I still think we haven't fully explored everything that we have. There are still things to do, that we can do. We are hand-coding a lot of assembly on the PS3 to make sure that everything can get as much out of the hardware as possible. But it's kind of like a balance of effort and time, versus the cost, versus how much we actually get out of it. But there's more that can be done in this area.
I've talked about AI periodically with different people. I get the sense that AI hasn't progressed as rapidly in this generation as we might have anticipated at the outset.
MA: AI is quite complex, and I think a lot of the games, what they are challenging right now is not so much AI, but having the characters behave realistically. So you can put a lot of very complex behavior.
What we do in Hitman is also to have a lot of coordination between the characters, which is very important so they can connect the dots, right? So if one of the cops, they hear a gunshot, another cop sees a gun lying on the ground, and the third cop sees the player run away, they are able to kind of connect the dots between these events, and from that figure out what happened in this situation, and react to this in a meaningful way.
But coding the core of the AI is not the most challenging part. It's actually to have it perform realistically. So to coordinate the animations with the dialogue, and have them move around, and avoid other characters, and basically seem like real characters -- instead of uncanny valley sort of stuff. And I think that a lot of developers were kind of surprised how difficult this actually is.
It seems like it's a particularly interdependent part of the development process. It seems like with AI, art and sound design all really sort of gel together with tech, and in that specific node of character behavior.
MA: AI is kind of like at the end of the pipeline, right? Everything that all of the other developers are doing is feeding into this. The AI programmers have to work with the characters, and the animations, and the audio -- and music, not least, which is also a very important part of our Glacier 2 engine.
We have a very dynamic music system. So basically, the music system feeds into the AI, and understands what is going on, and plays music according to that -- and sound effects, and stingers, and everything like that. You're totally right -- it's the most difficult place to be, many times, is AI programming.
It's this synthesis of everything that the game has.
MA: It's also very fun. I think some of my AI programmers say they like to think that they are playing on the side of the computer, and against the player, and I think that they're having fun with that. But at the same time they have to very much focus on creating a good experience for the player.
How much of the Glacier 2 engine is focused on delivering specifically Hitman, and how much of it is meant to be more versatile?
MA: Our engine is layered so we have a base engine, which is all the system libraries, and all the I/O, and we have sort of like what we can call a "genre specific layer", where we cater for third person action adventures like Hitman and Tomb Raider and so on. And then we have a game-specific layer. So we try to layer in that way. And so the game-specific layer is very much focused on Hitman: Absolution, but it's easy to make other types of games with it.
So it's architected with a certain degree of modularity?
MA: Yeah, certainly. Very much.
You just alluded to Tomb Raider. At certain points in the company's history, different studios have made, even within the same studio, different engine decisions. How is that going in terms of the future, from your perspective?
MA: Tomb Raider and Hitman are made with two different engines. Crystal Dynamics have their own engine, and here at IO we have our own engine. I think that it's perhaps good to not place all your eggs in one basket, from a group point of view, but it's not really my area.
From IO's perspective you can say that it's an integral part of our DNA to create our own technology, and I don't think that we'd be able to deliver Hitman: Absolution the way it is without making our own technology -- because we are in complete control over all of the different paths that we're doing, and over our technology, which is very important.
It seems like the company is supportive of studios making their own tech decisions.
MA: Yes, and I think that's a great strength in many ways, because we're given the freedom to create work we really want, and that is the same philosophy that we're having behind the engine.
A big focus of Glacier 2 is actually the tools and the workflows for our developers. We wanted to create very, very, very good tools so that they can iterate the content many times over. In a game like Hitman, there are so many situations, or so many ways that you can play the level, and so many things that pop up, that it was pivotal for developers that they could put in the content, work on the game features, and then iterate it very, very fast.
So basically they can change everything while the game is running. They can re-export new animations, change the textures, and they'll just reappear on the PC, on the PS3 and Xbox while you're playing the game. That was very important for us.
I did want to ask you about the level of input the design team had into the creation of the engine.
MA: Our lead graphic artist, he's talking to our renderer guys all the time, and our game designers, they talk to our AI programmers, and everybody is talking to our tools group, so there's a lot of synergy between the guys on the team.
We're not able to make a technology in a bubble. We need constant input on how people are using the tools, what they imagine, what they would like. And so you cannot really create a game technology, or a game engine, in a bubble like that.
You need to constantly feedback, and I think that's a huge challenge -- to create a technology while you're creating a game. But there are also some synergies that you can benefit from. So the technology can drive the game, and the game can drive the technology.
Do any of the tools sit at the game layer, or are they all at a different layer?
MA: Certainly, there are some tools that are made in the game layer. For example, right now, the AI debugger, which is one of our really, really strong tools, it's basically -- I wish I could show you -- but it's basically, while you're running the game, you can click on any of the characters and see a timeline.
You can scroll back and forth on the timeline, and see exactly all of the events, all of the behaviors that this AI character has been doing, all of the animation that's been playing. And play it back, and figure out exactly what has lead up to the current situation. And dump its knowledge about all the other characters, what it can see, and so on.
And that is made in the game layer right now, but it might be ported down into the genre-specific layer at some point. That's a great advantage, in that our AI programmers are able to make these plugins to our technology, and our game programmers are able to make plugins to our technology, too -- create any small tool that would fit them, basically.
The designers the tend to always, all the time, go, "Hey, why don't we do this? Why don't we do that?" and try to push the limits of what is actually possible, but that's just how they are. We try to accommodate their requests and needs as well as possible.
The Hitman games have a lot of personality, a lot of detail, and a sarcastic sense of humor. And to get those levels of nuance, you need something to build on. You need to be able to go back and make sure it's working.
MA: I think you're totally right. Actually, Hitman can be quite the serious game, right? We are talking about an assassin that kills for money, and that itself is pretty serious. So I think that the feeling has been at IO, they always want to spice it up, to make it a little bit lighter, with putting in some dark humor, and putting in some very unique and quirky characters that would make it maybe a little bit comic.
MA: Yeah, exactly.
How do you provide the foundation that gives them that chance?
MA: It again boils down to a base AI that is very versatile, a base AI that can handle a lot of different situations, and can build a lot of different behaviors for our AI characters. Everything from enemy behavior, to combat -- close combat, range combat -- just trespassing. And then put a lot of focus in communicating what the AI is thinking to the player.
We have tools. One of the tools that we use a lot is something that we call sequence editor, where we can basically build up a lot of small situations inside the game. It's basically a tool that the level designers and the AI programmers can use to create this theatre, this play, and then figure out... At any point in these sequences they can be interrupted, they need to be able to handle that.
So they could spot Agent 47, run around the corner, and they would react to this. And maybe if he was trespassing, they would walk up to him, and say, "Hey! You're not supposed to be here!" And if he keeps on staying there, they'd say "Hey! I'm warning you! You're not supposed to be here! Get away!"
If the player would still choose to stay, he would pull his gun and say, "This is your last warning! If you don't get out of here, I'm going to shoot at you!" So we put in a lot more drama, and a lot more behavior, and that's so the player has time to think about his decisions, and what he should do.
Earlier, you said one of the things that you're primarily concerned with, with Glacier 2, is visuals. Visuals can mean a lot of different things. What are you concentrating on?
MA: It was important of us that we could support the vision of, and the artistic style of, the game -- so there's a lot of dynamic lighting. It's a fully deferred renderer that we're using, a lot of dynamic lighting, lots of dynamic shadows, and many post-effects and post-filters that support all the visual quality that you see.
When you think about Kane & Lynch 2, there was a great deal of effort put into effects...
MA: "YouTube aesthetics", we call them. And we put a lot of effort into the effects in Glacier 2 as well. It's very customizable the way that you create the particles, and for example, when you see the rain here, the rain drops that fall on the glass [indicates demo], it's not animation.
They are procedurally generated, and you know you will see, in the game, rain splashes on the characters, rain dropping down the face. Everything like that is something that is calculated. It's not animated by any graphic artist, and something we put a lot of effort into getting the right feel of, and getting the right visual quality out of it.
I feel like this generation -- and this is just me talking because I'm really aesthetically driven -- we have seen a lot of games with really interesting shaders, but maybe not as much as I thought, in terms of like giving a really distinct visual feel. It seems like a lot of games go after a very sort of samey, gritty look.
MA: Yeah, I think that looking at Hitman, there's a very distinct feel to all of it. It was very important that we could, from the tech side of things, be able to support the vision of how it should look, and what kind of emotion it should convey.
And the challenge with games set in the real world is to create an aesthetic that's unique to your game, while doing something that feels realistic to the players.
MA: We'll sometimes use the term "hyperrealism". We want to make it more real than real, in order to convey a certain feeling about it, and so that's what we're trying to do.
Is that something the artists are primarily concerned with?
MA: I believe it's a cooperation between the renderer programmers and the artists for the aesthetics of the game. It's a very tight cooperation, and they do a lot of back-and-forth in terms of effects, and in terms of shaders, and features as well. The artists, they create a technology for them, so they're able to create shaders themselves, in a sort of a visual language. So they have a lot of possibilities and a lot of opportunities to do these things themselves, as well.