Search Unity

Managing many levelable player skills design. Sanity?

Discussion in 'Game Design' started by VinyxAi, Mar 12, 2019.

  1. VinyxAi

    VinyxAi

    Joined:
    Jul 15, 2018
    Posts:
    8
    I have a prototype game more or less working and i would like any input on my next design idea, before i start spending a lot of time on generating and writing related content;

    Would it make sense, Design wise, to first:

    -Make each levelable player skill eg Sword, Mining, Magic, Crafting etc each into a Scriptable Object with some method overrides. Then:

    -Make a class "Skills" that somehow load each (and populate some values from save file) as Skill.Magic, Skill.Crafting for global access, keeping up with its level, effect etc ?

    Would i have to write a reference by hand for each and every one; "swordmanship = someScriptableObject, magic =..." or is it possible to iterate and automatically create a variable as reference for each Skill.name in some List<Skill> (containing) allSkills (scriptableObject)?

    Then for example if the player wished to interact and harvest resources from say an "Iron Vein", the script would do something like if (skill.Mining.level >= 10 && (hasPickaxe)) Mine(); skill.Mining.GainXP(someVar);

    Then i would save/load non zero properties to files for in between sessions persistence as a prototype save/load feature?

    Thank you for/if any feedback. It will be appreciated.
     
  2. SparrowGS

    SparrowGS

    Joined:
    Apr 6, 2017
    Posts:
    2,536
    youtube.com/watch?v=raQ3iHhE_Kk

    A good talk about this subject.
     
    VinyxAi likes this.