This is a repost from my personal blog.
So this is going to be my last Assassin’s Creed blog-post for a considerable while. I think I will write about the movie when it comes out, but don’t expect to see any Assassin’s Creed content until the release of the next big console title. That said, there will be articles about other games (so keep checking my site if you’re interested in it!), and this post is going to be a big one. I am very fond of the Assassin’s Creed series, as you probably have guessed. I’ve been interested in it ever since I saw its reveal in 2006. So what I’m going to say might raise eyebrows, WTFs, and other confusion among the fan community, but I think it’s a topic that should be discussed. Assassin’s Creed is not, and has never been, a social stealth game or series.
Now that I have your attention, let’s begin with a story. I have been contemplating a little about the state of social stealth in the series for some while now, but there was a moment in Assassin’s Creed: Syndicate that has really kicked my thoughts into overdrive. In Syndicate, there is a mission, called A Spoonful of Syrup, where we have to follow a distributor and steal his plans to find out where Templars manufacture a certain syrup. And there’s an optional objective to steal the plans undetected.
Now, I’m not going to recap all my unsuccessful for various reasons attempts to complete this objective by blending in with the crowd. What I will say though, is that the way I have beaten the objective is by throwing a smoke bomb at the distributor, crouch running across the street towards him, stealing the plans while he’s still coughing from smoke, and then running away. And this successfully completes the objective. Look at this video guide walkthrough from IGN for another ridiculously looking way of completing the mission (start at about 5 minute mark):
Purely mechanically-wise, there’s nothing wrong – we were indeed undetected. But after that moment, I just sat back trying to process everything. Because, I really like Assassin’s Creed and think it’s a great series, but what has always really intrigued me ever since the first title’s announcement was the promise of social stealth. And while the original game introduced some basic concepts for it, that promise pretty much was underwhelming and undelivered even now, after almost 10 years. So I started gathering thoughts about social stealth – what it means, what are the difficulties, and what could be the ways to properly implement it, all of which I’m going to share with you now.
And before we begin, I want to address the part of Assassin’s Creed community that might start saying now things like, ‘oh, but it’s Syndicate, ever since a certain game social stealth sucks, the first few games is where this concept is really at!’, to which my answer would be no. No it’s not. As a quick example, let’s take a mission from Assassin’s Creed II that would be familiar to many: Surgical Strike.
Most people complete it by going from crowd to crowd, from bench to bench, until they reach the group of people that’s near our target, and then kill it with the hidden pistol. Now, what will change in the game if we replace crowds and benches with bushes, other than the thematic part and the fact that some of them won’t move? Pretty much nothing. The way you complete the mission wouldn’t change at all. Crowds are just fancy bushes, and while this is not wrong, the fact that there’s not much more than that is a problem.
So let’s start with some definitions. What is traditional stealth and what is social stealth?
Traditional stealth is based on line of sight. You’re invisible, as long as you’re not seen by the enemy. Thief, Splinter Cell, Mark of the Ninja, – all those are traditional stealth games.
Social stealth is based on behavior. The first Assassin’s Creed describes it as you being invisible to guards as long as you act in a socially acceptable way. What this essentially means, that there’s a system – the crowd. As long as you act like you’re part of the system, the guards don’t notice you.
What Assassin’s Creed is so far, though, is a traditional stealth game with social stealth elements. It’s more of a theme. There are some reactionary mechanics, mostly related to a particular action – ripping off a wanted poster, killing a person, stealing something, doing an illegal activity, that kind of stuff. But other than that basic (relatively speaking of course) list of reactions, it’s about being out of the guards’ line of sight by using hiding spots represented by the crowds, and some other mechanics like Altair imitating a monk anywhere he wants (so Altair is his own hiding spot, albeit very slow) or the kidnapping mechanic of Assassin’s Creed: Syndicate.
This does lead to some very non-social stealth possibilities. For example, with the kidnapping mechanic in Syndicate you can go in a restricted zone, capture a hostage, and as you try to figure out how to escape just go around in circles while being in the line of sight of every enemy out there, and nobody finds it suspicious (unless they’re in the ‘detection circle’).
Nobody finds it suspicious when there’s a person who runs from one group of people to another, stands there for a bit, then runs to the bench, sits there for a bit, then runs behind a corner and waits there (as the detection is based on line of sight, running a lot of times can be more efficient than walking, so this is how switching between blend groups looks like).
And, while we’re at it, nobody finds it suspicious when there’s a fully armored person with a crossbow, a sword, and lots of pouches and throwing knives, just standing there on the middle of the street for minutes on end waiting for something.
They do react though to climbing walls. At least audibly. “He must be late, and she must be beautiful”.
But still. absence of reaction to behavior is a big blunder for Assassin’s Creed’s social stealth. Now, of course, all those things don’t happen by magic, they have to be defined systems. So let’s figure out what components should be a part of a social stealth environment.
1 – Detection based on adherence to the system
We’ve touched upon this already. So there’s a system, that being the crowds of civilians, that acts in a certain way. As long as we act like we’re part of it, neither the system nor its protection (that being the guards) are aware of us. It sounds very straightforward, but it’s also the most complicated part of the problem. I’ll save discussion of this point for later in the post.
2 – Abilities to disrupt the system
Assassin’s Creed II has introduced two mechanics: throwing money and hiring groups of allies to distract guards. Now tell me which one is the social stealth one. The answer is – not the hiring allies one.
Because guards and allies are both entities above the system of crowds. So when you’re sending a group of allies to distract guards, you actually fully skip the interaction with the social layer and basically use a tool to directly disable the system protection layer. If there’s not a single civilian around, allies work just fine.
But when you throw money, you actually disrupt the system itself. The crowd starts behaving in a socially unacceptable way, so the guards focus on them.
This is the kind of tools that social stealth needs – that make parts of the system act in a socially unacceptable way to divert attention from you. This can be expanded to different actions with different civilian archetypes, like paying money to minstrels not just to stop annoying you, but to start annoying someone else, telling a drunkard that another drunkard has insulted him and everybody starts watching how a fight ensues, etc.
So, in short, there are some tools in the series that disrupt the system, but not enough.
3 – Agents out of our control that disrupt the system
Now, of course, the player can’t be in full control of the system. That’s why there have to be other agents inside it that disrupt it, forcing the player to adapt to the situation accordingly. This is present there and there in Unity and Syndicate in form of some events, like when a thief steals something from a civilian and guards chase him.
Though a much better example would be what happened to me once while playing Unity. There was a side-assassination mission, and I got onto the rooftop near the compound of extremists the leader of which I had to take down. As I was looking where to go next, I see that everybody starts running somewhere. What actually happened is civilians have decided to attack the extremists, and that was unscripted. So I had to adapt to the situation.
So again, there are some agents out of our control that disrupt the system… but too few to provide interesting gameplay opportunities with some consistency, there needs to be more.
4 – The system transmits information between agents
Here’s a typical situation that you might encounter pretty frequently in Assassin’s Creed games. Imagine, you assassinate a person, and stay in one spot. The crowd nearby starts running away. But the people they’re running past, they just continue moving on their previous trajectory like nothing is happening, until they see a dead body. And then they say something like, ‘who could’ve done such a thing?’ (and on the screenshot above you can notice a group of civilians standing near the building, they remained unaware even though there were people who pushed through them as they ran)
That’s because the civilians who were running out of fear didn’t transmit any information to the civilians that were still calm. But this is very important in a social stealth game, because it allows to transmit information between different agents of the system when you’re (or somebody else if it’s a distraction) act in a socially unacceptable way.
If you’ve watched the video of the Syndicate mission walkthrough I’ve linked to earlier, you would notice that the main character was crouching behind his target all while a civilian near it was very befuddled by our behavior for quite some time. The civilian sees our socially unacceptable behavior and acts on it, but he doesn’t transmit information to anybody around him, which he should. And if he would, the target would turn around and see us, which means that to get to it undetected we would have to walk and act normally, and that already makes it a more social stealth experience.
And this is totally doable, there’s games from 2000 and maybe earlier than that which have NPCs transmitting information to one another. So for Assassin’s Creed it’s a matter of expanding its existing systems (as far as I understand, guards actually transmit information between each other).
5 – Player’s appearance affects how quickly the system becomes aware of him
Now, this is not about disguises, though they can fit in here as well. This is more about equipment and tools. The more armor, weapons, pouches with all the different tools the player has on him, the quicker the system should become suspicious of him if he acts in a socially unacceptable way. For quick example, let’s take a look at two stages of Ezio’s equipment evolution in Assassin’s Creed: Revelations.
This is Ezio’s original outfit that he starts with as he journeys to Istanbul. It looks close enough to civilian clothes, yeah there’s some pouches, and bells and whistles and a little sword, but all in all if you see this guy on the street then you don’t really notice him, and if he runs somewhere, well, maybe he’s late for a trade meeting or a date with his wife. Who knows. But then we can look like this…
This is Ezio with the unbreakable armor of Ishak Pasha (best set in the game), with a crossbow and a huge-ass sword. You would be intimidated just by seeing this beast on the streets who’s clearly not a guard, and if you’d see him running somewhere? That shit would be scary, you’d say ‘what the hell, who is that, where is he running, what he’s going to do?!’
Both Ezio’s equipment sets are treated the same in the game, but when it comes to social stealth, they shouldn’t be. The players should balance how well-equipped they want to be and how noticed they are due to that.
There’s probably more points, but I would say these are the five global conditions that define a proper social stealth system. And, I would like to mention, that Assassin’s Creed does have successful social stealth implemented, just not in single-player. It is the series’ multiplayer mode.
In multiplayer, all NPCs look like different player avatars. And the players hunt and are being hunted by each other as different contracts are given out to different people. So there is detection based on adherence to the system, because if you don’t act like you’re an NPC, then the player watching you will realize that you’re not.
There are abilities that disrupt the system. For example there’s a skill that sends an NPC running towards your attacker (so maybe the civilian would get killed and the hunter would lose the contract), or a skill that transforms everybody in a crowd into a copy of your avatar.
There’s agents out of our control that disrupt the system. I don’t know if it’s by accident or by purpose, but sometimes NPCs themselves don’t act like NPCs, they run a little bit, they do something weird, so people might think that it’s a player.
The points 4 and 5 are missing, but they’re also not relevant for the multiplayer in particular. However, I would like to note that while multiplayer in Assassin’s Creed is proper social stealth, it takes advantage of two things:
1) It deals with much more abstractions than single-player mode does, and that includes how NPCs act, how skills work, and the overall goals of the multiplayer mode.
2) And, more importantly, you don’t have to programm the crux of social stealth, that being able to recognize discrepancies in behavior. Human brain already does that for you.
Because this is the big problem of a single-player social stealth experience, and why games like Assassin’s Creed and Hitman don’t actually have full social stealth systems, but just certain elements of those. There’s so many issues in making a computer discover discrepancies in your behavior.
– There’s the purely technical issue of, well, implementing that, which would be a huge task.
– There’s the issue of interaction between all the other systems, which Assassin’s Creed being an open-world game has a ton.
– And there’s the issue of players actually understanding why something happens, because how AI detects that you’re acting out of the ordinary is not something easily conveyable.
Let’s imagine a situation. Suddenly changing the trajectory of your movement is weird, right? I mean, you’re going in one direction, and then suddenly go into another. That’s suspicious and should be designed and programmed as part of AI recognizing when player acts weird. That makes sense, right?
But what then can happen, player gets to a street intersection, and turns to intersecting street, and the AI will detect it as sudden change of direction (which it is), and will send guards to players, ‘Hey, you, stop!’ and the player didn’t do anything wrong and will be confused and frustrated about this.
So then you implement an exception to changing streets. And then going from one market stall to an opposing one. And then to taking a shortcut in the park. And so on and so on until you’ve got a functioning human brain.
Social stealth principles 2 to 5 aren’t a problem, they’re either already in Assassin’s Creed in basic form and have to be expanded, or aren’t an immense technical and design challenge to be implemented. Principle #1 though which is the core of a social stealth experience, – detection based on player’s behavior, is.
So how do you solve the issue? How do you create an AI that properly and with right conveyance detects players and system-disrupting agents based on how they act? The answer is…
You make an illusion of it.
This is what we game developers do, after all. We are masters of illusions, that’s how we make great games. And whenever there’s a huge challenge that’s impossible to solve with current technologies (or, maybe, ever), we don’t tackle it straight on, we use tricks to provide the fantasy we aim for.
It’s what Assassin’s Creed tries to do as well when it comes to social stealth. Have an illusion of it. And now we come to the real core of the problem.
It’s not that Assassin’s Creed doesn’t have a proper behavioral social stealth system, it’s that the illusion is not good enough.
So the real question is: how to make the illusion good enough?
I have a proposition for the solution. And I don’t know, maybe the developers have already tried this. Maybe this solution sucks. In which case, oops. Though maybe the developers didn’t try it in a ‘correct’ way :D I don’t know. But it’s something that in theory at least should work (sadly I didn’t have time to work on some prototype for this in an existing engine where it would be quick to do, but maybe at one point I’ll get to it).
When in their line of sight, the player should be detected all the time by guards and civilians alike, and the speed of detection depends on high profile or other socially unacceptable actions (with a multiplier depending on player’s equipment).
In Assassin’s Creed, generally speaking there are four states of awareness: unaware, aware, suspicious, and alert. The detection system applies just to guards and begins to work once they’re aware, which requires the player to either do a particular bad or illegal action or be in a restricted zone. But my proposed solution would mean that even in unaware state, there would be detection (and not just for guards). Though please note that this is different from the way Syndicate handles Blighters by instantly setting them as aggressively aware when you’re in their line of sight, regardless of how you act. It’s a gradual detection from unaware to aware state.
Here’s why I think this is a good concept. First and foremost, no actual new systems have to be created, this is an expansion of what already is in Assassin’s Creed, which means it’s easier to prototype, easier to test out, easier to make it understandable and figure out how to not make it overwhelming (after all, we don’t want the screen to be filled with detection meters). All ‘easier’ are relative of course, as it still would be a pretty complex system.
But secondly, let’s look at the effects of what will happen by comparing ‘before’ and presumable ‘after’ in different situations.
Situation #1: player goes to blend into a group of people on the street or at a market stall and stays there for a considerable while.
Before: as player doesn’t do anything bad, nobody minds him staying there as long as he likes. Which is strange when you think about it.
After: civilians and market dealers would be fine with player standing there for some time, but after a while they’d get progressively annoyed and transmit that information to other NPCs. Can be accompanied by them saying something, like the market seller can start talking how he doesn’t like loiterers.
Situation #2: player goes from a group of people to a group of people to reach his target, all while the location he’s in is in full line of sight of the guards.
Before: player usually runs from group to group as it’s safer that way to not get noticed.
After: if player runs from group to group, not only he will get noticed quicker by guards, but civilians who would transmit information between another would get aware of him as well (and groups of civilians usually don’t act as hiding spots when they’re aware). Which means that the better solution is to walk from group to group.
Situation #3: player has nothing to do and runs around in circles on one spot.
Before: nobody notices this crazy guy as long as he doesn’t push them.
After: in a bit of time, everybody will become aware.
Situation #4: player stands still in front of a group of guards for a long time doing nothing.
Before: guards are like, ‘whatever, we don’t care’.
After: even though it would take a considerable time since the player doesn’t do anything wrong, the guards will get annoyed and become aware as nobody just stands still like that infront of a guard post for no reason.
So as you can see, with this concept we don’t add any actual behavioral detection. We just make the players being constantly detected by everyone with the detection speed depending on how high profile or socially unacceptable their actions are. Which in essence is an expansion of what we have in the series already.
And this will lead players to act in a socially acceptable behavior when they’re on the streets, because they don’t want to be detected. So instead of creating insanely complicated rules that check acceptability of player’s actions, we create (still complicated but immensely less) rules that nudge the player to act in an acceptable way.
Another nice side-effect of this would be that rooftops transform into an area of freedom for our assassin where you can do whatever you want. This was the original concept after all, that streets restrain how you act and rooftops don’t. But at the moment, really you can act however you like both on the streets and on rooftops.
So there you have it. If any of the Assassin’s Creed developers are reading this, it would be cool if you try to test this concept out if you haven’t, and if you have and it doesn’t work, I’d be happy to hear your reasons why. I believe that with discussion this can be transformed into something that works :) And if I ever get to implementing a prototype for this one day, I’ll share it with everyone.
To quickly recap everything that was said in this long post, a good social stealth system consists of the following components:
– having the player control his behavior to remain unnoticed
– providing tools for the player to disrupt the crowd system of the game and make others act in a socially unacceptable way
– adding other agents within the system that do so as well
– have the members of the system transmit information between one another
– have player’s appearance influence the detection
And point #1 doesn’t have to be implemented straight, but it’s important to create an illusion good enough that players feel that it’s created straight.
Thank you all for reading, hope you enjoyed it. Feel free to leave any comments below. If you’d like to keep an eye on my future blog posts, feel free to follow me on Twitter
And if you’d like, consider supporting my work on Patreon! Thank you very much!