Open source basic action J-RPG in Godot.
- Player animations, initial RPG, and movement as done by HeartBeast
- Scene switching
- Advanced dialog system
- Inventory and Items system
- Enemies/Monsters
- Save system
- Menu and settings
- Quest System
- Receive quest logs and rewards after talking to NPCs.
- Leveling Sytem
- Gain experience points and level up as you fight monsters.
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 dialogLoot.tscn
Loot dropped by monsters, enters player inventory upon being near enoughMonster.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.
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.
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. :)