Degrading Stats

Warning: Before reading do know that this is an overly complex and (probably) needlessly consulted way of making a choicescript game harder than usual. Really only recommended for people that want to add a “hard” mode to their game, like to see people suffer in agony over balancing skills, and meta-gamers that want as much as a challenge as possible.

I’ve been thinking about this for awhile. Playing through games, as a meta gamer I could find many ways to raise several stats, skills, etc and max them out. In choicescript games I wondered to myself how to counter this. Especially if you want to make a long series with the same character, and don’t want to use fairmath (or perhaps use it and make the game even harder still to keep your skills up!) I thought to myself for awhile and thought “Why not stat degradation?”

Like in real life, skills you learn over time get “dull” the less and less you use them. gotta stop rambling…

Anyways essentially in a game where you don’t want people to instantly be able to max out all their stats and have an easy run you have to either limit gains, or create events that you are supposed to fail or have to sacrifice something. Another thing is doing something like stats degrading for using them! Or perhaps you just want to code a “hard” mode version for your WIP? Who knows! Anyways onto the coding as I’m bad at wording these things out :stuck_out_tongue:

*create skilla "10"
*create skillb "10"
*create skillc "10"

*create skilladegrading "0"
*create skillbdegrading "0"
*create skillcdegrading "0"

What skill do you want to practice?
*choice
  #Skilla
    *set skilla +10
    *set skillcdegrading +1
    *set skillbdegrading +1
    *goto statcont'd
  #Skillb
    *set skillb +10
    *goto statcont'd
  #Skillc
    *set skillc +10
    *goto statcont'd

So here is your average set up for boosting stats. Great you select one and one of your stats rises (Yay, you’re now more skilled than you were before!)
But what if you only focus on that stat, and you neglect the rest? Should every stat just remain 10 despite it being neglected for possibly years depending on the length of the WIP? If your answer is no then that is what the *create skilldegradtiona “0” is for!

Let’s assume for the sake of this (already long) explanation that you chose to train skilla! Great Skilla got +10, but you neglected the other skills. We’ll also assume you neglect them continually as well cause no one likes skillb and skillc.

As you (hopefully) noticed when choosing to train skilla we have a *set skillcdegrading +1 and *set skillbdegrading +1 alongside the *set skilla +10

What is skillbedegrading for? Let’s fast forward a bit. Let’s assume we went through 3 instances of this so now skillcdegrading and skillbdegrading should both be at “3” while skilla should be at “40”

Great you’re mastering skilla, by neglecting the rest. Time to punish you for that!

So let’s assume in the next instance of the choice we have…

 What skill do you want to practice?
    *choice
      #Skilla
        *set skilla +10
        *set skillcdegrading +1
        *set skillbdegrading +1
        *goto statcont'd4
      #Skillb
        *set skillb +10
        *goto statcont'd4
      #Skillc
        *set skillc +10
        *goto statcont'd4
*label statcont'd4
*if skillcdegrading = 3
  *set skillc -10
  *set skillcdegrading "0"
*if skillbedegrading = 3
  *set skillb -10
  *set skillbedegrading "0"

See what I did there? Assuming that skillbdegrading was at 3 then the *if command kicks in and causes skill b to go down by 10. Same for skillc.

So to cut this long explanation short, I was experimenting on how to make games harder, and this would be great in making games harder (should you wish it.). Especially with fairmath considering fairmath balances your gains and losses, and has a limit while this overly complicated stat degrading commands also causes you to lose stats over time for not using them.

I hope this makes sense. If I lost you somewhere I wouldn’t be surprised. I tend to do that when I ramble in my explanations. It makes sense to me, but others have always looked at me like I’m crazy :cry:

If you have questions, concerns, or improvements to add to this I’d be happy to know. Also I’m trying to find a simpler way of making this happen. Cheers and thank you for reading (Also congratulations on surviving thus far.)

9 Likes

Also. I know that this would probably be best used as a subroutine probably. Like I said. Still working on making this simpler (that way we can make gameplay hard for everyone! Yay!)

Will work on it more after work, but this is the basis basic form of this. :stuck_out_tongue:

The only problem I see is not using fair math as this could cause you to go into he negatives pretty quick, unless you’ve planned out every small stat progression. To make it harder just set he fair math subtraction to about 50 points, as that would be pretty negative consequences especially the higher up the skill you neglect is.

Do CoG stories that ignore the stats-game portion as much as possible turn off the meta-gamer or will this person be able to enjoy such an offering in the library for what it is?

Yes I realize it can go into negatives. Which is why fairmath works somewhat better, I thought I edited that in? Guess not, but yeah there’s a danger of numbers going into the negatives if you go all crazy with them.

Depends on the person honestly. Personally provided the story is good and in interactive fiction, that my choices matter, or at least have an impact I can enjoy it. Even if it’s railroaded (provided sufficient reason and explanation for why, and not everything is totally railroaded.)

2 Likes

I know you mentioned fair math, just wasn’t sure why it wasn’t already implemented :slight_smile: I like how people proclaim themselves power players who can max out all stats, but there’s really no way to do that unless you stop improving certain skills and focus on others. That’s where your degradation would be most useful to me :slight_smile:

Some people just don’t like fairmath. Personally I was rather opposed to it, until I actually experienced it, in which case it wasn’t that bad. Still though I don’t want people to feel forced to use fairmath, which is why I say it would work best with fairmath, but it doesn’t have to be it. And yeah the degradation would work better for series. Say you wanted to create a series of 3 or maybe 5 books, but don’t want people to max out all their stats and have an “easy” run or perhaps you want people to suffer penalties for constantly relying on a single skill.

Or you just want people to suffer. That’s probably the reason why I made this in the first place… :slight_smile:

So using it as a subroutine would probably be best… Maybe even if you’re doing one specific scene when it comes to training. As a subroutine you could always do…

*gosub practiceskills

*label practiceskills
What do you want to improve?

*fake_choice
  #Swordsmanship
    You spend the day practicing some sword techniques
    *set swordsmanship +10
    *set historydegrade +1
    *set surfingdegrade +1
  #Study History
    You spend the day studying history
    *set history +10
    *set sworddegrade +1
    *set surfingdegrade +1
  #Surfing
    You spend the day surfing (drowning).
    *set surfing +10
    *set sworddegrade +1
    *set historydegrade +1

*if sworddegrade = 3
  *set swordsmanship -5
  *set sworddegrade "0"
  *goto endpractice
*if historydegrade = 3
  *set history -5
  *set historydegrade "0"
  *goto endpractice
*if surfingdegrade =3
 *set surfing -5
 *set surgindegrade "0"
 *goto endpractice

*label endpractice
*return

Now of course it could also be used for relationships, and you can vary the amount gained or lost, or how big or small the timer is before your skills or relationships degrade.