0% found this document useful (0 votes)
112 views3 pages

Settlers of Catan Java Game Development

The document outlines a plan to develop a digital implementation of the board game Settlers of Catan over two semesters. Key points: - The goal is to create a fully functional demo of the core Catan game by the end of the first semester using Java, with additional planned expansions depending on progress. - Major modules include a GUI for user interaction/viewing game state, a Board module to store and reference game state, and a Master module to process GUI inputs and update the Board. AI opponents will also be developed. - Multiplayer capability is planned through a shared communication protocol to enable games across groups. A graphical JavaFX interface will display game elements like resources and buildings.

Uploaded by

adelinabn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
112 views3 pages

Settlers of Catan Java Game Development

The document outlines a plan to develop a digital implementation of the board game Settlers of Catan over two semesters. Key points: - The goal is to create a fully functional demo of the core Catan game by the end of the first semester using Java, with additional planned expansions depending on progress. - Major modules include a GUI for user interaction/viewing game state, a Board module to store and reference game state, and a Master module to process GUI inputs and update the Board. AI opponents will also be developed. - Multiplayer capability is planned through a shared communication protocol to enable games across groups. A graphical JavaFX interface will display game elements like resources and buildings.

Uploaded by

adelinabn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Group M

Initial plan
For this project, the aim is to design and develop a successfully working implementation of
the popular board game Settlers of Catan over the course of two semesters. A working
demo of the game with core functionality should be produced by the end of the first semester.
The development of this program will be facilitated by the use of various software
engineering tools such as version control systems(Bitbucket) and communication
software(Trello) to assign tasks and monitor current progress. The game will be developed
using the Java programming language.
This implementation should provide all the functionality of the game and its features,
including a board with terrain hexes, players, game state, development cards, resource
cards, cities, settlements, robber and roads. Gameplay should be similar to the original base
version, following the rules specified in the official Catan almanac, with functionality for
trading cards and resources, in addition to building roads, houses and settlements. The
game will support four players, each of which will possess development cards, resource
cards, victory points and any achievements (such as). Extensions to the game to support
expansions such as Seafarers and Traders & Barbarians will be considered dependant on
progress. The structure of how these features will be implemented in classes is shown below
in Figure 1.

Figure 1
There will be several distinct modules within the program-namely, the GUI (which will be
responsible for the user interaction and presentation of current game state), the Board (which
will hold information about current game state, and used as reference by the GUI) and the

Master (which will process updates on the game issued by the GUI and update the Board as
appropriate after validation). AIs will also be developed, for single-player gameplay and for
testing purposes. The interaction between these modules is visualised in Figure 2 below.

Figure 2
The implementation should provide support for single-player use (against AIs) in addition to
multi-player use(to be carried out in collaboration with other CS3099 students). Multiplayer
use will be possible through use of a shared communications protocol. Development of this
will be shared between the participating teams, with the goal of facilitating games between
different groups software.
A graphical user interface will be developed using JavaFX in order for the user to view the
current state of the board(including users deck of cards, resources and buildings) and a log
of previously taken moves, as well as submit game moves to make. This should follow the
layout below (Figure 3) closely.

Figure 3
The board should be constructed of distinct terrain hexes, each of which will store
information on neighbouring nodes, paths along its borders, resource type, its number, and
whether or not a robber is present. Hexes that possess one or more sea borders must
account for a different resource yield and the potential existence of harbours.
The specification set by the module co-ordinator was left open-ended, so as for the team to
be responsible for determining the games important characteristics, and how to implement
them.

You might also like