study2025Completed

Catan board game

JavaFX Catan board game with AI opponents.

study/2025

Overview

A desktop JavaFX implementation of the board game Catan, built as a university group software project. It models the full hex board, resource production, building, trading, development cards, the robber, and AI opponents.

JUnit and Mockito tests cover the game logic throughout.

It started as a DTU group software project. I then took my own copy and continued it solo: I got the desktop JavaFX game running in the browser via JPro (rebuilding the blocking dialogs as non-blocking in-scene overlays and fixing board input, zoom, and hit-testing for a single JPro scene), Dockerised it, and deployed it live at catan.patrickrobel.dk, with JPro performance work and per-session cleanup on top. The 'Original group project' link below is where it began; the source-code link is my continued copy.

Highlights

  • Full Catan rules engine, including longest road and biggest army
  • AI opponent with its own decision logic
  • MVC split between model, JavaFX views, and controllers
  • JUnit 5 and Mockito test suite
  • 276 commits from four contributors