I've worked so hard for 3 days! i'm going to start this day with a break, have some pizza, watch some anime, maybe play a bit of games but my next task is to work out the skills system as i have the stats, attributes and leveling system and once that's done it'll be time to test it and see how it works out.
But I deserve this break ^_^ i can work in the afternoon!
I watched anime for 2 hours, then i wanted to play a game but the thought of finishing up this leveling system is just burning at the back of my head constantly, every moment i'm not working on it i feel guilty :(
Here i was hoping to play some games too, but fuck them! they can wait!
First off i reviewed the work from yesterday since i was pretty tired to make sure i didn't have any inconsistencies in there... They were only minor! (thank god) any i found i fixed in yesterday's post too, because articy doesn't let me use formatting on my notes i prefer to use yesterdays post for reference than my own notes :/
Added a "to do":-- Make SFW/NSFW conversions for Arousal, Libido and Sensitivity systems.
That is i need to reverse the formulas for these stats calculations depending on SFW or NSFW gameplay.
I had thought about just removing the system in the SFW mode, but in the end i like the aidea of being able to win or lose combat without any direct violence, and it also gives me something to work with if i want the player to be able to become insane or lose control of his character (for example if he's overtly aroused then the only option he might have in combat is "rape" hehe) or if his morale is low he could only Flee/Surrender.
Now, the fun part... Skills! i'm not sure if i'm looking forward to or dreading this, but here i go!
...
...
...
Maybe i should make the experience system first? that way i can say for example
Base Skill level = (Experience / 100)
Bonus = (Modifiers / X) + (Major Skill / Y)
Or something like that (if the leveling system will be that simple, which i kind of doubt)
But just in case! and now that i have a base system in place i actually can make a leveling system.
Now i think i had something in place a while ago in this regard, so i'll see what that looks like...
This is what it looks like
Z = Level, Y = Use count, X = Use count to level, F = Sister Skills (Total count of specialized skills under the same major skill)
Note: Use counts stick, so if Y is 80 and X is 90, you will level up when you use the skill 10 more times.
- Player Level up = 3x Major Skill level ups
- Major Skill Level Up = F (If the skill has 8 sub skills, you need 8 sub-skill levels to level the skill)
- Specialization/Minor Skill Level Up:
- Lv 1: X = 1 (Use skill once to hit lv 1)
- Lv 2: X = Z / F * 100
- Lv 3 - 5: X = X * 2
- Lv 6 - 9: X = X * 1.5
- Lv 10 - 13: X = X * 1.4
- ... (until X = X * 1.01)
Lets see, can i work with that? it certainly seems possible to do it this way, but i'd really like to have a shorter and simpler code for it, if i did it this way i would have to create a lot of "if" or "for" or "while" blocks for it, i'd like it if i can keep it in 1 simple formula.. hmm...
Like i said maths was never my strongest point, so i thought "why not just let somebody else do the base work for me?" and voila! it's got code and everything! :D
i'm onto something (thank god i asked google cus i would have probably taken days to think up a system like this otherwise!)
level + 300 * math.pow(2, float(level)/7)
use:
exp += 50
User gets 50 exp per skill use (on most skills anyways)
level:
exp = lvl + 300 * (2(lvl/3))
Exp
lv 1: 50
lv 50: 61556
lv 100: 248737
Use Counts
lv 1: 1
lv 10: 46
lv 20: 191
lv 30: 437
lv 50: 1231
lv 100: 4975
this is a bit too many use counts for high levels and a bit low for low levels... but what if i....
i'd want lv 10 to be about 100 uses and 20 to be about 300, the others are fine i think...
But what if i reduce the exp for level 1-10 to like 20? then 10-20 to 30, then 20-30 to 40 and then 30-100 sets to 50?
Yes! that's a solution i think! this took me a while! if i do that, lets see...
Not 100% accurate, but... close enough.
Use Counts
lv 10: 113.05 (exp / 20)
lv 20: 355.92 (113.05 + 242.87) <-- (exp - (exp@10 / 30) + last Use Count)
lv 30: 663.65 (355.9 + 307.75)
lv 40: 1010.39 (663.65 + 346.74)
lv 50: 1457.61 (663.65 + 793.96)
lv 100: 5201.23 (663.65 + 4537.58)
lv 101: 5301.73 (663.65 + 4638.08)
lv 200: 20226 (663.65 + 19562.34)
This is what i was aiming for:
Use Counts:
lv 10: 100
lv 20: 300
lv 30: 600
lv 40: 1000
lv 50: 1500
lv 60: 2100
lv 70: 2800
lv 80: 3600
lv 90: 4500
lv 100: 5500
This is reasonably close right? and (sure) it's a little bit easier to get to 100 with the formula i thought of above (i.e. limiting exp for first 30 levels) but look at where it gets us!With this there's (almost exactly) 100 skill uses to go from level 100 to 101.and it takes roughly 5x the effort to go from 100-200 as it does to go from 1-100One thing that's not in here is "free exp" that is exp that the player gets for killing monsters that he can distribute himself (meaning he can level up skills without relying on using them) but there is consistency in how much more exp is needed for the next level for an infinite amount of levels, so i can adjust monster free exp depending on their power level. In fact i could do something simple likeEnemy Level * 2 = free expso a level 100 monster gives 200 free exp i.e Killing 13 level 100 monsters could spin you (2600) enough to get a skill from 50 to 51.Going from 99 to 100 would require 25 level 100 monster kills.I could also just crank up the gain on the free exp system and reduce the number of exp gained per skill use overall to make things easier for me.Either way, what i've got now is decent... it's at least something i can work with. For some skills though i may give reduced exp depending on how you're using it or what level it's in (i.e. seduction spins more exp in combat than in dialogue, smithing spins more exp for high level items than low level ones)What does this mean at this point?It means i have a scale!I have a scale which i can use to balance how much time everything takes in the game(s) :DAnd if i think things are progressing too slow i just increase the Free Exp to speed it up, thank you Wargaming.net for thinking of this stupid ridiculous system, i'll just use it too!This experience system also just applies to the skills so i was technically doing what i originally set out to do... wait... what else is there to do?Oh right! modifiers, "other" bonuses and more specific exp distribution.I'll need to have 3 values... that isBase: Based on exp/Based on pointsBonus: Modifiers, Major Skill & Items/BuffsTotal: Base + BonusSimple enough right?Skills, Attributes and stats willWhy would i decide to do this this early on? simply because i know that it'll be needed, the fastest way to explain is say if i place a buff on the character, that buff gives +25 strength or something. it'd be (quite) a disaster if i were to just add +25 to the base strength, then do a -25 off the base strength when the buff wears off. Sure it'd "work" but that's just asking for problems. It could lead to bugs like the buff being removed twice (permanently reducing the players strength attribute)Also when it comes to skills, if i have a buff that increases my blade skill and would just have 1 value to determine the skills level, i would gain Experience MUCH slower than normal.Also i simply think players will appreciate being able to see the base value and the total value with bonuses so that they know their "real" level.Now then... a small break before i continue!I updated articy (that is, outside of the "Notes" section) to show me the modifiers for every stat wherever i think is appropriate, as well as the "Level Importance" of specialization skills.Now the only thing i haven't done is applying the modifiers to the specialzation skills... or well, i have done "modifier: attribute" but thats it. To be honest i haven't decided yet how it'll work :II'm putting that on hold until tomorrow, i'll spend the rest of my evening relaxing!
No comments:
Post a Comment