This is at least a partial solution to #38 - it still uses the maximum distance as being the maximum one within the non-OOB area, admittedly. I have put in a warning in the README.md about code changes necessary - for instance, the SARSA weights will need adjusting - and given an example change in high_level_custom_agent.py.
I have also fixed the low-level distance-to-OOB values; I concluded that "proximity to being OOB in x direction" was a reasonable interpretation, so it will be -1 at and within the appropriate OOB, since that indicates no distance to being OOB - the agent already is... it will, however, correctly scale to only being 1 at the limit of the (OOB) playable area on the opposite side.
This is at least a partial solution to #38 - it still uses the maximum distance as being the maximum one within the non-OOB area, admittedly. I have put in a warning in the README.md about code changes necessary - for instance, the SARSA weights will need adjusting - and given an example change in high_level_custom_agent.py.
I have also fixed the low-level distance-to-OOB values; I concluded that "proximity to being OOB in x direction" was a reasonable interpretation, so it will be -1 at and within the appropriate OOB, since that indicates no distance to being OOB - the agent already is... it will, however, correctly scale to only being 1 at the limit of the (OOB) playable area on the opposite side.