So Since im a big fan of RPG Games i have decided to work on a RPG Framework to get more familiar with UE4, its going to be a pretty straightforward framework for you build up from
Current Features
Inventory: Items from the world can be picked up and are added into the inventory where they can be used or dropped
Blueprint Based Items: Items are created trough blueprints and with a library of events All their functionality is managed trough the blueprint, no need to create extra functions on Code
XP & Level System:Killing enemies grants XP, Once XP reaches a specific amount you level up and the Amount of XP needed to level up again is increased
Basic Death & Damage Dealing:Enemies can “Die” after they have taken enough damage ( Physic asset is turned on, Controller is detached etc )
Containers: Basic “Container” that lets you specify a mesh and items that will be inside of it , think of it as a treasure “Chest” once its used the items are added to the player inventory
and the Container is emptied
Item Overlay ( when a item is focused / on sight) that changes its color based on the item Quality
Quest System: Players can acquire, and complete quests the creation of quests is blueprint based like Items and with a library of functions for their management
Item Drops & Damage Randomization
Possible / Other Features
NOTE The features listed below may or may not get added to the framework due to reasons i will explain next to each feature
Skill System:Will be added at a later date as i need to develope both Passive & Active skills they will be Blueprint Based too but with a bigger library of functions to make skill creation a easy task
There are few other RPG Frameworks in the works. However, you appear to have a nice lead in the development of your framework. Although implied, will you be releasing it to the general public?
I would be interested in how you’re going to implement First-Person Melee Combat, which appears to be huge challenge in First-Person games. I would encourage the addition of a Quest System as they sorta go hand-in-hand in the RPG storytelling process.
Hyerploop: Yeah the core is done in C++ But nearly everything is exposed to blueprints so you can override or add your own functionality
TechLord:There are other RPG Frameworks yes but im mostly doing this so i get more experience with UE4 and becouse i wanted to give a little someting to the community and yes it will be released to the Public
for combat i actually have done various prototypes in the past and i have no issue getting the code done, I only need a few animations to actually get it working
Hey!, After thinkering a bit with UE4 i managed to get the first iteration of the **Quest System **to work! Like items they are blueprint-based with various events and functions to ease the creation of them, here is a simple “Fetch” quest i just randomly pulled together in arround 5 minutes I dont write “specific” events like Give XP to player once the quest is finished so you can override it to your like or pretty much do anything with them
Since there can be a LOT of quests the player can do at anytime i made sure to make the system as optimized as people a example of this is that the Quest Tick only runs on “Active” quests, and the function to check if the player has a item is only updated when the player picks a item or is “Given” one
YES! I am loving this, I have been trying to get things like these work with blueprint but it gets quite cluttered and is not always ideal so a straightforward framework like this would be perfect for people like me that have no coding experience hah.
suggestion; Loot tables, Item lists that have drop rates for each item used to decide what can and what can’t be dropped by specific enemy or container!
Very nice start to this, I’ll be watching the thread to learn more. I agree, doing this without much experiences can result is cluttered inefficiencies fairly quickly. It’s nice to be able to step back and follow your thought process and logical setup.
Randomization of item drops (with drop rates), and randomization of damage with multiple damage types/effects would also be pretty cool stuff to check out in additional topics.
Thanks Creamshake and GFlare for your feedback and suggestions! randomization of item drops and damage Sounds good! ill be adding those too ,Im nearly done with melee combat the basic anims are in i just need to tweak the blending and get the timing between swings right so it feels natural
Melee Combat! The weapons perform traces along the blade for the hit detection, the number of traces ( and damage ) a weapon does can be changed on its blueprint since you wouldnt need as many traces for small weapon like a knife
The animation,model and textures are all property of Aesthetic Games / Dead Crusade the framework will be released without them im just using them as a example of what you can achieve
Hey, I have been pretty bussy with various work offers so sadly i wont be able to continue to work on the Framework, instead ill release it as it is on its current state It isnt finished for sure And there are lots of features i couldnt complete / implement due to lack of time and content but here it is anyway hopefully someone can learn from it
Features
Function Melee Combat (Once the left mouse button is pressed a swing animation is played and the weapon tracing process starts, the traces a weapon does can be altered on its properties and it only uses 2 sockets for them ( Start and End ) the traces are VERY accurate as they are done against the pawn mesh / physical asset , (Thanks Rama for the code )
Blueprint Based Quest & Item Creation (Quests and items can be created trough blueprints,The core was developed with C++ so all the functionality is exposed to blueprints
Non-Finished XP System(Players can Get XP, and Level up trough any means the XP formula wasnt implemented ( See the CalculateLevelProgress() function in the ARPGCharacter)
Item Overlay & Item Qualities Items have different qualities and a color-specific overlay thats triggered once they are being stared at (Thanks Tom Looman for the example material )
InventoryItems can be picked from the world and are later added to the player inventory they can be used or dropped
Damage Dealing & “Death”: Enemies and the player himself can “Die” after being given enough damage
Containers support:Containers are a basic actor that holds a array of items that the player can loot, think of them as Chests or barrels containing stuff! (NOTE:I never got arround implementing the actual looting functionality only
I will be using this as a reference for when I work on building my game :). My game will require a different type of inventory system and a few other things differently but this should help me understand how to handle death and melee combat
Thank you for providing the source for me and many others to use as reference/resource.
Didn’t work in 4.2, it may have changed or been removed from AGameMode. I commented out this line since I won’t need it in the sample, no other compile errors are present.
When launching it crashes on FindRow in DataTable.h (Access violation) can’t look into that any further right now, but thought you might like to know. <- this may again be something because of 4.2, did you build it upon 4.1?