Game Programmer
Machine Learning AI
The Machine Learning's (MLAI) purpose is to showcase how an AI in a 3d (or 2d) game world can adapt to changing situations, featuring ML-Agents.
How my MLAI works is that it starts with no knowledge whatsoever. From here it will start to move until it collides with a boundary (or something else).
Following, if it touches a boundary - it is punished, where it learns that the loss of reward indicates that the boundary is a negative.
Eventually, it will collide with the target, where the MLAI is rewarded. It then learns that it needs to reach the target without going out of bounds.
The first set of the learning is now complete.
​
​
​
​
​
​
​
​
​
Moving on to the next set of testing, I add a mobile but slow AI seeking 'enemy' as well as a target which offers a higher reward.
The AI then has to adapt, again, through learning.
As the AI collides with the 'enemy', the AI is punished, losing reward again.
The AI collides with the bonus target - learning that it offers more and to priorotise this target over the last.
Some other code is added such as punishment when the AI does not moving far enough, ensuring that the AI doesn't learn to just stand still to avoid punishment. Other quality of life changes like this.
These tests were a success and showed the MLAI's ability to adapt to new situations in 2d/3d game words.


Target

Bonus Target


Client seeking 'enemy'
Client (MLAI)