/open-gd-rpg

Open source basic RPG in Godot, Japanese J-RPG style with save system and scene switching.

Primary LanguageGDScriptMIT LicenseMIT

open-gd-rpg

Open source basic action J-RPG in Godot.

Demo

Features

How to Use

utils: Instance the following to...:

  • TalkableItem.tscn Make a NPC that players can talk to, recieve quests, and give items to.
  • PickableItem.tscn Pick up an item with dialog
  • Loot.tscn Loot dropped by monsters, enters player inventory upon being near enough
  • Monster.tscn Make a monster that players can hit, kill, and recieve loot from.

World\GeneralPlace.tscn Make a basic place scene that players can enter/exit.

UI\save Save system using GDQuest's system.

See Advanced dialog system for how the dialog system works.

Basics of How it Works

Tree:

World
|_Place (only one main Place scene instanced at a time)
  |_TileMap
  |_Camera
  |_YSort
  | |_Player
  | |_NPCs, Monsters, TalkableItems, Background objects
  | |_ ...
  |_EnterPos
  |_|_Position2D (points of entry to the place)
  |_|_...
  |_Teleport (areas of exit from the place to a new place)
  |_...

UI.tscn with save menu and HP, EXP bars are autoloaded.

Game data and globals saved in GameSrc/GameHandlers.tscn.

Player stats (health, inventory) saved in autoloaded PlayerStats.gd.

To save something's data, add them to the save group, and add save and load functions to save their data to a save_game.data dictionary with their own unique key. You can specify how the game handles saving an object with these functions. Game saving handled by GDQuest's GameSaver system.

Based on:

Credits

Leveling sound: https://freesound.org/people/qubodup/sounds/442943/


If you found this project useful, I'd love to know! Send me a link to your own game anytime, I'd love to check it out. :)