Play 3 different games within the Arcade application: Hangman, Snake, and Pacman!
This was my first personal project that I built in Java, and in particular, it was my first experience with foundational Object-Oriented Design Concepts. This meant that I spent a lot of time problem-solving, learning Java concepts and getting accustomed with libraries as I went.
Although it originally started as a project for a course (we were told to design any application that could be run from the console/terminal), I extended beyond the requirements and built GUI for each of the games using Java's SwingGUI library.
My first "draft" for this project was archaic and violated almost every principle of good programming. There was coupling, duplication, and violations of the SRP everywhere. After I learned about proper software engineering principles, I returned and refactored it in accordance with those principles... mostly. Some sections of my code were so tightly coupled and undocumented that it was essentially a sunk cost and the only proper way to fix it is to redo it.
However, I think this project strongly reflects my love for learning new things, problem-solving to reach a final goal, and video games.
I really encourage you to play Pacman -- I feel like I especially put a lot of time and effort into that one (although AI for the ghosts was really hard to design with only boolean logic). The other two are fun too though!