Posted by: xSicKxBot - 06-07-2020, 08:07 AM - Forum: Lounge
- No Replies
Balancing the stealth AI in Splinter Cell: Blacklist
The following blog post, unless otherwise noted, was written by a member of Gamasutras community. The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.
‘AI and Games’ is a crowdfunded YouTube series that explores research and applications of artificial intelligence in video games. You can support this work by visiting my Patreon page.
One of the most challenging and unforgiving genres for artificial intelligence in video games is stealth. Players are tasked with sneaking into locations and conducting their business, be it to steal items of interest or eliminate targets all the while adapting to new threats and exploiting opportunities as they arise. There is an expectation that stealth games provide a real challenge – especially on the highest of difficulty levels – but all the while providing small areas of opportunity for players to exploit. This presents a lot of challenges for developers when creating enemy opponents. They need to be smart and react to the world, communicate their thought processes such that player can compensate but ultimately provide a fair and balanced experience as best as possible. In this blog let’s look at how to build balance in stealth games by exploring the inner workings of Splinter Cell: Blacklist.
The Challenge of Stealth AI
Blacklist, developed by Ubisoft Toronto and released in 2013 is the seventh entry in the long running Tom Clancy’s Splinter Cell franchise. The game is a marriage of previous entries in the series in that it allows for players to take different approaches towards completing each level. Balancing the stealth puzzles of the series roots alongside the more action focussed gameplay exhibited by 2010’s Splinter Cell Conviction. As you take charge of Sam Fisher in Blacklist, you can decided how bombastic or otherwise you want to tackle each new locale.
This presents a massive challenge for level design, game pacing and the design and development of AI characters, since this effectively creates two games in one and the games systems need to effectively manage the transition from the stealth into the combat game if the player makes a mess but also switch back when things die down. Stealth AI is already a challenging problem to solve. Given enemy non-player characters must satisfy several criteria.
First of all the AI characters need to be consistent in their response: NPCs should recognise the world is changing around them and go into a heightened state of alertness. These responses need to be consistent across the gameplay experience such that you can rely on specific tactics to lure enemies into positions that either compromise the security of the patrol routes established or their personal safety.
Secondly there is the issue of communication and feedback: if a character notes something is not right, or spots the player from far away, not only must they act in response, but they must effectively communicate what their intentions are. This includes their animations, talking aloud to themselves or communicating with other NPCs in proximity. Given the player needs to know what they’re thinking and doing in order to get themselves out of the current situation.
Lastly, there is the issue of predictability vs novelty. Ultimately you want the responses and feedback to be consistent to a point of predictable. That said, predictability means the game can become repetitive and in-turn stale after several hours of play, largely because players are unpredictable and difficult to account for. Hence there is a need to maintain novelty where NPCs might do something a little different the next time around, or new enemy archetypes are introduced that force players to approach problems differently.
All of this comes under the umbrella term of ‘fairness’: you want players to develop their own idea of how the games systems will operate such that they can exploit it to their advantage. The more you play the game, the stronger your understanding becomes as new concepts are introduced and prior knowledge is reinforced. Hence playing through the game on that first playthrough versus the second or even the tenth is a different experience and higher difficulties put that knowledge to the test. That said, this isn’t something that will work for everyone, as fairness is entirely subjective and may differ from player to player.
The Four Pillars of Stealth AI
When discussing how AI systems need to support fairness Martin Walsh – Blacklist‘s lead AI developer – had this to say at the 2014 Game Developers Conference:
“If your opponents feel dumb then you get no real satisfaction in beating them. But you know what’s interesting is not being dumb doesn’t necessarily mean being smart. And what it actually means is always being plausible.”
“It’s interesting to note that there’s often a conflict that exists between fairness, consistency and intelligence and that’s something that’s important to be aware of.”
Martin Walsh, “Modeling Perception and Awareness in Splinter Cell: Blacklist”, Game Developers Conference (GDC) 2014.
These ideas are core to the design of the Splinter Cell franchise, not just Blacklist specifically and as Walsh explained in his GDC talk, there are four key pillars of enemy AI design that need to be balanced in order Splinter Cell – or any stealth game for that matter to work effectively.
The Visual Perception of the Non-Player Characters: How do friendly and enemy AI see the world around them and spot the player if they’re exposed.
Environmental Awarness: Meaning does the character have some understanding of the local geometry. Do they notice when doors or windows have been opened or closed. Or when things go loud do they know good cover or chokepoints to establish.
Auditory Perception: Meaning how do we model the NPCs ability to hear noises or more critically, what the player thinks NPC should hear.
Social and Contextual Awareness: Recognising what’s happening in the world around them as the player eliminates their comrades, and even just having realistic conversation between guards as they’re waiting for the player to come in ando their business.
These principles hold not just across Splinter Cell and stealth games, but a variety of genres. In fact we recently explored the sensory systems of the xenomorph as we revisited the AI of Alien: Isolation and as you’ll see there is a lot of overlap between the systems in Creative Assembly’s horror game and what I am about to cover. And this makes sense, given a lot of what I’m exploring in this episode isn’t new, but has went through years of iteration and refinement within game development. So let’s take a look at how the four pillars are managed in Splinter Cell: Blacklist.
Vision
First up let’s look at the Visual Perception of AI characters and how to balance this for stealth games. Vision systems are built to allow for AI characters to recognise objects within defined fields of view, typically through use of view cones: where a cone (or a triangle if it’s a 2D environment) of a fixed radius and height is projected from the front of the non-player character. If an object intersects with the shape, it registers a signal that says that object is ‘seen’ by the AI. Typically the longer an object stays within the cone the signal becomes stronger over time. Hence this is used to ensure that you’re not spotted immediately upon intersecting the view cone, as an AI will typically wait until the signal is strong enough to recognise you.
Image Credit: Walsh (2014)
Now view cones are a well-known and commonly used technique, but they’re fundamentally flawed, because that’s not how human eyesight works. A view cone is often a fixed angle and distance ahead of the character, whereas humans have close to 180 degrees of vision. So one solution is to make the view cone wider, but this presents another inconsistency, given our eyes are built to allow us to focus on specific areas, making what we see sharper and more clear. But in the process of doing so makes everything else in our peripheral vision blur.
Image Credit: Walsh (2015)
Hence Blacklist, like many other games, adopts multiple view cones to represent different types of vision and the detection thresholds and rates of signal increase vary depending on whether they’re designed to model close or distant vision. But the thing that Splinter Cell does to stand out is that view cone isn’t a cone-shaped, it actually looks a lot more like a coffin. This ensures the NPC maintains clarity of vision in front but also prevents them from having strong peripheral vision at longer distances, making it more realistic. In addition, the size and shape of each cone is tweaked for each difficulty setting, allowing for more blind spots on lower difficulties, but giving expert player a run for their money.
Plus for spotting the player, there is an additional suite of sight checks that are made given the player is more or less exposed depending on the stance they are currently in. Sam Fisher can be in a variety of different poses, with some – like being in cover – designed to conceal your position. Hence in order for a the vision code to detect the player as seen, they not only have to be within the cone itself, but also the character has to successfully run multiple sight tests on the player to see how much of their body is exposed. The NPC runs a raycast from its eyes to eight of the bones in Fisher’s skeleton. The more of these bones that are visible without anything in the way means the character is more exposed. Depending on the stance the player is in, the enemy NPC needs to succesfully see a minimum number of these bones before it will recognise your presence. Hence standing in the open versus crouched behind cover have different rates of detection.
Image Credt: Walsh (2015)
But despite this more nuanced system, there are still special cases where, irrespective of an AI characters vision, designers wanted more control over how exposed a player is in certain locations. Hence there is a special custom cover point system that allows for designers to tweak the players visibility at specific cover points, allowing for more control over gameplay in each mission.
Environmental Awareness
Next up, let’s look at environmental awareness, which encompasses all of the knowledge that a given AI character can have about the world and the ways in which it can reason about that information once it has been gathered.
This is driven by what is known as TEAS: the tactical environment awareness system that – like many of the AI tools in Blacklist – was originally built for Splinter Cell: Conviction. It contains a variety of information about the topoggraphy of the local environment as well as what objects are in the local area that the NPC should be aware. TEAS was expanded upon in Blacklist to provide a variety of useful features, not just for environmental but also in cases of auditory perception and contextual knowledge which we’ll see in a minute.
Image Credit: Walsh, (2015)
TEAS stores a series of positional nodes that are autogenerated from designer annotations within the map. This collection of nodes creates represents the areas within which AI and the player can go into cover, areas that they can reach by moving around the environment as well as chokepoints that appear within the environment. Hence guards can patrol and guard chokepoints more effectively and make it more difficult for the player to sneak past, given they have explicit knowledge of the importance of a particular doorway or similar entry point.
In addition to TEAS, in Blacklist objects that the player can interact with such as doors, windows and lighting to maintain history of their state. So when a light switch is turned on or off, we know how long it has been since the action occurred and a lifetime within which that action might be deemed suspicious. When a guard is out on patrol, it can query whether the state of the lights has changed and whether that is something it should be worried about. Hence if the lights are now off, but they were on when the guard looked at it 5 seconds ago, that could be suspicious and merit invesitgation. But conversely, they’re not going to walk into a room and go into an alert phase immediately because someone turned the lights off 5 minutes ago and it’s only now noticed.
Auditory Perception
The third pillar is auditory perception, or put simply, sound. The ability for an AI to hear a noise nearby and recognise whether that noise is nearby and should be investigated. Typically in games if we want an AI to hear something, we trigger an ‘event’ in the game. Each event will have a distance from the character that heard it as well as a priority. It’s useful to have both, rather than prioritising sound solely by distance, otherwise a guard might lose their mind and start opening fire at a tea cup falling over while a gunfight 50 meters away is completely ignored. For stealth games its important that sounds are captured and reported to non-player characters correctly, but also in a manner that seems fair to the player.
So first up, how do you ensure a guard hears distant sounds that they should be able to hear while ensuring sounds they shouldn’t be able to hear are ignored. A straight line distance from the point of the sound to the guards ear might work fine if the sound was made in the same room. But if the sound was in another room, it’s highly dependant on the layout of the environment whether the guard should still hear it. And sadly measuring real-world acoustics is kinda expensive to do, so why not fudge it to within some approximation?
This where Blacklist is able to exploit the previously established TEAS system. Given it provides an abstract mark-up of the environment, including the chokepoints, the distance of a sound can be calculated as the sum of straight line distances of the point of origin, moving through the chokepoints back to the guard. Hence we can more accurately measure a sound that travels 50 meters to reach a guard, despite the object that made the sound only being 10 meters away.
Sounds in same room
Sounds in other rooms
But despite that, it can still feel unfair. Especially as a player as learning an environment and the guards behaviours. Hence to provide some balance for gameplay, the hearing of NPCs in Blacklist is weaker if they’re not on screen. It doesn’t make them deaf, but they just don’t hear quite as well when the camera isn’t looking at them. And naturally their hearing becomes sharper on higher difficulties.
And of course, we need to consider how audio can be used as part of the feedback system to players. Characters should be communicating what they’re doing as a result of having seen or heard something nearby. Blacklist, like many other Splinter Cell games, has a bark system whereby AI characters will run lines of dialogue when executing actions. This is again a common tactic for action games with games as early as Call of Duty 2 pushing this concept. But stealth games require a lot of context and information. Hence the bark system has tiers to it that range from generic information such as saying ‘I saw something’ to ‘I saw the light go out over there’. It helps provide more direct feedback to the player, allows them to better understand how their actions are recognised and what guard NPCs are doing in response.
Social & Contextual Knowledge
The last pillar of stealth is establishing social and contextual knowledge for AI characters in games. Given this is the last of the four, it is arguably the one that receives the least attention in stealth games, but is arguably the one that really helps reinforce the gameplay and can elevate a stealth game from good to great. This pillar revolves around the ability for AI characters to act like they’re in the moment and reinforce the performance theatre of the game. This includes showing an understanding of which characters they are interacting with, but also a richer understanding of how the world is changing around them. This pillar is also the last on because it leans heavily on the others, given the collection of sensory and knowledge systems helps a character understand the world.
First of all there’s social context. Typically in games, managing multiple AI characters at the same time is difficulty. Especially if they’re capable of acting independently and together. The usual solution is to have a separate system manage any co-operative behaviour while the NPCs themselves don’t know that each other exists. This works well in shooters such as FEAR and Halo, but for stealth games, where one of you going missing is kind of a big deal, it needs something more nuanced. In Blacklist, when groups of NPCs are hanging out and talking to each other, they’re actively aware of one another in the space and on occasion will communicate. Hence if you listen in carefully, guards reinforce the audio pillar by having conversations that take greater consideration into current context. If one hears a noise, the other might agree or dismiss it as something else. Plus tying back into the environmental awareness, while doors being opened can be a red-flag, noticing your group of 4 is now 3 is arguably more important. Hence there is a stronger understanding of changes in the environment and dialogue that matches this. Either to highlight their understanding of what is happening or sharing useful information in combat, such as when the player is shooting at them from a position they can’t reach on foot.
In addition, there is a stronger understanding of when things are going wrong. Should the character hear gunfire or another character yelling or find a dead body, they will move into an alert state and either search or start combat if the player is exposed. But critically, they won’t lower themselves from this raised awareness state once it has entered it. This is an important feature that many games miss and when they do, it looks awkward. If a guard finds his buddy dead, naturally they’ll go into a heightened state of awareness, maybe investigate the body or search the area, but they shouldn’t go back into an idle state afterwards, all the while ignoring their buddy still lying dead on the floor.
Closing
Providing a sense of fairness in gameplay is always a challenge. Depending on the type of game you’re making and the systems within it, how you communicate those inner workings to players while maintaining balance and novelty is a new problem with each new project. And with stealth games you’re arguably playing on a higher difficulty level, given the communication of the systems becomes a core dynamic. If players recognise their actions have consequence and that the games response feel fair in that context, then you’re on the right track to building balance for play.
Posted by: xSicKxBot - 06-07-2020, 08:07 AM - Forum: Lounge
- No Replies
I Expect You To Die scores $2 million in revenue on Oculus Quest
Schell Games has annoucned that its James Bond-themed virtual reality title I Expect You To Die has earned $2 million in revenue on Oculus Quest.
Over on its company blog, the Pittsburgh-based developer also annoucned that it’s sold over 100,000 copies of the game on Oculus’ PC-free platform. These two thresholds are huge markers for Schell Games and the VR business at large. I Expect You To Die was originally developed for the main Oculus Rift platform.
Its success on the Quest is both a tribute to Schell Games’ work and demand on the platform for unique, interesting titles.
Itch.io are currently running a charity bundle containing hundreds of indie games, projects and even game development assets, all in support the the #BlackLivesMatter movement.
The bundle runs until June 16th and can be had for as little as $5 USD, with proceeds split 50/50 between NAACP Legal Defense and Educational Fund and Community Bail Fund. From a game development perspective, there are dozens of gamedev specific assets, including:
64px Textures/Tilesheet 8bit Overworld Tileset Anime RPG Tile Pack - Vol.1 School [PIXEL OF LIFE] BearFX Explosions | Pixel VFX Pack CanariPack 1BIT TopDown CanariPack 8BIT TopDown Dungeon Tileset - Top Down RPG Essential Pool Billiards Table Asset Pack - VR/AR Hitboxes and Hurtboxes HPS Cartography Kit Kenney Game Assets 1 Lil' Dragon - Pixel Art Tileset Lo-Fi Stellar Skirmish Low Poly 3D City Builder Low Poly Auto Racing Car Pack - Devils Work.shop Multi Platformer Tileset Old Man Character Sound Effects Pixel art Forest Pixel Art Infinite Runner - Pack Pixel Art Medieval Fantasy Characters Pack Pixel Plebes Digital Card Deck SC: Monster Pack 1 - DELUXE EDITION Snapshot Shaders Pro (Unity) Sprite Pack - Fantasy Female Mage Sprite Pack - Fantasy Male Mage Tiny Adventure Pack Plus Top-Down - Interior Tileset Voxel Currency
You can learn more about the bundle, specifically the game development content in the video below. You can support a great cause while absolutely loading up on indie games and game development assets!
Clubhouse Games: 51 Worldwide Classics (or 51 Worldwide Games as it’s known in Europe) arrived on the Nintendo Switch yesterday and like most other first-party titles, it’s been patched on release.
Nintendo has now shared the full details about Version 1.1.0 and Version 1.1.1 on its official support page:
Ver. 1.1.0 (Released June 5, 2020)
Online
By connecting to the internet, you now have two options: Play with Friends or Play with Anyone.
You can now use the voice chat feature in the Nintendo Switch Online voice app in Play with Friends.
Other players’ figures from around the world will be displayed on the Guide Globe, and you can view things like their recommended games and recent records.
General
Fixed a bug that caused the order of play and the game board to be switched when resuming a game of Chess or Shogi that was started in single-player mode with the setting “First Move: Random.”
Fixed a bug that caused the game to freeze when resuming a game of Darts that was started in single-player mode with the setting “First Move: Random.”
Fixed several other issues to make for a more pleasant gaming experience.
Ver. 1.1.1 (Released June 5, 2020)
General
Fixed an issue that occurred when playing Riichi Mahjong in either Local or Online Play. This issue caused the software to close if one player selected “Pon” and another player selected “Chi,” depending on which was selected first.
Fixed an issue that occurred when playing Riichi Mahjong in Play with Anyone. If a player completed a Double Twin Runs hand, this issue caused the Sevens Pairs hand to be prioritized instead.
Fixed an issue that occurred when playing Shogi or Mini Shogi in Play with Anyone. After selecting “No” in response to the “Promote?” prompt, this issue prevented the game from progressing if the next player didn’t take any action within a given amount of time.
Fixed an issue that prevented the game from progressing if certain steps were performed in the “Learn a Game!” module for Shogi.
Fixed an issue that prevented the game from progressing if certain steps were performed when playing Riichi Mahjong or Nine Men’s Morris in Play with Anyone.
Fixed several other issues to make for a more pleasant gaming experience.
If you haven’t actually bought the game yet, and are still unsure if it’s right for you – you can always try out the free version. This will give you access to four games, mosaic mode and local multiplayer.
Have you updated your own copy to the latest version yet? Noticed anything else? Comment below.
Posted by: xSicKxBot - 06-07-2020, 04:52 AM - Forum: Lounge
- No Replies
Riot Games Is Donating $1 Million To Fighting Systematic Racism
Riot Games is donating $1 million to causes to "accelerate progress" in fighting systematic racism. The studio's first two donations are being given to the American Civil Liberties Union (ACLU) and The Innocence Project.
Riot Games announced the news with a tweet on Friday, saying it was their responsibility to commit resources to systematic change. The company did not specify the amount of either initial donation.
The Innocence Project is a New York-based nonprofit that works to free people wrongly convicted of crimes and prevent future injustices. The organization primarily uses DNA evidence to bring about new trials for hundreds of wrongly convicted individuals in the United States.
Open Liberty Java runtime now available to Red Hat Runtimes subscribers
Open Liberty is a lightweight, production-ready Java runtime for containerizing and deploying microservices to the cloud, and is now available as part of a Red Hat Runtimes subscription. If you are a Red Hat Runtimes subscriber, you can write your Eclipse MicroProfile and Jakarta EE apps on Open Liberty and then run them in containers on Red Hat OpenShift, with commercial support from Red Hat and IBM.
Develop cloud-native Java microservices
Open Liberty is designed to provide a smooth developer experience with a one-second startup time, a low memory footprint, and our new dev mode:
Open Liberty provides a full implementation of MicroProfile 3 and Jakarta EE 8. MicroProfile is a collaborative project between multiple vendors (including Red Hat and IBM) and the Java community that aims to optimize enterprise Java for writing microservices. With a four-week release schedule, Liberty usually has the latest MicroProfile release available soon after the spec is published.
Also, Open Liberty is supported in common developer tools, including VS Code, Eclipse, Maven, and Gradle. Server configuration (e.g., adding or removing a capability, or “feature,” to your app) is through an XML file. Open Liberty’s zero migration policy means that you can focus on what’s important (writing your app!) and not have to worry about APIs changing under you.
Deploy in containers to any cloud
When you’re ready to deploy your app, you can just containerize it and deploy it to OpenShift. The zero migration principle means that new versions of Open Liberty features will not break your app, and you can control which version of the feature your app uses.
Monitoring live microservices is enabled by MicroProfile Metrics, Health, and OpenTracing, which add observability to your apps. The emitted metrics from your apps and from the Open Liberty runtime can be consolidated using Prometheus and presented in Grafana.
Learn with the Open Liberty developer guides
Our Open Liberty developer guides are available with runnable code and explanations to help you learn how to write microservices with MicroProfile and Jakarta EE, and then to deploy them to Red Hat OpenShift.
How to turn off explicit content on Apple Music on iPhone and Mac
Our helpful guide will walk you through the steps needed to restrict explicit content from being played in Apple Music on your iPhone, iPad, iPod touch, and your Mac.
If you’ve got a young child who has their own Apple gear, you might be worried that they will stumble upon explicit content on Apple Music. Fortunately, Apple has a setting for that, and even though the option is somewhat tucked away, it only takes a few minutes to change.
Turn off explicit content in Apple Music on an iPhone, iPad, or iPod touch
Open Settings
Tap Screen Time
Tap Content & Privacy Restrictions
Toggle on Content & Privacy Restrictions
Tap Content Restrictions
Tap Music, Podcasts & News
Tap Clean
Once enabled, the Apple Music, podcast, and Apple News content will be restricted to all-ages appropriate content only. You will need to enable this feature for every device that you wish to restrict content on — it is not bound to a user’s AppleID.
This also only restricts properly-tagged explicit content across Apple-owned services. Children may still be able to access explicit material through Safari, or third-party apps, like YouTube.
If you wish to block explicit content in Apple Music on your Mac that is running Catalina, the process is much quicker.
Turn off explicit content in Apple Music on macOS Catalina
Open Music
In the menu bar at the top of the screen, click Music
Click Preferences
In the window that appears, click Restrictions
In the Restrict section, select Music with explicit content
Confirm your choice by clicking Restrict Explicit Content in the Window that appears.
Anniversary: EarthBound Turns 25 In The USA, And A Whole Generation Feels Old
As time continues to march on relentlessly, it’s time for another significant video game anniversary – and today’s is a particularly nostalgic one. It’s 25 years to the day since Shigesato Itoi’s lovely EarthBound first arrived on US shores and gamers in the West got to take on Giygas with Ness and his band of young heroes on the SNES.
Yes, the English language version of Mother 2 now has a quarter-century under its belt, and we don’t know about you, but it’s making us feel rather… seasoned. The anniversary comes amid various Mother-related announcements coming from Japan, although sadly nothing related to a new entry in the beloved RPG series.
The game’s enduring mix of traditional RPG mechanics in a modern setting blends with brilliant writing, eclectic music and an off-the-wall daftness to give the 16-bit classic a thoroughly unique flavour that really sticks with you. EarthBound didn’t initially set the world alight–at least not in sales terms–but it gained a cult following over the years. The fervent desire to see the Japan-only Game Boy Advance sequel localised and released in the West has become a gaming in-joke these days, to the point where it’s groan-worthy to even mention it. One of the perks of ex-Nintendo of America President Reggie Fils-Aimé’s retirement was apparently to have escaped the perennial Mother 3 questions!
Of course, we Europeans had to wait until Nintendo officially released EarthBound on Wii U’s Virtual Console in 2013 (unless you were an intrepid importer of NTSC goodies), with the NES original localised and released for the first time in the West two years later as EarthBound Beginnings. So, round these parts SNES EarthBound is only about seven years old.
Ah, that makes us feel better!
Share your memories of this great game in the comments below.