SlashScreen / skelerealms

An open world RPG framework for Godot 4.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Skelerealms - An open world RPG framework for Godot 4.1+

Please note that active development is under the git submodule -> here

Skelerealms is a work-in-progress framework for creating open world RPGs, like The Elder Scrolls series.
Skelerealms is made to be modular and extensible, and easy to hook into for actual gameplay.
This addon is still under construction- should you use it, be wary of bugs. (if you do find bugs, please open an issue!)
It is part of a family of sister addons, some of which it depends on:

You can download the addon easily by using the submodule version which will make it easier to stay up-to-date. You can get help on my discord.

What does it include?

  • Extensible, modular design
  • Persistence of objects/NPCs between scenes
  • Items
  • NPCs
  • GOAP AI System
  • NPC schedules
  • NPC activity outside of scenes
  • Quest system
  • Save/Load system
  • Spells system
  • Skills/attributes system
  • Editor tools
  • Inventory management system
  • Audio events (but not backend)
  • Stealth mechanics
  • Crime mechanics
  • Factions

What does it not include?

  • Most game logic; it is not batteries-included
  • Terrain system (I am working on a plugin for this, though)
  • Open world streaming (plugin also)
  • Console
  • Audio backend
  • Player controller
  • HUD
  • Dialogue system

However, the system is designed to be able to hook into these. BYOB (Bring your own backend), though.

Feature status

Working, tested 🌲
Probably working but untested ⚠️
In progress 🚧
Sketched out ✏️
Not started πŸ•³οΈ

Feature Status
Scene persistence 🌲
GOAP AI 🌲
Schedules 🌲
Outside of scene AI navigation 🌲
World loading 🌲
Skills/Attributes 🌲
NPC Perception ⚠️
Spells and Spell effects 🌲
Audio events ⚠️
Factions 🌲
Crime 🌲
Editor tools 🚧
Quest system 🌲
Save/Load system ⚠️
Items 🌲
NPCs ⚠️
Chests 🌲
Merchants 🌲

Planned Plugins

  • A compatability layer with Gloot to work with the in-house inventory system
  • A location-based asset streamer, allowing you to load in chunks of objects based on proximity to the player.

Future Imporovements

  • I'd like to rework the way inter-scene navigation is represented during runtime, because the current method is cumbersome and not anywhere close to memory-efficient. Packed arrays and lots of index maps world do well. However, I need something that works right now.
  • I'd like to make much more advanced editor tools to make the experience very easy.
  • Much more thorough tests.
  • More. Tools.
  • Smooth over architectural mistakes.

About

An open world RPG framework for Godot 4.

License:MIT License


Languages

Language:GDScript 100.0%Language:Shell 0.0%