Game Master Core
GMCore is an RPG framework for Godot 4 built on traditional tabletop-RPG principles.
It attempts to merge modern software design patterns with classic pen-and-paper concepts, such as the role of the Game Master and the action adjudication loop, to provide an extensible base for building RPGs and roguelikes.
Features
- Tabletop Metaphor: Rules and action resolution are handled by a central
GameMasterrouter. - Action Handling: Each
RpgActionis a self-contained rule that can be executed by theGameMaster. Intercept and modifyRpgActiondata synchronously via signals before execution. - Systems Oriented:
signals are used extensively to provide hooks for your own custom systems and managers. You can extend the optionalRpgSystemnodes to skip basic signal boilerplate too. - Data-Driven: Entities, worlds, and stats are represented with extensible and composable
RpgComponentresources.
Note that GMCore does not provide a ready to use game template. It focuses instead on eliminating boilerplate and offering an opinionated architectural structure for RPG and roguelike games.
Usage
Building a game with GMCore tries to mirror running a tabletop session, from rules setup to action adjudication:
- The Core Rules: Add the
GameMasternode to your main scene. It manages your world state, entity lists, and game mechanics. - Define the Mechanics: Extend
RpgComponentto store data (like a section in a character sheet) andRpgActionto handle specific rule logic (like casting a spell or attacking). - Populate the Adventure: Use
GameMaster.entitiesto register game objects and attach their initial components. If your game tracks layout or positioning, you can implement a customGameWorldresource and add it to the GM here. - Setup the Game Systems: Build your observers (like turn managers or combat controllers) to listen to the session's events. You can connect directly to
GameMastersignals or extend theRpgSystemnode class to handle hooks automatically. - Run the Game: Pass player choices or AI behaviors into
GameMaster.attempt(action). The GM checks requirements, runs your preview interceptors, executes the action, and broadcasts the final outcome.
More
Check the Github page for details and examples.
Changelog for version GM Core
No changelog provided for this version.