Random Stat Gains-based Progression System

Discussion in 'JS Plugins In Development' started by kuoushi, Oct 29, 2015.

  1. kuoushi

    kuoushi Villager Member

    Messages:
    14
    Likes Received:
    15
    First Language:
    English
    I'm in the middle of making a plugin for a game I'm planning to make (imagine that) and I felt like other people might also benefit from having this system I'm putting in place to replace standard leveling. It's heavily based on how character growth works in the SaGa series, meaning that characters will not level but gain stats primarily based on what kind of skills they use. No screenshots to share at the moment, but those'll come later.


    Planned Features

    • A character's stats grow based on what actions they take in battle.
    • Removal of traditional leveling system.
    • Character growth can be tailored to each specific character.
    • Skills can be individually set to increase chance of stat gain per battle.
    • Stats can be customized to fit the creator's needs. (e.g. add more stats or remove other stats)
    • Include a window after battle that shows players which stats have increased and by how much, if any.
    How to use StatProg.js
    Place it in the bottom of your plugins list with MVCommons.js somewhere above it. The plugin's parameters include default settings that can be modified which all characters share.


    Growth Rate refers to the % chance a stat will gain at the end of battle. Allowed inputs are 0 to 100.


    Growth Max/Min refer to the maximum/minimum value a stat can gain/lose.


    For instance if HP's rate is set to 25, max is 5 and min is 2 then at the end of every battle all characters with the default settings will have a 25% chance to gain at most 5 Max HP and at a minimum 2 Max HP.


    If you want certain characters to have specific growth rates that is also possible through notetags. Go to the actor that you want to have specific growth rates for and add a notetag with the stat followed by the value you want them to have like so:


    <hpgr: 50>  (This means that the character with this tag will have a 50% chance every battle to increase their Max HP.)


    <hpgmin: 12>


    <hpgmax: 45> (The character would gain at the most 45 Max Hp, and at the least 12 Max HP.)


    Currently these notetags are case insensitive and only integers are accepted.


    Current Version


    StatProg - v0.31


    CustomStats - v0.10.1


    SkillChance - 0.10


    Git Repo


    StatProg


    CustomStats


    SkillChance


    Terms of Use


    These plugins are free for anyone to use for commercial and non-commercial projects so long as I receive credit.


    Updates


    StatProg - v0.30


    Rewrote a lot of the base code to make it a little bit more friendly and usable for the future. Realized my growth stats like hpgr/hpgmax/hpgmin for example don't actually have to be available for calling from any of the damage formulas. This can still be re-added but has been removed for now as unnecessary. The bigger news is that my CustomStats script is now compatible with this script. You can create as many custom stats as you'd like in CustomStats and then specify which you'd like to add in a new parameter in ProgStats.


    CustomStats - v0.10


    Added compatibility with StatProg and cleaned up some bugs. It's not a low of code so it should be pretty solid in general. (v0.10.1 Fixed ingame save/load of custom stats.)


    SkillChance - v0.10


    Initial release of this plugin. It contains a very basic, very feature poor version of a system where actors can learn skills during battle based on what skill the player chooses for that character to use that turn. Weapon notetags are only used when the default attack for each character is used. Everything else uses skill notetags. You could conceivably make a sort of skill tree using this.


    Other Stuff 


    This is my first real plugin and some of the first code I've ever put out in the wild so I'm sure it's going to have some bugs and some spaghetti code that needs replacing, but hopefully not too many. I'm also not sure how quick I'll be able to make progress on this.


    Please feel free to ask me any questions or make any suggestions. I give absolutely no guarantee of what I can or can't do at the moment, as I'm still learning the MV engine (and JavaScript kind of). But I figured I'd share what I have at the moment and document my progress on the plugin.
     
    Last edited by a moderator: Nov 4, 2015
    #1
    YogiKun, Lowell and Amuseum like this.
  2. Lowell

    Lowell The Walking Atelier Veteran

    Messages:
    292
    Likes Received:
    68
    First Language:
    English
    This is a really neat plugin you're working on here, it reminds me of the Romancing SaGa growth systems used in the later games.

    I remember trying to recreate the mechanics from Minstrel's Song and only getting as far as recreating the BP Mechanic.
     
    Last edited by a moderator: Oct 31, 2015
    #2
  3. Ramiro

    Ramiro Now with an army of Mecha-Ralphs! Veteran

    Messages:
    860
    Likes Received:
    366
    Location:
    Argentina
    First Language:
    Spanish
    So this is FF2's growth system ?

    Nice idea!
     
    #3
  4. kuoushi

    kuoushi Villager Member

    Messages:
    14
    Likes Received:
    15
    First Language:
    English
    It is indeed heavily inspired by both Romancing SaGa and FF2. I will most likely be recreating the BP stat to replace MP and the flash skill learning as well in different plugins later. For more though, mostly focusing on the stats.

    I think my next move is to make this plugin more generic and have it work with custom stats as well. Maybe move the custom stat growth into classes so actors can be more generic/visual information.
     
    #4
  5. kuoushi

    kuoushi Villager Member

    Messages:
    14
    Likes Received:
    15
    First Language:
    English
    Just updated the plugin to 0.27 which comes with some notetag additions and fixes.


    This might be all of the functionality I really need out of the plugin now (v0.27). One thing I am still going to be adding after this are the option to remove references to levels in menus (which might need to be a different plugin entirely).


    Still thinking about what's next for the plugin. I'll get back to you guys with more updates when I've got them.


    I know another thing I'll be working on in the future will have to do with characters acquiring skills, since at this moment it is impossible for them to do so with RPG Maker MV's skill gaining being entirely level-based. I do have ideas for that in the form of a basic stat requirement (where the character learns the skill when they hit the required stats/class for it, possibly) or another straight up "borrowed" from SaGa method where characters learn skills at random by using other skills in battle.


    Still lots to do I guess.
     
    #5
  6. Lowell

    Lowell The Walking Atelier Veteran

    Messages:
    292
    Likes Received:
    68
    First Language:
    English
    both are viable methods, though latter skill learning method is a bit complex depending on the route you want to take.

    Both Kread-Ex and Code Crush have their own takes on this with Code Crush being a bit closer to the original method.

    I'm not much of a coder but I was able to break down how it was actually done in Minstrels Song/SaGa Frontier.
     
    #6
  7. kuoushi

    kuoushi Villager Member

    Messages:
    14
    Likes Received:
    15
    First Language:
    English
    Okay, not a HUGE update but it is certainly a big step forward in my opinion. I've added the ability to link this script with my a small CustomStats script I wrote. That means that if you wanted to say, create a whole set of different stats like STR, DEX, INT, WIS, CHA, etc, you'd be able to add those into each Actor with notetags and CustomStats. Then you could tell ProgStats to also make those custom ones grow based on skills, weapons, or just at a general rate of whatever you want during battles.


    I'm also considering removing the victory screen support from this particular plugin and creating a UI plugin of sorts to help separate out the functionalities better.


    I do have a couple of known bugs I'm attempting to work through but the core functionality appears to be working. One of those known bugs is that I forgot to test whether or not my custom stats actually get saved when a player saves their game. Oops! I'll get to work on that soon.


    Edit: Saving and loading these custom stats works fine in game now.


    @Lowell


    Well, my end goal is to have a proper sparking system like Minstrel's Song. It wouldn't be EXACTLY the same, granted, but I'm hoping to get something similar up and running. That'll be a separate plugin from this one, but I'm hoping to make a pretty full set of plugins that'll allow people to more easily emulate SaGa-style systems.
     
    Last edited by a moderator: Nov 3, 2015
    #7
  8. kuoushi

    kuoushi Villager Member

    Messages:
    14
    Likes Received:
    15
    First Language:
    English
    Found some time to create a very basic version of the random skill learning method that I mentioned above, where weapons and skills can proc learning another skill in the middle of battle.


    It's most likely fairly buggy as I don't take things into account like mana or tp costs (I plan on having you be able to toggle usage costs on or off) or things like that. However it does work. Lots of work to be done on this plugin in the future as well as my other guys.


    It's now linked above as well, SkillChance.js


    Edit: Oh and something I've been thinking about. Notetags kind of suck as far as keeping everything neat and in order. I'm considering moving on to allowing all of the notetags to be moved into a single external JSON file that stores all of the information across all of my plugins (or just one if that's all you want to use, etc). JSON feels much cleaner to use in general.
     
    Last edited by a moderator: Nov 4, 2015
    #8
  9. wsensor

    wsensor Villager Member

    Messages:
    20
    Likes Received:
    5
    First Language:
    English
    I love Saga style systems.

    They work nicely in non leveling games.

    I would like to see many different ways to increase stats.

    IE: Getting hit might lead to increasing health and defense. Casting magic might give you a chance to increase mp.

    These do not need to be done at end of battle but a choice for instant learning / end of battle learning / learned when common event calls for it?

    This way some things might be learned during battle "skills" while raising stats might happen at end of battle (could still happen during battles but depends on how people want to set it up) and some other things might be effected lets say if your character fights several battles you might want them to only get an upgrade once they properly rested at an inn or something.
     
    #9
  10. kuoushi

    kuoushi Villager Member

    Messages:
    14
    Likes Received:
    15
    First Language:
    English
    Thinking I'll change the focus of this thread to all of the plugins I'm working on since they're kind of meant to be used together in general.


    @wsensor


    With the plugin as it is now even in its early state you can already set magic-based skills specifically (or any skill) to give a better chance to increase a character's MP. Getting hit, however, does not do anything just yet but that is a good idea and I'll see about giving that as an option. Also, currently, stat gains are only at the end of battle, but it is a good idea to give an option to people so it can be instant if they want. So I'll work on adding instant during-battle stat gains of some kind as well as the possibility to gain stats (or increase your chance) when getting hit.


    Skill chances are instant at the moment though. Not sure if that'll change or have more options.
     
    Last edited by a moderator: Nov 5, 2015
    #10
  11. wsensor

    wsensor Villager Member

    Messages:
    20
    Likes Received:
    5
    First Language:
    English
    I actually seem to have a lot of saga series games. 1 and 2 of the gameboy ones (final fantasy legends) saga frontier 1 & 2 and unlimited saga. I think I might have had more but those are the only ones I can think of.

    I really wish the snes ones had come out in the US however.

    I just like how the system works.
     
    #11
    Zarsla likes this.
  12. Emperor DragonBreath

    Emperor DragonBreath Veteran Veteran

    Messages:
    156
    Likes Received:
    4
    Location:
    The Second Circle of Hell
    First Language:
    English
    Your Skill Chance plugin is a sick joke! Characters never learn their new skills, ever!
     
    #12
  13. AlchemistNezumi

    AlchemistNezumi Villager Member

    Messages:
    9
    Likes Received:
    0
    First Language:
    English
    Primarily Uses:
    RMMV
    Wow. A Fire Emblem-esque stat growth system? This is amazing! I'm definitely watching this plugin and wish you the best!
     
    #13

Share This Page