Last semester, I took a class learning PyGame. Despite the outdated-looking website, it is actually fairly well maintained. It may not have all the bells and whistles that I am used to in other game engines, PyGame can be a good tool for making smaller 2D games. With the help of PyTMX, I was able to make a quick side-scrolling detective game.
In the game, you are thrown into this village where someone is supposedly plotting a murder. People walk around throughout the day, going house to house and interacting with the neighbors. Your goal is to get the information you need at the end of the day in order to stop the murder from happened. The roles and behaviors of the townspeople are randomized at the start of the game. However, if you fail to stop the murder, you can reset it to the start of the day, where people will act exactly as they did on the last try except where your different decisions might have influenced them. The game was mostly a proof of concept to see if I could make a game all about logical deduction.