Mini Game: As the car drives, the user can add "sand" to indicate where the car should avoid driving. Over time, the car learns to avoid the sand to get to its destination faster. Therefore by playing the game the user is training the model. You can save the model for next time to continue learning where you left off.
One of my first full machine learning projects using PyTorch in Anaconda's Spyder IDE (primarily for the virtual environment) that implements Reinforcement Learning concepts such as Q-learning, Memory Replay, and Markov Processes.
I adapted my model to work with a skeleton GUI in map.py since the main goal of the project was to train a reinforcement learning model.