For my Software Design class, our final project was to create an interactive project that uses Model-View-Controller (MVC) architecture. For many, including my team, this task involved creating a game. Alex and I worked to create the Snake Game. You can find our code and read how to play our game here.
This project gave me an opportunity to practice both soft and technical skills. It increased my confidence in reading API documentation, as we frequently referenced pygame. Using a familiar game let me translate the rules of the game into the MVC architecture, starting from scratch. Communication and using Git on a team project have also been useful on many projects since this one.
Creating this game and being familiar with the code gave me an easy way to implement reinforcement learning, allowing me to focus on the math rather than how to implement it with a game. The MVC architecture made it easy to add additional controllers.