Search Unity

[RELEASED] RPG Creation Kit

Discussion in 'Assets and Asset Store' started by silvematt, Feb 12, 2019.

  1. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160


    Your RPG starts here.


    Website | Demo | Documentation

    Asset Store

    Join Discord


    Please view the website for a more detailed overview of the RPG Creation Kit.


    The RPG Creation Kit is a toolset that makes the development of RPG games a lot easier and a lot more accessible. RPG games are known for their complexity especially on the programming side – with the RPG Creation Kit you will only have to focus in the creative part and in the game content, as the hard part is already there, ready for you to be used.

    The project is designed to give you all the elements that you may need in order to make either a simple or a very complex and branched RPG game, with thousands of NPCs, multiple questlines, factions, locations, outcomes, and world-changing events.

    The RPG Creation Kit contains many features that have been tailored on its goals – to have a set of tools capable of creating highly complex RPG games while being easy to use, to modify and to expand.

    Here is a partial list of main features:
    • Quest System
    • AI
    • Creature AI
    • Persistent Reference AI
    • Dialogue System
    • Player Controller & Combat System
    • Magic & Spells System
    • First Person Controller and switchable Third Person Controller
    • Inventory & Equipment
    • Attributes
    • Factions
    • Save & Load
    • Autosave
    • Looting System
    • Trade System
    • World Streaming, Cells & Worldspaces
    • Distant Cell Rendering
    • Effects & Consumables
    • Items System
    • Items ownership and stealing
    • Pickpocket System
    • Scripting Support
    • Events System
    • Character Creation
    • Database System
    • Dozens of life-saver Editor Tools
    • Locational Damage
    • Aggro and Aggro Modifiers
    • Gamepad support
    • And much, much more.



    View the website for a more detailed overview of the RPG Creation Kit.
     
    Last edited: Aug 28, 2023
    StevenPicard likes this.
  2. Gwinyai-b

    Gwinyai-b

    Joined:
    Aug 11, 2016
    Posts:
    3
    awesomw stuff there will be following this feed all in
     
    silvematt likes this.
  3. Gwinyai-b

    Gwinyai-b

    Joined:
    Aug 11, 2016
    Posts:
    3
    Please Link it to your MMO character system
     
  4. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    Hello Gwinyai!
    Maybe in the future i will develop a dedicated Character Creator, due i see MMO Accounts & Character System more oriented on different types of games.

    Thanks for your interest!
     
  5. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    A new huge update is almost ready to be deployed.
    The Version 1.1 will feature:
    • Inventory & Equipment System for the Player.
    • Better way to manage weapons (Inventory & Equipment).
    • Creation of Weapons, Equipment, Misc Items, Keys, Ammo will be totally built in with Custom Editor Windows extremly fast to use (30-40 seconds to create a new piece of equipment).
    • Loot System from the World, items can be picked up from the world.
    • Items that has been removed from the Inventory will spawn in the World, next to the player.
    • New Consequences that allows the Player to add Items in his inventory.
    • Setup blendshapes weight for every piece of Equipment during the creation of the Item.
    • Updated documentation.
     
    Last edited: Jun 21, 2019
  6. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    GubeyGabe and StevenPicard like this.
  7. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    The Version 1.2 of the Quests Creation Kit has been scheduled, its developement starts now.

    The new version includes:

    Melee Combat System - A solid base for a Combat System will be developed. The new melee combat system will include:
    • Multiple Swings: Trough the Weapon Creation Windows the user will now be able to setup multiple attacks that can be chained, every attack can have a different animation, speed, damage, stamina usage and sound.
    • Blocking System: The Players & NPCs can now block attacks, blocking attacks can reduce or cancel the received damage depending on the sword and current equipment. The amount of stamina consumed for the block and the multiplier to reduce the damage can be setup during the creation of the Weapon.
    • Stamina System: Attacking, running and blocking will consume stamina. Both Player and NPCs will have to be careful balancing their playstle to never run out of Stamina, since they can be Unbalanced.
    • Unbalancing System: If the Player or the NPC is out of stamina and they try to land an attack, If the attack is blocked they will become unbalanced, meaning they're unable to attack, block or move. Likewise if the Player or the NPC blocks an attack while being without stamina, they will be unbalanced.

    Better AI - NPCs will also be able to use the new Combat System, their logic will be widely improved. NPCs will now be set on 'Combat Behaviours', those describe how the NPC should behave during a combat.
    • Very Offensive: The NPC will keep attacking even if he's receiving lots of damage, will never try to block incoming attacks.
    • Offensive: The NPC will be offensive, rarely he will try to block and to counter attack.
    • Balanced: The NPC will be both offensive and defensive depending on how the fight is evolving, he will often try to block and to counter attack.
    • Defensive: The NPC will be defensive, he will prefer to block and counter attack instead of doing the first move but sometimes he will try to surprise his enemy.
    • Very Defensive: The NPC will very rarely attack his target whitout having blocked an attack first,
    • Will Not Fight: The NPC will try to run away from his enemy, avoiding the combat.
    Some other behaviours may be implemented.
     
    Last edited: Jan 6, 2020
    StevenPicard likes this.
  8. FractalCore

    FractalCore

    Joined:
    May 15, 2009
    Posts:
    151
    Your system looks promising. Do you have a save system?
     
    silvematt likes this.
  9. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    This looks good.
     
    silvematt likes this.
  10. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    Thank you!

    The save system is not present yet. It is of course a highly needed feature that will be surely developed in the future.
    I'm aiming to add a lot of new features and improve the already present ones to cover the most complex situations to work on when it is about saving.
    Thank you for your interest.
     
  11. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    The Version 1.2 is taking more time than planned since lots of bugs regarding different features has been fixed and lots of current features has been expanded and polished, with some add:

    • Added Feature: Apply Events (Quest Dealers, Quest Updaters & Consequences) when a generic GameObject (with a Collider) is placed by the players or some other entities on a specific spot or if it reaches it on his own.
    • Added Feature: Now you can apply Events if an entity leaves a collider, this feature is an expansion of the 'Goto' element and keeps all parameters (AllowMultipleTriggering, DelayActivation, DestroyAfter)
    • Added Feature: NPCs with the new Combat System are able to run away in fear if they're on low health or if you set their state from anywhere with the Events System.
    • Added Feature: You can now setup a 'Combat Exit Time' for NPCs when they're attacking a target, on the current version they would keeping following their target forever even if it has reached the other part of the map, when 'Combat Time' expires, if any combat action isn't performed by or on them (Attacking or Receiving an attack) the NPCs will give up fighiting. The 'Combat Time' gets resetted everytime they Attacks or Receive an attack.
    • Fixed: You could have been be able to jump on NPCs head.
    • Fixed: Some attacks aimed to the legs wouldn't have been detected even if the weapon had enough range.
    • Fixed: If they were attacking, NPCs during death animation they would have keeping doing their attack while falling.
    • Fixed: When the camera gets out of the boundings of a Skinned Mesh Rederer it will disable the render of it, this was causing showing the dead NPCs without equipment when the camera was near the end of the boundings.
    • Fixed: Sometimes, on specific conditions, attacks between NPCs were not instantiating bloods particles.
    • Fixed: When both an NPC and the player was fighting an entity, if the Player would have killed the enemy the NPCs would have keeping attack the target.
    • Fixed: On Unity 2019.1 there was a bug regarding Toggles that was causing problems with the UI of the Inventory, the next update will be released on the version 2019.2 to get rid of this issue.
    New features has been added as well to the new update, the post above regarding it has been updated.
     
    Last edited: Jan 6, 2020
  12. AdminArdagor

    AdminArdagor

    Joined:
    Feb 6, 2018
    Posts:
    42
    Hi, when are you planning to release version 1.2 ?
     
  13. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    Hello! It will be submitted on 14 January and available to users after a couple of days.
    Thank you for your interest.
     
  14. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    The update 1.2 has been sent and it is waiting for approval!

    Shortly the new demo containing the features of the new update will be live.
     
  15. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    The update 1 2 has been released and it's available to download now!
     
  16. AdminArdagor

    AdminArdagor

    Joined:
    Feb 6, 2018
    Posts:
    42
    Good update ! This asset in future has every chance of becoming the best-selling in the unity store. But really lacking in the first place:

    1) base - save system
    2) trade system (weapons and armor store) + crafting

    Can we expect their implementation in the near future?
     
    Last edited: Jan 22, 2020
    silvematt likes this.
  17. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    Thank you!
    About the save and trade system, absolutely yes, those are already on the schedule for the next update with a lot of new features and improvements.
    The crafting system may come in the future, but probably not in the next update.

    In the next days I'll announce the new coming features.
     
  18. LVelior

    LVelior

    Joined:
    Feb 1, 2020
    Posts:
    9
    Hello, when are you planning to release version 1.3 with new functionality - for purchase?
     
  19. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    Hello there.
    The next update is still on the final stage of its scheduling. Since it will be very huge update, the biggest ever made for this package, I'll need time. I'm trying to balance making the highest amount of new features and improving/expanding the already present ones the shortest time possible. Obviously as more features and improvements will be developed more time it will require.
    I'm also cooperating with a 3D Artist to bring a totally new, good looking graphics that will open the road to new features.

    Anyway in the next week I'll announce the next update, with all the features and improvements that will be developed with an estimated time of completion.

    Thanks for your interest.
     
  20. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    Any chance on ranged combat? Magic and bows? Different avatars
     
  21. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    Ranged combat (Bows & Crossbows) for both the player and NPCs is already on schedule and it will surely come in the next update.
    With the way I've architectured the ranged combat system, Magic Spells like fireballs, ice spikes, thunderbolts will be possible to implement, they will be equipped like any other weapon and of course have unique animations, damage and effects.

    For the different avatars as I've mentioned in the last post, I'm working with a 3D Artist that will re-do the graphics completely, including NPCs and Player models.
     
  22. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    What about integrating this with Emerald AI, adding vendors and currencies, stats to weapons??
     
  23. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    Integrating this system with others is not a thing that I plan to do for now.
    The AI system will be revisioned and rewritten, so expect improvements and new features also on this aspect.

    The Vendors system, Buy & Sell for currency is a feature already on the list.
     
  24. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    The Update 1.3 has been scheduled. It brings several changes and features, first of all the 'Quests Creation Kit' is going to be renamed to 'RPG Creation Kit', since from the last year to now the project has grown a lot and it will continue to.

    Features:
    • Completely new graphics & Demos: With the help of 3D Artists, I'm happy to say that the RPG Creation Kit will be presented on a totally new, detailed and lightweight graphics that includes: new world, props, houses, NPCs, weapons and animations. A new bigger demo will be developed for showing off the capabilities of the new version.
    • Consumables: From the Inventory you will be able to eat food or drink potions to restore your health and stamina. NPCs can be set to do the same.
    • Vendors & Currency: You will be able to buy or sell items from the Inventory to an NPC in exchange of currency. Vendors can be set to buy from the player all the type of items or specific categories. You can set the list of items that a NPC should sell and modify it at runtime.
    • Looting System: The player will be able to loot from crates, bags, chests and every type of container you want. You can set the list of items that a container should hold and modify it at runtime to add or remove Items (i.e.: the player and NPCs can deposit/draw items).
    • Looting System (From dead AI): When you kill or find dead a NPC or a creature you will be able to draw/deposit Items in their Inventories.
    • Interiors/Exteriors Loading: A system that manages the loading of the Interiors & Exteriors will be developed. NPCs and players will be able to seamlessly switch from an exterior to an interior (and back). The Interiors will be fully loaded and rendered only when needed, NPCs that lives in an unloaded interior will be allowed to exit or be summoned if requested.
    • Ranged Combat System: The Combat System will be extended to support ranged weapons for both Player and AI. Bows, crossbows, guns or even spells will be possible to implement.
    • New Base Attributes: Player & NPCs will have 5 main attributes: Strength, Agility, Constitution, Speed and Endurance. Each of them will affect specific skills or attributes.
    • Books System: You can now read books! You can write the content of the book inside the Editor Window of the BookItem and since the Texts are displayed with TextMeshPro you can use all the tags that it support to modify the visualization of the text.
      You can read the book by adding it in the Inventory and clicking on it.

    • New AI System: The AI will be totally rewritten. Other than having all the features that are already present in the current AI , the NPCs will have several new features, they will be easier to setup and they will be more optimized. The AI Systems is now divided in two categories: Creatures & NPCs.
    • (AI) Sight System: The AI will be able to see their surroundings and to react independently accordingly to what happens. You can set parameters to determine the character of the AI.
    • (AI) Aggro System: The AI will determine which one of the targets that are attacking him is the most dangerous and try to kill it firstly. You can now set Equipment to deal more or less aggro when fighting an enemy to balance classes.
    • (AI) Factions System: You can now create Factions and determine of which faction a NPC is part of. While creating factions you will be able to set friendly or unfriendly factions at different states, if two people that belongs to different factions that are in war, they will try to kill each other, while if they belongs to different factions that are friendly, they will talk or just pass away. If a NPC sees a member of his same faction involved in a fight and if it's character allows him, he will eventually help him.
    • (AI - Player) Reputation System: The player will be able to build reputation with different factions, if he take side with a specific faction he will be able to receive advantages from that faction, but disadvantage from unfriendly ones. (Attack at sight, Unavailability of quests, relationships and dialogues).
    • (AI) Companions: After building a relationship with a NPC, or simply instantly, you can setup NPCs to become companions of the Player. Companions will follow, wait, exchange goods and help the player fighting.
    • (AI) Essential AI: You can setup NPCs/Creatures to be non-killable, essential for the continuation of a quest. When an essential AI loses all its health, It will become unconscious. If there are no dangerous situations around him he will eventually wake up.
    • (AI) Respwanable AI: You can setup NPCs/Creatures that will respawn after a certain amount of time. Each AI Entity can respawn an endeless or defined amount of time.
    • (AI) Combat System: The Combat System of the AI will inerth all the features that are already present. It will support both melee and ranged.
    • (AI) Ragdoll.
    • (AI) Actions: You can setup zones where NPCs can do actions such as sitting on a chair, sleeping on a bed, eating a meal. Those functions can be triggered by Events or automatically triggered by the NPCs.

    • Save & Load: The player will be able to save and load his progresses in the game.
    • Dialogue Lines Animations: Each Dialogue Line played by NPCs can now have different animations.
    • Doors System: A system that manages the doors will be developed. Each door will lead to an Interior or they will rotate to the Open or Closed state. Doors can be locked with Keys, and the Player or the NPC that is trying to enter that door will need to have the correct key in his inventory.
    • General Activators: Buttons, levers and mechanisms that can be used by the player or NPCs in order to execute Events.
    • Base Sounds.
    • Eventual improvements and adjustments of system's logics.
    • [A lot of other stuff you'll find in the comments below]
    (List may be updated with new content).

    This update is ambitious, very huge and it will require some months of hard work to be completed, but it aims to bring this project to the next level. I will keep updating this thread to let you know the progressions.

    It will be FREE to upgrade for who already owns the Quests Creation Kit.
    This project has been on the Asset Store for one year now, I want to thank everyone that bought this asset and so supported its development.

    The asset may be subject of price changes while or after the development of this update.
     
    Last edited: Sep 9, 2020
  25. LVelior

    LVelior

    Joined:
    Feb 1, 2020
    Posts:
    9
    This is the best news of this year! Release 1.3 with such functionality will take the asset to a whole new level! We look forward to its release.
     
  26. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    For the Update 1.3 Custom Inspectors, Property Drawers and Editor Windows are receiving tweaks too.
    Other than small optimizations, consequence boxes are now now more distinguishable to each other and every missing reference or situation that can lead to an error will be highlighted in red in the inspector (other than being reported in the Console at runtime).




    Gif:

    This feature is also present with more complex situation like displaying an array of a serializable struct.

    This also happens in the Creation Windows of every Item and NPCs.
     
    Last edited: Feb 9, 2020
  27. AdminArdagor

    AdminArdagor

    Joined:
    Feb 6, 2018
    Posts:
    42
    Great innovation. A useful feature is that it does not allow you to skip empty fields. It would be very interesting to follow the development of version 1.3 on any tracker (for example, Trello). Release 1.3 is very expected by everyone.
     
    silvematt likes this.
  28. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    From today I'll update this thread weekly, every Saturday, with the lastest news.

    In this week the Consequences System has received some tweaks, while the Consumables and the Book System has been developed.

    Consequences:

    As anticipated in the last post, now it is easier to see if Consequences will generate errors due missing references/error in logic.

    Another new feature is that now you can trigger multiple consequences whitin a single field.



    This comes really handy when you have to make happen the same Consequence for multiple entities.


    Book System:

    You can now read books! You can write the content of the book inside the Editor Window of the BookItem and since the Texts are displayed with TextMeshPro you can use all the tags that it support to modify the visualization of the text.
    You can read the book by adding it in the Inventory and clicking on it.



    Consumables:

    You can now create consumables... and consume them!



    Consumables can have different effects on the entity who consume it, there are several Effects built-in:
    • DamageAttribute
    • DamageHealth
    • DamageStamina
    • FortifyAttribute
    • FortifyHealth
    • FortifyStamina
    • RestoreAttribute
    • RestoreHealth
    • RestoreStamina

    The effects underlined involves an Attribute, you can select from:
    • Strength
    • Agility
    • Constitution
    • Speed
    • Endurance

    With the 'Duration' parameter you can specific the duration in seconds of the effect, you can set:

    If it involves attributes:
    • -1: The effect will be permanent.
    • 0: The effect will be instant (useless in this case).
    • value > 0: The effect will persist for the value of time inserted.

    If it does not involve attributes (not underlined Effects):
    • 0: The effect will be instant.
    • value > 0: The effect will be distributed over time.

    More effect may be implemented in the future.
    Of course, you'll be able to create your own effects.

    Creation of a potion that increases speed:

     
    AdminArdagor likes this.
  29. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    Any eta on this update?
     
  30. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    For now none.

    I hope I'll be able to announce the ETA in the next weeks, but this update will likely not come at least until April.
     
    Last edited: Feb 16, 2020
    SickaGames1 likes this.
  31. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    Weekly Report:
    • Alert Messages are now managed in a Queue.
    • Every texts will be replaced with TextMeshPro. Some already has.
    • The new Attribute System has replaced the previous one.
    • You can now set a Tooltip for every type of Item in the Inventory:


    The tooltip window will be scaled in base of the text's size.


    • The develop of the Looting System has begun, it is almost done but it will be fully showed off the next week. You can now set 'Looting Points' in the world to Draw and Deposit Items.

    • The Inventory and Equipment System have been optimized and adapted to be used to represent different things (Loot for Objets & NPCs, Trade System).
    • Various Optimizations.

    Another feature that has been added and started is the creation of Wizard Windows that will guide and create stuff for the user.

    The first one that will be developed is for the Looting Points. So instead of needing the user to add and configure all the components needed, he will only need to insert in a Window how he wants his Loot Point to look like.
    More Info and the show off will be announced next week.
     
    AdminArdagor and SickaGames1 like this.
  32. AdminArdagor

    AdminArdagor

    Joined:
    Feb 6, 2018
    Posts:
    42
    Exillent ! Very pleased to see the new functionality !
     
    silvematt likes this.
  33. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    Weekly Report:

    • The Looting System has been completed.
    • Dead NPCs will spawn a 'Looting Point' on their body with the content of their Inventory & Equipment. (You can select the option to not allow taking their equipment).
    • The Inventory Inspector has received tweaks, it's now easier to see and setup items:

    • The Looting Point Creation Wizard has been developed: You can now create Looting Points Visually without having to do anything but filling the informations in the Window. The model needed should have only the Mesh Renderer on it.


    Here is a video showing off both the Creation Wizard and Looting System in action:


    A new exciting functionality is the ItemScript.
    A script is now able to run on a non defined, already present in scene condition.
    Before, with Goto element for example, you had to define the Area and the Events (Quest Dealer, Quest Updater and Consequences) in the scene. With the current toolbox it was not possible to run code, for example, when we deposited an Item into a LootPoint or when we simply dropped it from the Inventory.

    An ItemScript is a script that runs methods & functions on callbacks defined by the user.
    Here is an example:

    For a quest the player has to collect a key and deposit it into a specific Crate.

    KeyItem:



    ItemScript:
    Code (CSharp):
    1. using UnityEngine;
    2. using RPGCreationKit;
    3.  
    4. namespace RPGCreationKit
    5. {
    6.     public class KeyForAQuestScript : ItemScript
    7.     {
    8.         public override void OnAddInPlayerInventory()
    9.         {
    10.             Debug.Log("The item has been added in the inventory. Start the quest.");
    11.         }
    12.  
    13.         public override void OnDropFromPlayerInventory()
    14.         {
    15.             // Flagging the item as 'QuestItem' prevents the drop anyway.
    16.             Debug.Log("The Player has dropped the key! He have to take it back.");
    17.         }
    18.  
    19.         public override void OnDepositedInLootingPoint(string _pointID)
    20.         {
    21.             if (_pointID == "TheCorrectCrate")
    22.                 Debug.Log("The Player has deposited the key in the right place! Complete the quest.");
    23.             else
    24.                 Debug.Log("The Player has deposited the key in the wrong place! He have to take it back!");
    25.         }
    26.     }
    27. }

    Of course, you're able to create your own callbacks and you can make everything happen from those scripts.
     
    Last edited: Mar 5, 2020
    LVelior and AdminArdagor like this.
  34. LVelior

    LVelior

    Joined:
    Feb 1, 2020
    Posts:
    9
    The looting system is a big step forward for a complete RPG system, the second such step will certainly be the trading system and the save system.
     
    silvematt and AdminArdagor like this.
  35. LVelior

    LVelior

    Joined:
    Feb 1, 2020
    Posts:
    9
    Is it possible to add an (optional) start image to the book (and information sheet) system? This would significantly expand its gaming capabilities.
    For example: image of a legendary sword (or monster) and next a description following it.
     
    Last edited: Mar 1, 2020
    silvematt likes this.
  36. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    Yes. This is a thing I've been thinking recently, TextMeshPro comes up with a sprite tag, if this is correctly used I believe it's very possible to insert images. Of course I will test it during the week.
    I'll work a bit more on Book System to make possible to have Notes or Scrolls (single page) and to make books readable before adding them to the inventory, so for example, you can read a note hanged somewhere. Also you'll be able to enable the option "Can't be taken" to not allow the Book/Note to be taken by the player or the AI, but still readable.

    EDIT:
    The Note System has been developed and implemented! As I thought it's possible to insert sprites inside books/notes and change the position and size dinamically, while writing the book in the Editor Window:

     
    Last edited: Mar 8, 2020
    AdminArdagor likes this.
  37. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    Weekly Report:
    So in this week there haven't been any new implementations apart from the tweaks to the Book System listed in the last post, but I've took this week to look at the system, researching, studying and see what is missing.

    While I was designing the Cells System to manage the Interior/Exterior world, with the way I want to design it, I've noticed that some situation would have been impossible to implement through the current functionalities.

    The first functionalities needed are Conditions on everything.
    Currently there is a way to manage, for example, Events in base of conditions (by forcing the happen of situations and by chaining them), but not directly in them.

    With "Conditions on everything" I mean everything that is possible in the system can be done, modified or blocked in base of conditions, regardless of the situation and without forcing anything. So for example you'll be able to trigger a consequence and then, at runtime, check if that consequence can happen or not.

    You will be able to setup conditions visually by giving:
    • A function (i.e.: GetQuestStage, GetInCell, GetItem, GetInFaction).
    • A parameter (i.e.: which quest, which cell, which item, which faction) - some functions can require multiple parameters or not requiring anyone at all.
    • A comparision operator.
    • A value.
    Example:
    [GetQuestStage] [MainQuestID] [>=] [10]

    Of course it will be possible to concatenate conditions with AND - OR operators.
    This will make possible write and implement the whole storyline (so quests) whit the objects already present, activated in the scenes (that was the main limit of the current version).

    Recalling the example above, currently it's not possible to get things providing the ID, this because when you update a quest, add/remove an Item you always provide a direct reference to the quest or item ScriptableObject. I've already created and implemented a local Database System where you can retrieve the actual object by providing its ID.

    Another new functionality extends the concept of the 'ItemScript'. As side from Events, it will be possible to run scripts whenever any situation happens. (When a Dialogue Line happens, when a Quest reaches a new stage, etc.). This comes extremly useful since it's about enlarging the possibility of doing things, using less GameObjects, having more control and speeding up the development.
    Using those scripts make also easier to edit Quests and their stages, specially when your project gets bigger.

    Another main change to the system regards the Dialogue System. It will be totally rewritten to be managed on a different, way more easier, performant and comfortable way. More details when it will be developed.

    Last but not least, it will be possible to define Objects as 'Persistent References'. That means those are always accessible, indipendently from the cell where the player is. Having 'Persistent References' is extremily important when it's about referencing objects in QuestScripts, ItemScripts, DialogueScripts and so on.

    Those are heavy modifications applyied to the core of the system. That means previous projects made with the current version will likely become not compatible with the next version.
    Since the Quests Creation Kit has born initially as a Quest System, to turn it into what's becoming doing this is necessary.
     
    AdminArdagor likes this.
  38. AdminArdagor

    AdminArdagor

    Joined:
    Feb 6, 2018
    Posts:
    42
    Not compatibility with old releases is not a problem. The main thing is the new functionality of the complex solution.
     
  39. AdminArdagor

    AdminArdagor

    Joined:
    Feb 6, 2018
    Posts:
    42
    Is there any news during development?
     
  40. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    Hello.
    As side from some exams I did and I have this month, I'm taking more time to study Math applied to game development more in depth, that will surely come extremely handy when I'll have to write the AI and optimize current algorithims.

    On the top of roadmap there is the Vendors & Currency System, that I'll surely implement for next week.
     
    AdminArdagor likes this.
  41. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    @silvematt AIs with the ability to cover at a certain percentage would be awesome!
     
  42. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    Sorry, I did not understood. Can you explain it better?
     
  43. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,270
    When fighting against the AI, the AI has the ability to run to cover and shoot
     
  44. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    Yes, this is already planned for the Ranged Combat.
     
  45. AdminArdagor

    AdminArdagor

    Joined:
    Feb 6, 2018
    Posts:
    42
    It would be very wonderful to integrate the ability to use shields in the combat system, the use of only swords in the current version significantly limits the quality and visual attractiveness of the combat system.
     
    silvematt likes this.
  46. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    Off-hand equipment is sketched in the current version but not fully implemented since the nature of the latest release was to give the developer a template to work on. It's already obvious that on top of that, with the next version, things will change and while still giving to developers the possibility to modify the systems as they want, those will be already game ready.
    I do not assure off-hand weapons to be present on the next update, maybe in the future, but surely 1 handed weapons and shields will be.
     
    AdminArdagor likes this.
  47. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    The Trade System has been implemented.

    It is now possible to buy and sell with NPCs flagged as merchants.
    The Trade System starts by a Consequence, the mostly used trigger will surely be a NPC Dialogue Line, but you could start trading from anywhere.


    The Interface is similiar to the Looting UI and the Inventory

    Of course since you're not allowed to buy goods that you can't afford, likewise the NPC will not be able to if he doesn't have enough golds.
    Buying goods increases the amount of golds of the Merchant.

    You can set categories of items that the Merchant doesn't want to buy.


    On the same line, whitout involving golds you can Trade with any NPC if you set them to be able to do that, this will be used when Companions NPCs will be built.
     
    LVelior, AdminArdagor and SickaGames1 like this.
  48. LVelior

    LVelior

    Joined:
    Feb 1, 2020
    Posts:
    9
    Very good news ! if possible, we would like to know the planed estimated time before release
     
  49. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    I don't have an ETA yet, the developing is proceeding good and even if I've had to plan several changes to the core of the system (on this post) and so there is a lot more of work that needs to be done.

    Just an estimation, and I want to underline that it could get released before or after, would be mid-summer 2020.
    If I have more time I'll spent it on the project, but if I see that something else can be done to improve it, I'll take the time needed to do the adjustments.
     
    SickaGames1 likes this.
  50. silvematt

    silvematt

    Joined:
    Jul 15, 2016
    Posts:
    160
    A quick update.

    The Quest System has been rewritten too and several optimizations were made, the Quests and the creation of them now works in a very similiar way to Bethesda's Games Modding Tools (TES Construction Set, G.E.C.K., Creation Kit). Indeed while developing the system I'm recreating Quests from Oblivion, Skyrim and Fallout NV.

    It is now possible to create QuestScripts. Those are scripts that runs periodically and they can be used to run code and to check certain conditions while a Quest is active.
    Here's below an example of a QuestScript:
    Code (CSharp):
    1. using UnityEngine;
    2. using RPGCreationKit;
    3. using RPGCreationKit.Quests;
    4.  
    5. namespace RPGCreationKit.Quests
    6. {
    7.     public class DevQuest001Script : QuestScript
    8.     {
    9.         public bool Doonce = false;
    10.  
    11.         // This will start running the CustomUpdate as soon as the quest starts.
    12.         public void Start()
    13.         {
    14.             RunQuestScript();
    15.         }
    16.  
    17.         // CustomUpdate runs once every (quest.questScriptExecutionDelay) seconds
    18.         // The execution delay can be changed anytime.
    19.         public override void CustomUpdate()
    20.         {
    21.             base.CustomUpdate();
    22.  
    23.             Debug.Log("I am running.");
    24.  
    25.             if(!Doonce && quest.currentQuestStage >= 20)
    26.             {
    27.                 Debug.Log("Do something that should happen only one time, when this quest reaches the Stage 20.");
    28.                 Doonce = true;
    29.             }
    30.         }
    31.     }
    32. }
    The QuestScript is attached to the Quest ScriptableObject by its Editor Window.

    Another add is the QuestStageScript, likewise, these will run when the Quest reachs a defined stage, these can run periodically too, but they're meant to execute one single function and then die.
    Code (CSharp):
    1. using UnityEngine;
    2. using RPGCreationKit;
    3. using RPGCreationKit.Quests;
    4.  
    5. namespace RPGCreationKit.Quests
    6. {
    7.     public class DevQuest001Stage20Script : QuestStageScript
    8.     {
    9.         public DevQuest001Script questScript;
    10.  
    11.         // This runs as soon as this Stage is reached.
    12.         private void Start()
    13.         {
    14.             questScript = QuestScriptManager.instance.GetComponent<DevQuest001Script>();
    15.  
    16.             Debug.Log("DevQuest001Stage20 DONE!");
    17.  
    18.             Destroy(this);
    19.         }
    20.     }
    21. }
    In these lightweight scripts you can literally do and check everything you want, that makes them very powerful. For who knows the Creation Kit, G.E.C.K. or the TES Construction Set will find working with the RPG Creation Kit extremly simple since the approach that they have to take for creating and developing quests is very similair.

    I am still working on the QuestConditions that I'll surely complete within the next week, along with the QuestWindow.
     
    Last edited: Apr 17, 2020