MapForger

   page       attach   
sommario

MapForger is a distributed microservice-based platform designed for realtime 2D tabletop role-playing game (RPG) management. The system is architected to handle complex campaign logic, character persistence, and live session synchronization across multiple players. Unlike a monolithic game server, the application logic is decomposed into specialized services—Core and Gameplay—coordinated via Spring Cloud Eureka for service discovery and routed through a Spring Cloud Gateway. The project focuses on ensuring a consistent and resilient experience during gameplay sessions. The CAP Theorem trade-off is explicitly addressed: the system prioritizes Consistency over Availability within a single session, ensuring that no two actors can occupy the same map tile and that every action is atomically persisted before being broadcast. Fault tolerance is implemented through persistent state: every actor position, attack, and death event is recorded as an immutable row in PostgreSQL 17. Upon reconnection after a crash, the client re-fetches the full game state from the database, enabling seamless session recovery without data loss. Inter-service communication is handled via OpenFeign clients registered through Eureka, allowing the Core service to retrieve live session data from Ga

prodotti