Search Unity

Talentus - Talent/Skill Trees

Discussion in 'Assets and Asset Store' started by cygnusprojects, Jan 24, 2018.

  1. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hi @dasbin, thanks for reaching out. Give me some time to check out your request and I'll be back to you if it's something that can be easily done or if it's requiring a change in the framework (and makes a new feature in an upcoming update).
     
    dasbin likes this.
  2. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    You can see Talentus Pro in action in Igniting Spark Games space shooter action game Cookie Invaders.

     
    lclemens likes this.
  3. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hi all,

    On the fence for buying Talentus Pro? Do not hesitate longer as it is currently 30% off till the end of this year!
     
  4. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Happy New Year to all!

    Last change to grab Talentus Pro with 30% discount as the sale end tomorrow January 7th!
     
  5. Jakuri_F

    Jakuri_F

    Joined:
    Mar 9, 2020
    Posts:
    23
    Hi there,
    Does this asset support multiple characters? In my game user could switch frequently between characters to use their own skills.
    I have a skill bar, is this asset easy to expand so I can add a drag & drop function?

    Sorry for my poor English, if you don't get it, please consider refer to Divinity: Original Sin II.
     
    Last edited: Jun 4, 2021
  6. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hi @Jakuri_F,

    Thanks your for your interest in Talentus Pro. There is no limitation on how many skill trees and engines you have in your scene. In case all characters do have the same skill tree it is sufficient to reload the skills based upon those unlocked by you active character. On the other hand if you have very specific skill trees for each character and not use any common skills you can create skill tree for each character and the corresponding engine on each character. In the latter approach though you will have a lot of work in matching up you UI (switching out and back in etc).
    Note that all code (even UI) is fully customizable within the asset, of course some programming knowledge is needed to make it suitable for your specific game if you want to deviate from the standard code. But in your user case I don't see the need for you to even have to adapt the Talentus code to make this work.
     
    Jakuri_F likes this.
  7. Jakuri_F

    Jakuri_F

    Joined:
    Mar 9, 2020
    Posts:
    23
    Hi @cygnusprojects ,
    I bought Talentus Pro and I really like it. However, I already built a database to store each character's skills and their level & availably. Is it possible to load data from this database?
     
  8. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hi @Jakuri_F,
    The database will need to be translated to the format of Talentus to get the validator working. This seems very specific to your workflow though. What kind of database are we talking about?
     
  9. Jakuri_F

    Jakuri_F

    Joined:
    Mar 9, 2020
    Posts:
    23
    I use GameDataEditor, I just store the skill info into a Vector3: x=skill_id y=unlocked z=level, and each character has a list of that kind of Vector3.
     
    Last edited: Jun 10, 2021
  10. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    I expect you want those to be translated into an actual skill tree? If that is the case you'll missing a lot of data that the system needs to work properly. Maybe best to contact me using the support mail as specified in the documentation so I can guide you with the best approach to follow. Thanks.
     
  11. Jakuri_F

    Jakuri_F

    Joined:
    Mar 9, 2020
    Posts:
    23
    I got it, thank you. I will try to use the Talentus engine's original data instead.
     
    cygnusprojects likes this.
  12. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Don't hesitate to contact me through my support mail in case you need help.
     
  13. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hi all,

    When you are on the fence to get Talentus Pro, now is the time as in this New Year sale only I provide 50% off.
    Direct Link
     
  14. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hi all,

    The end of the New Year sale is near, January 11th, so now is the time to grab your copy!.
    Direct Link
     
  15. ashlit1998

    ashlit1998

    Joined:
    Jan 25, 2019
    Posts:
    10
    Hello! I would like to know if talentus would suit my needs. Is it possible to generate more nodes at runtime? Also, is it possible to pan and zoom in here? I don't mind if these are things I need to do, I just want to know if it's possible
     
  16. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hi @AshrafAbiSaid, thanks for reaching out. To answer your questions:
    - Is it possible to generate more nodes at runtime? The system wasn't designed for it as I never encountered any use case to alter a skill tree at runtime.What is possible is to define all the skills and hide them if not available (the current logic is disabling them but as the source code is available you can alter the framework to hide them instead).
    - Is it possible to pan and zoom in here? If by in here you mean the Talentus editor than only panning is supported. However in game (at runtime) the panning and zooming must be done by your custom code (all UI components of Talentus are children of a Panel which you can make child of a scrollable area for instance).
    Hope this answers your questions, let me know in case you have any further inqueries.
     
  17. attaway

    attaway

    Joined:
    Nov 12, 2014
    Posts:
    45
    Hey @cygnusprojects will you continue updating & supporting the package?
    I'm seeing its been a year since the last update.
     
  18. aafifi1988

    aafifi1988

    Joined:
    Jul 16, 2021
    Posts:
    3
    hi ... is this asset compatible with Ultimate Character Control and Ultimate Inventory System and Behaviour Design?
     
  19. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hi @attaway, the asset is still being updated and supported. If you notice a feature is missing, please contact me so I can review your request.
     
    attaway likes this.
  20. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hi @aafifi1988, the asset is a framework on its own, you can use the API from within any script within your project. Note the integration between the asset is something you will need to develop/program yourself.
     
  21. attaway

    attaway

    Joined:
    Nov 12, 2014
    Posts:
    45
    Integration with UCC, UIS, & Behavior Designer is definitely something I'll be setting up as well.
    @cygnusprojects if you ever develop an integration package for Opsive I"m sure a bunch of people would use it.
    Your package fills a gap in Opsive's.

    Other devs list integrations on their website as well
    https://opsive.com/downloads/?pid=923
     
  22. aafifi1988

    aafifi1988

    Joined:
    Jul 16, 2021
    Posts:
    3
    the thing is ... I want the tree to be responsive. I need every skill to have its animation and particle effect and cause damage. And I'm not sure how to handle the animation with the tree and Ultimate Character Control.
    I thought I can do it with the state system. but I have failed.
     
  23. aafifi1988

    aafifi1988

    Joined:
    Jul 16, 2021
    Posts:
    3
    do u know an asset with leveling system and skill tree which work with UCC and UIS ?
     
  24. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Thanks for the suggestion, I don't own all of Opsive's assets but for those I do own I will have a look on how I can provide an integration.
     
  25. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Can you send me more information on what exaclty you try to achieve? The icon within Talentus is just an image, so it can be extended or replaced with another UI component to show animations. Send me more info to the email provided in the documentation if you want to go deeper into your questions.
     
  26. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hi all,
    In case you are still eyeballing the asset and in doubt to buy it now or later just a heads up that the price will increase towards 80$ beginning April 2022.
     
  27. Doomchecker

    Doomchecker

    Joined:
    Apr 5, 2021
    Posts:
    109
    Hi there,
    I have some basic problems with saving the talent tree.

    In the demo scene when I buy some talents and save the tree and loading it, I don't really understand what has been loaded?

    I tried going through the code but my coding experience is still a bit limited.
    Could you maybe give me an idea on what the build-in funcionality of the Save method is actually saving or how I would save/load the talents that have been bought?
    Ofc I understand this is not a saving-asset, I just don't want to rewrite something that's allready been written.

    Thanks a lot for helping out!
     
  28. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hi @Doomchecker, thank you for using Talentus Pro.
    It's crucial you understand the system works in two phases: the first phase lets you 'buy' a talent, meaning you are selected it, the available skill points are reduced but you can still change your mind and 'revert' the selection of a talent back. In latter case you get back the skillpoints you used when 'buying' the selected skill.
    When you have your selection final the second phase comes in play: 'Apply'. With the apply phase you make your selection final and reverting any choice is impossible. The system work with those 2 phases so a player can test out what possible skills he can select with the skill points he has before actually commiting to his selection.
    This being said when you save a tree you are saving the Applied tree, any talent you bought but did not apply isn't saved as such. If you want to have a selection (buy) final you can call the Apply after every bought event.
    I think, reading your question, you are not applying your selections before saving and thus when loading the tree back from disk will show all skills but none actually selected/bought. Also note that the load will trigger the bought event from all skills that were applied before saving so you can adapt the UI where/when needed.
    Hope this makes sense and helps you further in understanding Talentus.
     
  29. Doomchecker

    Doomchecker

    Joined:
    Apr 5, 2021
    Posts:
    109
    Hi,
    thanks a lot for your comprehensive answer, much appreciated!

    I want to buy a talent and save the tree.
    Then restart with the default tree (no talent's are bought) and when I load, the talent is bought again.

    At the moment, whenever I hit apply, I can't get back to the initial state (since it's saved in the Scriptable Object).
    I also can't load a state the tree was in before once I hit apply.

    So I guess my question would be, how would I start with the default tree once I hit apply before?
    (I may want to load a game in a build after the Asset was manipulated)
     
    Last edited: Apr 3, 2022
  30. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hi,
    The tree will reset to it's default state when you switch the scene or you can reset it as within the example:
    Code (CSharp):
    1.  
    2.                 foreach (TalentTreeNodeBase talent in TalentTree.talents)
    3.                 {
    4.                     talent.Reset();
    5.                 }
    6.                 // Don't forget to reevaluate the tree after you changed some data:
    7.                 TalentTree.Evaluate();
    8.  
    9.                 /* Or you can just reset the Bought flag of the Talent
    10.                 foreach (TalentTreeNodeBase talent in TalentTree.talents)
    11.                 {
    12.                     foreach (TalentTreeCost cost in talent.Cost)
    13.                     {
    14.                         cost.Bought = false;
    15.                     }
    16.                 }
    17.                 TalentTree.Evaluate();*/
    This code snippet is taken from the TalentusEngineExtended (or any other class that derives from TalentusEngine) so when you press 'R' at runtime the tree will completely roll back to it's initial state.

    Hope this helps.
     
    Doomchecker likes this.
  31. Doomchecker

    Doomchecker

    Joined:
    Apr 5, 2021
    Posts:
    109
    Sorry totally missed that. Simple and exactly what I needed, thanks a lot!
     
  32. lclemens

    lclemens

    Joined:
    Feb 15, 2020
    Posts:
    761
    Very cool. Subscribing to this thread to this thread to find out when there's a discount because $80 is not cheap. ;)
     
  33. Ubuntun

    Ubuntun

    Joined:
    Jun 12, 2018
    Posts:
    2
    The system looks amazing, I just wonder one more thing before making decision - how the data is loaded? For example, I am planning to design a system like this with >= 200 nodes. The system will load all of them or any Data Driven concept applied here? Thanks!
     
  34. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hi @Ubuntun, thank you for your interest in Talentus Pro. The data is managed internally as scriptable objects in Unity. A tree is loaded them all at once as the evaluator of the system needs to be aware of the conditions/cost against all nodes/talents. I have a client with is using a rather very big tree as well, you can check his implementation here: https://www.cookieinvaders.com/.
    Note that nothing is stopping you from using multiple trees as well, all depends on your actual use case.