common_game/lib.rs
1//! # Common Game Crate
2//!
3//! This crate includes the shared architecture, components, and communication
4//! protocols used by all implementations of the `UniTN` Advanced Programming course
5//! project of 2025.
6//!
7//! The project consists in bulding a space simulation game where multiple explorers
8//! travel through planets to collect resources and combine them.
9//!
10//! This crate does not aim provide a full implementation of the project, instead it
11//! exists to make multiple implementations of shared components (Planets and Explorers)
12//! intercompatible.
13//!
14//! ## Actors
15//! The system has three main actors.
16//! - ### Planets
17//! Stateful entities that manage energy and resources.
18//! A partial implementation is provided in the [`planet`](crate::components::planet) module.
19//! It is meant to be extended by implementing your own [`PlanetAI`](crate::components::planet::PlanetAI).
20//! - ### Orchestrator
21//! Coordinates the simulation and message routing.
22//! This actor is not implemented in this crate.
23//! - ### Explorers
24//! Mobile agents that travel between planets and interact with them.
25//! This actor is not implemented in this crate.
26
27pub mod components;
28pub mod logging;
29pub mod protocols;
30pub mod utils;