Skip to content

emanuelegreco29/Codex_Naturalis_Polimi_IngSW_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codex Naturalis

Static Badge Static Badge

Project Specifications

This project aims at creating a digital and distributed version, written in Java, of the board game Codex Naturalis by Cranio Creations, allowing up to four (4) players to play a game on a local network.

The original board game can be found, and bought, here (IT) or here (EN).

In order to play the game correctly and enjoy the game at it's full capability, you should read and learn all the rules, which can be found here (IT) or here (EN).

UML Diagrams

The project's UML diagrams (class diagrams), will be uploaded whenever produced; mainly, there will be an initial diagram, with the basic model of the game, which may contain flaws or lack some elements, and the final version, which will be automatically generated by specific tools.

Prerequisites

After having read and learnt the rules, which always is the most fundamental requirement to have fun, you need to do other little steps before launching the game. You will need to download and install Java Development Kit 21 (JDK 21) or higher to run the game successfully, you can find the download links here:

How to run

To run the Client and/or the Server, simply download the .jar files from the DELIVERABLES folder, open a terminal window in the same directory where you saved the files and run the command:

java -jar CodexNaturalis.jar

to run the Client app or

java -jar CodexServer.jar

to run the Server.

Our game implementation also offers the possibility to reload a match in case the server or a player disconnects. To reload a game, simply choose the option to do so when running the server (which must be run by the same machine that hosted the game previously) and insert the ID of the game to reload. Game files, named by ID, can be found in the user's main directory, under the 'CodexNaturalis' folder. For example, for Windows users the directory will be C:\Users\ [user]\CodexNaturalis.

Troubleshooting

If you are encountering issues when connecting to the server, please make sure to be on the same network as the machine hosting the server, better if a small network with only the server and the clients who wants to play connected. The user starting the server should also make sure to run the server on its local IP and NOT on localhost, otherwise the other machines will not be able to see the server as available. When playing the game from Textual User Interface (TUI), typing while waiting for others players' turns will not show any character typed, do not panic! Characters are registered correctly and, when sent, if the input inserted is a valid command, the command will be run by the application successfully.

Implemented Functionalities

Functionality Status
Basic rules
Complete rules
TUI
GUI
RMI
Socket
Multiple games
Persistance
Disconnection Resilience
Chat

Legend

⛔ - Not Implemented; ⚠️ - Work In Progress; ✅ - Implemented

Group Members

Disclaimer

IT: Codex Naturalis è un gioco da tavolo sviluppato ed edito da Cranio Creations Srl. I contenuti grafici di questo progetto riconducibili al prodotto editoriale da tavolo sono utilizzati previa approvazione di Cranio Creations Srl a solo scopo didattico. È severamente vietata la distribuzione, la copia o la riproduzione dei contenuti e immagini in qualsiasi forma al di fuori del progetto, così come la redistribuzione e la pubblicazione dei contenuti e immagini a fini diversi da quello sopracitato. È inoltre vietato l'utilizzo commerciale di suddetti contenuti.

EN: Codex Naturalis is a board game developed and published by Cranio Creations Srl. The graphic contents of this project related to the editorial board game product are used with the approval of Cranio Creations Srl for educational purposes only. Distribution, copying, or reproduction of the contents and images in any form outside of this project is prohibited, as is the redistribution and publication of the contents and images for purposes other than the aforementioned. Additionally, commercial use of said contents is prohibited.