Let's talk about AI in Game Development.
How many times do we hear people complaining about games because they are not realistic in graphics and A.I? Quite often.
I was playing Club Pro in FIFA 16 last night with some friends and could only notice how the bots made such a bad job. Indeed, they were passing randomly and even giving the ball to the opponents. Hence, I decided to start with it in my blog.
First of all, AI technology provides solutions to an increasing demand to add realistic, intelligent behaviour to the virtual creatures that populate a game world. As game environments become more complex and realistic, they offer a range of excellent testbeds for fundamental AI research.
On the contrary to what we all think, Video game A.I is not about intelligence, it is about creating a realistic and fun experience.
Moreover, A.I has matured into one of the pillars of modern game development. Of course, the quality of the A.I can make or break a game.
One of the games that revolutionised A.I was Metal Gear Solid 2 (2001): Enemies could hear footsteps, have a 45-degree field of vision, move their heads left and right, and behave in a more sophisticated manner when searching for intruders. This logic is still followed in the recent MGS games.
When developing a simple game, implementing A.I is not necessarily hard. For instance, in my WAVE game, there is the green enemy who also appears to be smart.
All he does is calculating the distance between both of you using the coordinates (x,y) and continuously decreases it, no matter where your player goes.
That is an example of Scripting: It is without hesitation the most used game A.I used to day. Just think of it as an "If... then..." statement. For instance, if the player hides behind a wall, wait two seconds and throw a grenade.
Other types of A.I:
Random Scripting: It looks a lot like Scripting with more variety added.
Think of it as an "If... then... or..." statement. For instance, If the player hides behind a wall, wait two seconds and throw a grenade, or rush the go melee-attack, or cover.
Behavioural or Character Based Scripting : It is the usage of random scripting with character types. For example, if a soldier is offensive, its probability of doing a particular action could be tweaked as 25% of grenade attacks, 70% of rushing, 5% of taking cover. If the soldier is instead defensive, it will be 35% grenade attaches, 5% of rushing, 60% of taking cover.
Character based scripting is often adjusted throughout game balancing.
Pathfinding - Getting a characters from point A to B.
3D terrain and cover are huge A.I. dilemmas in modern A.I. programming. As a programmer, you need to keep in mind where the player is, is he firing, should the character fire when he moves, or go as fast as possible. It is more advanced scripting,
Emergent - The game actually learns from your actions.
The strategy game "Black & White" is a good example. This could also be assigned to Machine Learning, which I will be discussing in my next blog post.
Ahmed Ahres, 22.