As my first networking project, I decided to give Monopoly a shot. I expected Monopoly to be a relatively simple game to program (with simple graphics) which turned out to be mostly correct. I choose to use Swing for GUI as I didn’t plan on having fancy animations so I figured it should do. But I ran into quite some problems with making the GUI look nice while having to build them up dynamically.
The networking went quite smoothly as I had a reference project to look at to see how I could solve several problems. I did encounter the “problem” of trusting the client. If the client-state messed up, let’s say it incorrectly thinks it’s their turn, the server would gladly process the actions of the client. That caused even more state-errors which broke the server state as well.
This project has taught me a great deal to work with Swing, networking and turn-based systems.