Jogo feito para fins de estudo da Aprendizagem por reforço (Reinforcement learning), e para este caso, foi-se implementado o algoritmo Q-Learning.
Basicamente o que acontece é, que no início do jogo, por não ter informação alguma do ambiente em que está, o agente toma decisões aleatórias e portanto vai recebendo "recompensas" do algoritmo com base no resultado das acões que ele tomou (positivas para o caso de pegar a bolinha e negativa para o caso de não pegar a bolinha), fazendo com que nas próximas jogadas, ele tome decisões com base nas recompensas que ele recebeu anteriormente.
Deixei o modelo "jogando" por 8 horas e o resultado foi que ele teve um percentual de acerto de 98%, o que é um ótimo resultado considerando que essa é a primeira versão do jogo.
https://towardsdatascience.com/simple-reinforcement-learning-q-learning-fcddc4b6fe56
https://italolelis.com/snake
https://www.maxwell.vrac.puc-rio.br/19637/19637_4.PDF