Monday, 6 November 2017

AI Techniques, Tactics & Strategy and Hacks

AI Techniques

Boids Flocking

Boids flocking is a technique which used to create crowd behaviour, such as a school of fish. In (mick maus, 2015)’s video titled “How do Boids Work? A Flocking Simulator” he explains the three guidelines that the boids follow. These are “alignment” which is a rule to determine the direction at which the boids are travelling. They all follow a common heading. If one boid changes direction, then all the other boids which change their alignment based on that. The second rule is “cohesion”, a rule that is applied to the area around the boids. Each boids will search the area around it, in its “radius” and will move to the middle. This helps to keep all the boids closer together, even if they are told not to crowd with each other. This leads me onto the third rule “crowding”, which basically keeps the boids together, hence the term ‘flocking’ (which refers to a flock of birds).
The application of boids flocking can be used to form units of agents, allowing them to travel as one unit. Let’s imagine a scenario where the player has just set of an alarm, and reinforcements are inbound. Enemies might form a group, a ‘flock’, when running in towards the player. There behaviour could be linked, such a not spacing out too far from each other.
(Reynolds, 2001) explains another rule of boids called “Separation”. This rule allows each entity to "steer to avoid crowding local flock mates”. This is a rule could be applied to games that have many area of effect weapons such as rocket launchers and grenades etc., where grouping would merely make the game too easy for the player.

Tactics and Strategy

The best AI from games that we know and love are employed by tactic and strategy. I’m not just talking from an in-game aspect, but also from a design aspect. There are certain strategies that are used to make a good AI system that seem realistic enough that we also forget that it isn’t human. In (Mark Brown, 2017)’s video titled “What Makes Good AI?” he highlights some of the aspects of what makes a good AI such as how AI “Lets the player cheat.” He explains that in the game FarCry there is a limit on the number of enemies that can be shooting at the player at any given time. This means that the player won’t die too quickly, especially if swarmed by many enemies. This is just one of the ways that AI cooperate with each other behind the scenes -in a way that most of us players wouldn’t even realise was a factor.
Swarms of dangerous mobs (unlike the real-world term, the gaming term for mob refers to just one entity) can make the player feel danger. But what makes a truly good AI are those that interact with them and the environment around them. (Champandard, 2007) outlines a couple of “behaviours” that I believe are necessary to AI, these are:

1.       Assuming a intermediate position to search for cover, e.g. like dropping down on one knee.
2.       Playing a short animation while looking for cover, and signaling the threat to team mates.”

When these actions are performed by AI it can appear, even if they have their own thought process, that they are moving as a unit.  In the video that I outlined earlier, (Mark Brown, 2017) explains that the body language of an AI is important to us as players. These act as cues that we can use to know what our actions mean to them, and how we can interact with the environment. For example, if an AI hears footsteps, the agent might turn around and walk towards where the sound came from. This was a principle that was used in the franchise Metal Gear Solid. In (YongYea, 2014)’s video, he demonstrates the effect that the player character can have by throwing magazines and knocking on walls. This makes the AI appear intelligent, even if implementing something like this is a basic technique.

Behaviour trees and FSMs can play a part in how AI behaves. (Tangness, 2014) explains in his online article about the game Splinter Cell: Blacklist how AI agents behave using states. He claims that there is are four states, these being: “Normal patrol”, “Normal Investigate”, “Heightened Mode” and “Combat Mode”. He explains how the AI moves through these different states based on different factors such as whether the player has made a sound (which they are extremely sensitive to), or has been detected. These behavioural trees make the guards seems intelligent AI agents, and allow for a more immersive experience.

Hacks

Hacks in video games refer to the AI having knowledge that shouldn’t be openly available to them, such as constantly knowing the player’s state, i.e. when they’re out of ammo, low on health etc. It ruins the feel of the game, especially if they are meant to be realistic. No one likes to feel like every move they make is being predicted. It makes the player feel like the AI is in some way cheating; this is because it basically is. (tvtropes, n.d.) outlines the problem of what he calls an “All Seeing AI”, he explains that “Stealth is useless, no surprises are possible, and it will (almost) never miss a shot. Consequently, players should not bother with misdirection, flanking, or other forms of deception and psychological warfare that would work wonderfully against actual humans.” When we play games, we want to feel that we are smarter than who we are up against, it’s part of the reason that makes computer games so competitive. It is however, a terrible position to put the player in when you are leaving them with no power over the flow of information that the AI receives. It’s frustrating when the AI lands every shot without fail. All of this breaks the immersion of the game itself. How are we meant to feel like the game is pulling us in when it’s constantly undermining the aspects of reality?

Hacks aren’t all bad though, they can be used to determine when a cutscene will occur -something that is often appreciated by the player. The game can use the player’s location to open the world up or spawn a boss.

No comments:

Post a Comment

References

References Bevilacqua, F. (2013, October 24). Finite-State Machines: Theory and Implementation . Retrieved from: https://gamedevelopmen...