Dabe Alan

The secrets behind Mark of the Ninja’s bloody 2D stealth game play

The secrets behind Mark of the Ninja’s bloody 2D stealth game play

When Ben asked us to mind the shop while he's away getting his brain melted by the pounding bass and sweltering heat of the E3 show floor, I'm not sure he realized I'd seize the mic to prattle on about one of my favourite game genres. Or maybe that's exactly what he wanted. Either way, that's what is being delivered! I'm going to be frothing about stealth games, why they're interesting and how we ended up making a stealth game that might be for people who normally hate stealth games (as well as folks who like them, of course). Why am I talking about stealth games? Well, I'm making one. I'm the lead designer for Mark of the Ninja, a 2D stealth game that's coming out on XBLA late this summer (and we'd like to do PC after that, but we're still working out all the details there). And I've had an abiding love for stealth games ever since I helped Garrett pilfer that first shiny goblet in Thief. There's something fundamentally different and interesting about stealth games, but it wasn't until I started making one that I was able to really understand what those things are.

The art of stealth

This post is going to be about the design of Ninja's mechanics and dynamics. The game does have a (I think) solid, unique story, penned by Chris Dahlen in collaboration with the team here at Klei. Chris is the founder of Kill Screen magazine and he's a god damn boss when it comes to the written word. Just want folks to understand even though I'm focusing on crunchy design bits here, Ninja isn't anemic on the theme/story front. Why are stealth games interesting? The core thing that makes stealth games different is the flow of their gameplay is all “pull,” where in nearly all other 1st/3rd person avatar-based games it's all “push.” Nearly all action games are actually about reaction, at least on the encounter level. The games unfurl by pushing encounters onto the player, which the player must then deal with. Stealth games, however, have the player pulling an encounter to them, at their own pace. It almost has to be this way by necessity, as opposition is unaware of the player and thus it's up to the player to begin perturbing the game world. The consequence of this is stealth games tend to involve playing far more intentionally than other character-based games. Thinking through several steps of cause and effect before doing anything becomes an important skill. There's an unfortunate dynamic that can emerge out of this, however. Because stealth games rely on intentionality, players must understand the game's systems quite clearly (e.g. one must understand how guards react to noise before those reactions can be exploited). Often these systems are quite opaque and understanding something like an AI's sensory perception model is not easy. It can end up being a black box you understand by groping at it blindly until you can start to make out its shape. Another common characteristic of stealth games is the interplay between strength and weakness. If your character were strong enough to stand toe-to-toe with the enemies, the need to be stealthy wouldn't exist. This combined with the above-mentioned need to understand opaque systems can make these games difficult to approach. Playing the game intentionally is necessary to feel competent and be successful. Doing so requires experimenting with the game's opaque systems to understand them. But as consequences for failure are high because the player is generally quite weak if they're exposed, the player is strongly discouraged from performing the experimentation necessary to really succeed. This is especially bad when there isn't a good gradient of failure and you're either invisible and alive or detected and dead (or worse, just instantly fail for being detected for no reason aside from the game saying so). So stealth games tend to work best when the player is given the tools and information they need to plan properly and play intentionally. How does Mark of the Ninja provide these things? One approach stealth games have taken in the past is to blatantly display the enemy's vision cones, either in-game or on a minimap. However, we find this often devolves into playing the game basically just on the minimap, which isn't all that interesting. Fortunately, since Ninja is a 2D sidescroller, line of sight tends to be pretty clear. We found it wasn't important to visualize the enemy's full sight cones, but more that it was essential for the player to know when his character is illuminated vs. when they're in darkness. Some stealth games have dealt with the issue of player visibility with a light gem (see Thief) or some other kind of analog HUD indicator. We wanted something a little more elegant though, and again we were able to leverage Ninja's 2D perspective. We have a number of different palettes for both the level art and the characters. For the level art, it literally changes the pixel colour according to parameters set by our artists (because the game isn't 3D, we can't rely on the shadow mapping that comes basically for free in modern 3D engines). For the character, we actually have a completely unique palette that uses just black and white, with red highlights. Basically the character himself serves as the light gem, and since the player is almost always looking at the character while player, there's no need for other HUD elements that would add clutter and diminish immersion. Additionally, to reduce ambiguity, we made illumination totally binary. Either you're lit or unlit, period. While light gradients have worked well for other stealth games, for us, we found having a binary state allowed players to better know their exact state (and thus, their options) at any time. Visualizing illumination is a common trope of many stealth games. What few stealth games do is visualize sound. With Ninja, we decided to try this. Whenever the player creates any sound the enemy can hear, we create a literal representation of how far that sound will travel in the game. If that sound ring overlaps any enemy, they'll hear it. Otherwise, they won't. Simple and clean. And just as important, when targeting a ninja tool that creates noise, the noise radius is visualized before the projectile is thrown. If you target an object (such as a light), the sound that object will make when broken is also visualized while the item is being aimed at. If you're trying to distract an enemy, or not get their attention, the information the player needs is at their disposal. It's very important to us that players don't have to guess about why a guard did/didn't react. Speaking of aiming, we also found that precision aiming is actually not something a lot of 2D games do. With most 2D games, most weapons have unlimited ammo and the shots you fire serve as tracers for your aiming. However, because the consequences for mistakes in Ninja are so high, expecting people to aim precisely basically right when the game starts is very unrealistic. The amount of practice necessary to become proficient in 2D aiming would necessitate a lot of detection and death. We implemented a system where whenever the aiming button (left trigger) is held, the entire game world pauses. The idea being the ninja's senses are so keen, he can react as if he had all the time in the world. The player can take their time, line up their shots and actually mark multiple targets. When the aiming button is released, all the projectiles aimed will throw at their appropriate targets. The player is able to behave and act like a competent ninja, and we can let the challenge come through utilizing these skills to manipulate enemies rather than simply having performing them at all be the challenge.

The importance of precision

We added a grappling hook a bit later in development for a similar purpose- precision. Since Ninja is in 2D, a lot of “stealth positive” actions aren't available to us as they are in a 3D stealth game (e.g. you can't duck around a corner to hide from an enemy coming down a hallway because, well, there are no corners in 2D). Movement and the ability to traverse surfaces the enemies cannot is the ninja's primary means to remaining undetected. Originally, we had these “perch points” the player could jump to. What they provided were freestanding platforms not connected to walls or ceilings. The problem was jumping to them was often quite fiddly. Folks doing level design, like myself, had to line them up very precisely at exact intervals. Even then, if a player was leaping from some part of a way, we had no way of knowing where their jump would originate from exactly. The end result was that the perch points were difficult to jump to, defeating their purpose (because if you miss the jump, you'll as often as not land in an enemy's sight line). So we added a grappling hook and made that the primary means of reaching and moving between perch points. Immediately they were far easier to navigate and we got a sweet grappling hook in the process. Because honestly, what game isn't better with a grappling hook. (You can also do awesome stealth kills and other very cool things while hanging underneath a grappling hook point via your chain too) To be fair, this is only one way to look at stealth games. There is an impending host of stealth games, from wholly new games like Monaco, Children of Liberty and Dishonored, an addition to new installments for Assassin's Creed and Hitman. Maybe we're entering a miniature renaissance for stealth games. I'm certainly very excited to see how all these other keen developers approach the genre. There are plenty more mechanics I could talk about, but I think I've abused Ben's kindness enough. Hopefully the broad trend of providing the tools and information so important for satisfying intentional play, and thus satisfying stealth gameplay, makes sense. I'm happy to answer any more questions folks have, either in the comments here or on Twitter at @Nelsormensch. Thanks again to Ben for letting me chat with you all here and please take a look at Mark of the Ninja when it comes out this summer on XBLA, and hopefully PC sometime after.