[Research Week 1] // AHH // Algorithms, heuristics and hacks


Research Week 1

Image result for algorithms

Algorithms

Simple set of rules that simulate real world behaviour or environments. Comes in the form of code. An example is Pacman, the AI behaviour of the ghost changes once the character gets too close and chases Pacman, this is due to how the algorithm is set up.
Another example of algorithm at work is in the game Rainbow Six Siege, the game requires the character to be stealthy which includes being quiet, the AI is capable of hearing the character move around the map and if they hear a sound made by the player they will investigate towards that area. Once the player is in line of sight of the player they will shoot on sight.

Image result for heuristics

Heuristics

Strategies deriving from previous experiences with similar problems. For example in video games, you may find you keep losing to a certain boss because you haven’t yet learned its strategies or move set, you will keep fighting that said boss until you learn a strategy to beat it. Trial and error. A lot of the time in games AI follow the same pattern of movements and attacks, but heuristics means that AI are capable of learning from the players mistakes not vice versa which adds to the challenge of the game.

-Optimality
With multiple solutions, each solution may not be better than the other, or the one solution you think is the best may not be the best in another person’s view.

-Completeness
If many solutions exist heuristics will discover them all but only use one of them

-Accuracy
If a player is hiding behind a bush then technically the AI shouldn’t be able to see you and kill you, in some games however this still may happen which breaks immersion. This all depends on the ‘realism’ of the game and expectations.

-Execution
Does the heuristic turn out how you expected, for example throwing a grenade in a video game, you want it to land in the best possible position and kill everyone, the AI may move away from it though if it is clever enough.



Hacks
AI accessing information they shouldn’t have, so in a game the AI behaves in a way they shouldn’t, so if the player is behind a visible wall sometimes the AI will see the player somehow even though they shouldn’t. They act differently than they usually do due to a hack, or what you expect them to do.
A cut scene in a video game is classed as a hack, it’s something the player has no control over. It comes out of nowhere while playing the game and depending how well it was implemented it can break immersion.

Algorithm examples

Image result for the division cover system

-The Division
The AI in this game is a bit of a mixed bag and can either be very immersive or completely break immersion. Sometimes the AI will be completely out in the open available for an easy kill, not taking advantage at all, yet other times they will surprise kill you from behind.
Cover system. This game features a cover system in which the player can hold down the cover button and it will automatically run to a new cover spot, this is an automated process which doesn’t require input from the player once executed. The new cover spot is indicated with a white line so that the player can calculate tactics such as if the run for cover will be worth it.

Image result for forza drivatar ai system
-Forza Drivatar AI system
Forza uses a system of AI learning which makes it so the non-player controlled players will learn from players, so that any mistakes the players may make the AI will have the chance to make that same mistake, the same with if the player drives well.
The most recent Forza games use the Drivatar system which is hooked up to a cloud based service. This means the game can use AI racers that is based off players from all around the world and this process is seemingly random. This makes it so the AI can act in all sorts of different ways such as making very silly mistakes or on the contrary being very good at driving.

Image result for recommended specs
Hardware constraints
Physical hardware limitations, a good example is every single console have hardware constrains and are limited to the hardware within that system, so Xbox One games are limited to the hardware within an Xbox One meaning that games developers have to be careful on how demanding they make their game and always have to keep in mind on how well it will run on their given platform.

-Cross platform

Cross platform makes things complicated as you have to change optimization for different platforms. If you would like your game ranging from PC to mobile phone then you have to take in mind hardware capabilities, so you would have to design the game to work on the lowest spec system. For example, there is no way a game like Black Desert Online would work for mobile phone and would fry the device in an instance. Due to the overwhelming graphics and countless players on screen at one time, it’s just too much for any mobile device to handle.

-Reworks

Some game developers don’t make their game cross platform on release, the reason behind this is sometimes they have to completely rework their game in order for it to work on the other system, a good example of this is Fortnite, originally the game was just release for PC, Xbox One and PS4, eventually the game came to mobile phone but it took a while for it to come out. If you compare the game graphics from PC to mobile you will see a noticeable difference, the graphics are far less worse on mobile for it to be able to run well and you would have to play or watch gameplay yourself to see the difference.


-Recommended spec

One different thing to note is PC’s come in all kinds of builds from low end to high end, because of this game developers will release their games along with the ‘required spec’ or ‘recommended spec’ in order for the game to run well. Depending on how advanced the graphics are, this can range from very demanding to not very.

-Player experience

Player experience is how much a player enjoys your game and is willing to keep playing it. Good player experience is having fun and not wanting to stop playing. Bad player experience is playing the game for 5 minutes, realising it’s not very good and never playing it again. Because the goal of making the game is generating money, it is vital that the player experience is good because if it is then there is a good chance they will recommend the game to other people and the cycle will continue. The best form of advertisement is word of mouth, and the best thing is it’s free and only requires good player experience to happen.

Things get complicated making your game cross platform because you risk lowering the player experience, for example if you want your game to run well on the phone but also want the game available on PC then you would have to make the game with relatively low end graphics so it runs well, however this would mean player experience would be lowered because people these days much prefer playing games with good graphics.
If you do not optimise your game for each platform them you risk your game not running well, a good example of this is Player Unknowns Battlegrounds, the game is good at its core but doesn’t run well at all, even myself with a high end PC my game doesn’t run well at all. Games that run on lower Frames Per Second ruins the Player Experience by a land slide and PUBG’s mixed reviews on steam is evidence of this.














Comments