A C++ Godot Engine module providing a comprehensive entity and spell system for building complex 2D/3D RPGs with optional multiplayer support.
Entity Spell System is a C++ module for the Godot Engine that provides a comprehensive framework for building complex 2D and 3D RPGs. It handles core game mechanics like entities, spells, auras, inventory, crafting, talents, and networking, allowing developers to create feature-rich games without reinventing foundational systems.
Godot developers building complex single-player or multiplayer RPGs, especially those needing robust systems for entities, spells, and game mechanics with optional networking support.
It offers a battle-tested, authoritative system with extensive customization and networking built-in, saving significant development time compared to building these complex systems from scratch in Godot.
An entity and spell system c++ godot engine module, for complex (optionally multiplayer) RPGs.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Handles entities, spells, auras, inventory, crafting, talents, and more in one system, saving months of development time. The README shows extensive features like spell casting with projectiles and template-based item creation.
Designed for multiplayer with client/server variable separation to prevent cheating, including VRPCs for visibility-based RPCs. This is explicitly highlighted in the README as a core feature.
Offers customizable enums, resource databases (ESSResourceDB), and species data via ProjectSettings. The README details how to customize stats and enums for game-specific needs.
Works for both 2D and 3D games with dedicated classes like CharacterSkeleton2D and CharacterSkeleton3D, as shown in the linked example repos.
Being a C++ module, it requires compiling Godot from source, which adds setup complexity and barriers for developers unfamiliar with C++ or build tools.
Pet support and SpeciesInstance are noted as 'not yet finished' in the README, which could hinder development if these features are critical.
Requires understanding many classes, virtual methods, and project settings, with setup involving ESSResourceDB and ESSEntitySpawner autoloads, making initial integration daunting.
Examples are scattered across separate game repos (e.g., Broken Seals), and there's no centralized demo repository, which can slow down onboarding.