Title: Senior Game Developer
Languages: C#, C++, Python
Tools: Unity 3D, AWS, Android Studio, XCode
Platforms: Android, IOS, WebGL
Key Concepts: Gameplay programming, ML model creation and training
UI/UX design and implementation
AI League is a game shipped for Android and IOS that allows users to build teams of 4 football players and pit them against other users in AI PvP matches.
Each player has a ‘genome’ (base stats), a level and two skills.
The genome consists of six statistics: Stamina, Speed, Power, Skill, Temper and Accuracy. Each of these is tied into gameplay statistics, with some stats being calculated from multiple genome stats. For example, when shooting at goal, Power will determine how fast/far the ball moves, Accuracy will determine the range of error the player can have and Skill will affect the chance of the ball being intercepted by another player. The other player’s Skill stat is used in an opposing chance against this however!
Each player’s skills are actually pre-trained ML models that are weighted towards prioritising different actions. For example, a defender skill will be trained to remain in the defensive third of the field, and will attempt to position itself between the ball and the goal.
An attacker skill might hang out in the offensive third of the field, and prioritise shooting at goal instead of passing to teammates.
There are 22 skills total. Each player can select two of these. For further customisation, the user can drag a slider to ‘blend’ the two skills they have chosen. During gameplay, both models will score the actions they wish to take, and the blend slider will weight the scores accordingly until the score with the highest action is chosen.