Edit 25/2/2021: I have created a Discord channel https://discord.gg/SkYcWZrEEM for everyone who wants to talk about the project, ask questions, etc.
Edit 06/2/2021: Well, it has been a long time since I posted this. I really didnt expected to reach 116 stars on GitHub at the moment I am writing this in the inventory system, because apart from this post I have not given it any extra advertising.
For all you to know, after that system I created other 3 systems that I am going to put here for everyone that may want to use them. I am going to rewrite the post to structure it better so you can see a little description for each system with its main features and extra links for documentation I tried to make.
I have been talking to the UE4 Marketplace Team to try to upload this assets for free, as I think it is the best place for this because people does not see the forum as often as the marketplace. The thing is that I dont know if I will be able to maintain this assets because my life has changed a lot since I first uploaded the inventory system here (in fact I was still at university). Anyway, they all have a really great quality, I put a lot of effort in doing this the best I was able to. For now, I have reworked the post to show all the systems, and I will keep talking to the marketplace team to see what we can do.
This generic, modular and efficient inventory system will allow you to provide any actor you want with items container functionaly. You dont only get a typical player inventory, you can also have storages, sellers, lootable monsters and much more sharing the same system under the hood!
It has been designed to be flexible enough to suit all your customization requeriments (item effects, containers behaivors, etc) using component inheritance to always construct all your new functionality from a solid base and expand it as you like.
- Component based, add items container functionality to any actor you want!
- Comes with 3 types of containers implemented: player inventory, storage and shop.
- Extremely flexible to add/modify custom functionality per container type using component inheritance.
- Easy to use component API: Add Item(s), Remove Item(s), Swap, Split, Stack, Transfer, Drop…
- Data driven items from DataTable (10+ example items).
- Supports different types of items (consumable, equipment, material, quest, miscellaneous and loot).
- Rich features set per item with 15+ properties (name, description, type, rarity, usable, stackable, shop value, droppable, etc).
- Create your own containers (chests, sellers, lootable monsters, etc).
- Easy to set custom functionality per item.
- Supports items Drag&Drop functionality (between different containers or in the same container).
- Built-in save and load system (disk file and game session persistence).
- Clean UI examples.
- Extremely easy to integrate into your project.
Bonus: Equipment System
- Integrated with inventory system keeping dependencies to the minimum.
- Easy to integrate into your character (just 1 actor component).
- Data driven equipment data from DataTable (5+ examples).
- Supports multiple slot types (armor, helmet, boots, shield, weapon, etc).
- Equip and unequip from any items container (not only player inventory, for example directly from storage).
- Supports simple click and Drag&Drop functionality.
- Supports item swapping from items containers (no need to unequip and then equip).
- Drop from equipment slot directly to the world.
- Built-in save and load functionality.
Documentation: https://openrpg-inventory.readthedocs.io/en/latest/ (not completed)
This powerful, modular, flexible and efficient stats system will allow you to create not only stats with buffs and effects, but also attributes and custom leveling system, very common in most RPG games. You will be able to extend any actor functionality in your game with the features of this system easily and getting it implemented very quickly!
It has been structured to be easy to understand and follow, so everyone is capable of understanding how the whole system works, and with this documentation every aspect of it will be carefully explained. Even though im a completely beginner on documenting, i have tried to structure it from a general overview of the folder structure and its content to a deeper look at each part of the whole system. On each part i will show you some comprehensive guides that will clarify how to expand the system to adapt every aspect of it to your needs, as well as a look at the most important blueprints that handles the overall system functionality, which are the actor components. Then you will learn how to migrate and integrate the system into your own project.
- Create your own stats like health, mana, hunger, fire resistance, shield power, critical chance, etc. You can also make your own sets of stats!
- All of them managed via datatable, you dont have to touch code to create your custom character stats!
- You can also configure if you want to track the current value of any stat. This is useful in some stats like health, when you have the current and the maximum health.
- Create your own attributes like intelligence, strenght, vitality, etc. As said with stats, you can also create your own sets of attributes.
- Managed via datatable.
- Add your custom bonuses to stats when any of the attributes values are modified!
- Receive attribute points and spend them in the attributes you want.
- Create your own per level needed experience values to level up, manually or by formula.
- Everything handled by datatable, extremely easy to configure and use.
- Add your custom functionality when leveling up (give rewards, show notification, etc).
- Scale stats and attributes when leveling up.
- Dynamic bonuses to stats and/or attributes for a specific time duration or even permanent.
- Possitive or negative bonuses.
- Possibility to display icon on UI showing the remaining time.
- Over a specific time duration (or permanent), you can set a tick interval and create your own funcionality when the tick is executed.
- Also displayable as buffs.
This simple but rich featured quests system will allow you to create any type of quest you want! From linear based (and boring) quests commonly seen in many RPG games (go to certain location, then talk to a NPC, then kill 5 amount of an especific monster, then…, and then finish the quest) to tree based quests that will allow you to create subgoals requirements that has to be completed before going to the next goal. Everthing easily customisable and ready to be as flexible as you may need.
- All quests data are datatable driven, so you can configure all your quests from a simple table!
- A default set of common quest types implemented out of the box: timed quests, chainable, repeatable, unique, etc.
- From linear and single goal based to tree based subgoals to meet your game history and requirements.
- Quests rewards system easily customisable to adapt to your own game logic.
- World quest indicators (enemies, NPC, locations, etc) and goals progress tracking.
Documentation: Not written at the moment ): OpenRPG: Radar
Horizontal 360º compass based radar system, typically seen in games like Skyrim or God of War. It offers different types of markers (quests, areas, etc) to suit your needs.
- Different types of markers with easy customization.
- Easy to activate or deactivate.
- Show distance to goal in any kind or marker.
- Set marker visibility hidden or not based on the player view
Documentation: Not written at the moment ):