Implement an AI-Based decision making (Reinforcement learning) to Game character

Job ID: 33161265

Budget: £20 – £250 GBP

You are part of a team trying to implement AI-based approach to decision making in a game called “Mean Arena”. Your job is to write code to control a character, “Tallon”. The Arena is populated by monsters, called “Blue Meanies”, and is filled with sludge pits and bonus stations. Tallon’s objective is to survive for as long as possible, collecting BONUSES, and avoiding both the pits and the Blue Meanies: if Tallon encounters either a pit or a Meanie they will immediately die and the game ends. To complicate matters, the number of Meanies increases over time --- every few seconds another Meanie spawns in the Arena.

You are provided with Python code that implements the Mean Arena (including Meanies, pits and bonus stations) and which provides an API that allows Tallon to move, and provides information on the location of pits, bonus stations and Meanies as well as Tallon themself. Note that Tallon’s movement is non-deterministic, so that they do not always manage to move in the direction that they wish to.

WHAT TO DO

I. WRITE SOME CODE
Now you should fill out the Tallon class with code that improves on the current decision making about how to act. Given that the current code ignores both the pits (so that Tallon will often wander into a pit) and Meanies (so Tallon takes no evasive action).
Note that you should write code under two conditions;
1. When the Mean Arena is fully observable.
The practical impact of this is that Tallon “knows” where all the relevant objects are — Meanies, bonuses and pits. In implementation terms, this is achieved by setting the parameter partialVisibility to False in config.py.

2. When the Mean Arena is partially observable.
The practical impact of this is that Tallon only “knows” where relevant objects are if they
are within a certain distance, a distance controlled by the parameter visibilityLimit in config.py. In implementation terms, this is achieved by setting the parameter partialVisibility to True.

You can write two separate solutions, one for each condition, or you can write one solution that works for both solutions. The choice is yours.

II. EVALUATE YOUR SOLUTION(s)
Carry out a written evaluation of the solution (or solutions) that you have written to control Tallon. The idea is that you should try to figure out how well your code works across a range of conditions.
You should definitely include results for both fully observable and partially observable versions of the Mean Arena, but beyond that, you can choose what parameters to vary over your evaluation.