In this video, we will talk about AI in video games. Some amazing and not-so-amazing examples and what we can learn from them.
Check out my complete Unity Masterclass here: https://bit.ly/2Sk2gHs
If we think about Artificial intelligence in Video Games we usually think about NPC enemies, in titles like, let´s say, Batman Arkham knights, Metal Gear Solid, The Aliens species from Halo, or, for some of you, even the original Fear game, featuring innovative systems that made the AI feel fun and truly engaging to play against. But what actually is AI in video games?
Artificial Intelligence refers to the simulation of human intelligence in machines that are programmed to think like humans and mimic their actions. But, that’s not necessarily the case in Videogames. I don’t want to say that we won’t have near-human AI in video games sometime in the future and that it won’t be awesome but, in most cases, you don’t need this to simulate a Bandit’s reaction to an arrow flying past them. And your PC wouldn’t like that either by the way. In most of the cases, it isn’t anything more than simple, “if this than that” cases. Simple actions like, “if player is in radius, shoot()”. Not really what you would describe as Intelligent. There is no real reaction in them, but more like the performing of actions once a specific condition is met. What would we need to do then to get at least something that acts like an AI?
In this case, making them more Intelligent, would just mean adding more conditions. Literally.
Shooting the player if he gets in range is nice but, what if he’s behind cover? Well, make the NPC try to walk around the cover to be able to shoot him again. Because just shooting the cover, wouldn’t be very smart if you ask me.
What if the player jumped down a cliff because he has some sort of glider? Just keep following him to your death? You would want the NPC to stay on the cliff edge and shoot him from there, or try to find a new path to reach him.
if the player was detected and then lost, during the next few seconds don’t just patrol, but actually, search the player.
All those little tweaks and additional conditions make an “AI” feel as if it actually were “intelligent”.
But in reality, it’s still just following orders. Like, just imagine, if an NPC was programmed to find the player tag, and then placing the player in front of him without that tag. Will he recognize the player because he remembered how the player looked from previous encounters? No. If there’s no tag, there’s no player.
So what does that mean for video game AI? Is it a wrongly used term? Is there no such thing as an AI in games? Not necessarily. I mean, there may be better terms to describe it than AI but, do you really prefer calling it SetOfFixedConditions instead of AI? Doesn’t really roll off the tongue that easily I would say. And, to be honest, every now and then, these fixed conditions can give us players are near-real AI experience. Like those examples where they present a sense of “learning”, even if it’s not real learning. Like when in Metal Gear Solid 5 enemies started wearing helmets when the player headshoted them too often, or when competing NPC drivers in racing games speed up or slow down to stay close to the player, as we discussed in our previous video about game difficulty, that’s what’s called Dynamic Difficulty adjustment, also called DDA, simply put, the enemy learns from your performance or actions and adjusts itself to that.
But… isn’t that basically learning? Wouldn’t that make it a true AI? And even though that is pretty close to one, it’s still just following orders, there is no conclusion that the NPC has gotten to, no new or emergent behaviours in response to the player’s actions, but just an, “if player headshots number high, up the chance for spawning with helmets”. That’s, mostly just it. But still, especially with this, engaging with enemies can feel sometimes really good and fun, and really take the monotony out of a game, because when you can use the same strategy for every single enemy, it can get really boring after a while.
tutorialsEU offers you free video tutorials about programming and development for complete beginners up to experienced programmers.
This includes C#, Unity, Python, Android, Kotlin, Machine Learning, etc.
Stay tuned and subscribe to tutorialsEU: https://goo.gl/rBFh3x
#artificial-intelligence #game-development