A multiplayer strategy video game inspired by Stronghold: Crusader. A Java project for the Advanced Programming course, Spring 2023.
This project was developed in three main phases:
- Control and logic
- Graphics
- Networking
The networking features are only available under the /Network branch. The main game, along with its graphical implementation, can be found in the main branch. You can also get these two implementations from the "Network" and "v2.0.0" releases, respectively. The Command-Line Interface implementation is also available under the "v1.0.0" release.
We adhered to the Model-View-Controller architectural pattern, clean code principles, and object-oriented design paradigms for easier development, debugging, and testing.
The game stores its data in JSON format, and encrypts sensitive information using the SHA-256 algorithm.
- Build automation and project management: Apache Maven
- Graphics: JavaFX
- Test automation: JUnit
Maven will automatically download and install all required packages.
Project assets and documentation can be found under this link.
Before starting the development process, we summarized what we thought would be the architecture for this project in a UML diagram, which you can find under the UML directory.