You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This project is a C# implementation of the board game Patchwork.
The UI Layer is built with Godot, an open-source game engine.
For the original game rules, see the Rulebook.
📸 Current Progress
This is a work-in-progress project.
While the game is already playable, some art assets and additional features are still being updated and refined.
The following GIFs demonstrate the current state of the project.
Patch Transformation and Placement
Obtaining Gold and Special Patch
Game End Scene Transition
🧱 Architecture
This project follows a four-layer architecture that separates UI, game logic, domain model, and static data:
Layer
Directory
Responsibility
UI Layer
Scenes
Contains the Godot scene files and the corresponding C# scripts.
Responsible for rendering the user interface and handling user input.
Forwards player actions and reflects the current game state through visual updates.
Service Layer
Service
Contains the game logic and controls the game flow.
Updates the game state in the domain layer upon user input.
The RootService acts as a central coordinator, providing access to all services and orchestrating interactions between layers.
Domain Layer
Domain
Defines the domain model of the game.
The GameState represents a single game instance and acts as the central state holder.
Aggregates other domain objects such as Timeline and PatchShop, which represent the fundamental elements of the game.