Dots and Boxes – Java Network Game

During my pre-master in Computer Science, I completed a two-part minor where I worked on this project as part of Module 10. Together with a partner, I developed a network-based version of the classic pencil-and-paper game Dots and Boxes. The game was built in Java using a clean Model-View-Controller (MVC) structure, supporting both local AI play and real-time multiplayer over a client-server architecture.

Our implementation includes a terminal-based interface (TUI), multiple levels of computer AI (random and strategic), and a custom communication protocol for player interaction over sockets. The application uses concurrency to manage simultaneous user actions and gameplay events, requiring careful synchronization across server and client threads.

Throughout the project, I contributed to all major parts of the application but focused especially on implementing and cleaning up the server-client code, ensuring it was thread-safe and maintainable. I also wrote system tests and added final features to improve robustness. Collaboration was key in this project, we worked using Git branching strategies and supported each other through frequent code reviews and debugging sessions.

This project gave me valuable experience in software design, object-oriented programming, and real-world team development workflows using Java.

Developed by Sterre Kuijper

Instagram

@sterrekuijper