Fixed bug (random.sample doesnt work on sets)
Migration to Gymnasium
Changed name from SnakeEnv to SnakeEnvCNN and SnakeEnvMLP
added win rewards for MLP
made win detection better in snake_game.py
added print variable to testing scripts to disable prints
Small QOL features:
Added option to disable sound but still render
updated default delays on testing scripts to make sure sound plays correctly
hamiltonian_agent.py checks if board_size is even
added support for different board sizes (for some reason the CNN observation shape has to be (84, 84, 3) and 4x4 doesn't work so it can only support board sizes that are factors of 84 greater than 4)
removed check for eating fruit and colliding at the same time because that cant happen
made tensor board logs specific to the model instead of just "PPO_{some number}"
Not sure how to get rid of the warnings that come up while training:
UserWarning: WARN: env.action_masks to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do env.unwrapped.action_masks for environment variables or env.get_wrapper_attr('action_masks') that will search the reminding wrappers.
Changes
Fixed bug (random.sample doesnt work on sets) Migration to Gymnasium Changed name from SnakeEnv to SnakeEnvCNN and SnakeEnvMLP added win rewards for MLP made win detection better in snake_game.py added print variable to testing scripts to disable prints
Small QOL features:
Not sure how to get rid of the warnings that come up while training:
UserWarning: WARN: env.action_masks to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do
env.unwrapped.action_masks
for environment variables orenv.get_wrapper_attr('action_masks')
that will search the reminding wrappers.