Home Artists Posts Import Register
Join the new SimpleX Chat Group!

Content

Working on the new ability system/formulas... will play a vital role in the new lift calculations, and other actions.

I have the formula(s) and storage structure worked out, I just need to code the functions and create the athletics screen/menu.

Each "ability" is governed by a Stat, Aspect, two Energies, a Power, & one or more skills, and in turn governs one or more Actions.


The BASE/static formula portion is =
 (Stat)*(Magnitude+AspectLv+PowerLv)

The BONUS/dynamic formula portion is =
 Math.max(0, Energy1+Energy2)*(1+SkillLv/10)

Each Ability also has an optional Scaling Factor,
so the final/combined formula is =
(BASE + BONUS) * SCALE


For lifting this means:
BASE = (STR)*(Mag+PrimalLv+xSTR.Lv)
BONUS = Math.max(0, Power+Vigor)*(1+ProperForm/10)
SCALE = xSTR.multiplier*unstack(muscleMass/10) * Math.max(0.1, muscleCondition%)


You can see your Primal Aspect Level and Super-STR power level combine with your Magnitude (the unstack of the unstack of your base level) to increase the value of each point of STR applied to lifting

The bonus takes your current energy-levels into account, and scales with your skill at weightlifting in general. Once this energy is exhausted, you will only be able to lift your BASE amount.

Since this Ability works with the Super-STR power, it scales with that multiplier. Since lifts also depend on body/muscle-mass, it also scales up with muscle gains. And, finally, it scales down if your muscles aren't yet fully toned/at maximum potential.

All the above formulas work to calculate your current (and minimum) lifting power, stored as your 'power.lift' Ability.

That value is then scaled according to what type of lift you are trying to perform, and what percentage of your own body mass you must also lift. (this part hasn't changed)


You've probably noticed that current lifts are well below expectations as stats get higher, this is happening because we changed the energy calculation for Power from STR*SPD to STR+SPD+Caliber. (this change keeps us from breaking javascript when stats hit 150 digits, makes it safe to go all the way to 300+ digits; it also avoids Qi-inflation [such as being knocked out for YEARS at a time], and   scales better overall... with the exception of the lift and throw calculations)

Since that energy change was made, I've been planning to redesign lifts, and a big part of that revolved around adding the Skills system, making it safer and easier to do after gaining some experience in the gym.


Back to Abilities in general, while this system was conceived primarily to add the Athletics status/summary screen and fix lifting, it is intended to streamline calculations for all the things one learns to do.


A new character is in the works, who depends heavily on her extensive collection of books. We will need to add several new, and some familiar powers for her... and she will need the Skills, Abilities, & Powers systems to be completed. (finally, we will be able to acquire & train powers)


As many powers will depend ancient texts, we must now add Books as an item type. Books may contain information relevant to learning trade Skills, social/life Skills, Spells, Sciences/Technologies, clues to finding lost relics, etc. (some of which will require the questing system)

As such, Reading becomes an crucial Ability for her, and others, to have. The most important factor here is TIME... how long does it take someone to read a book? (turns out for the average person it's between 200-300 words per minute, and most books have about 250 words per page, making it about 1 page per minute)

And this is where the 'speed.read' Ability comes into play. It is assumed this value is slow enough for comprehension and retention, skimming is a very different action, that would still use this Ability formula, but at a different scale, likewise reading something in a different language.


The formulas for reading (substituting the necessary variables) are:
BASE = (SPD)*(Mag+AstralLv+xINS)
BONUS = Math.max(0, Focus|Fight)*(1+Literacy/10)
SCALE = (xSPD.mult+xINS.mult-1)*(%Language * %Cipher * %Subject / %Mnemonic)


So, your ability will scale with your understanding of the Language the book is in, the Cipher used to encode it (if applicable), your grasp of the Subject matters involved, and the portion to which you need to Understand & Remember the text.

Language, Cipher, & Subject understandings can all be stored within the Skills system.


I am in the process of writing the functions that fetch the variables from the DATA.ABILITIES and DATA.SKILLS tables.

We will be testing the values and adjusting their constants in the Athletics/Abilities screen before incorporating them into the game logic.

In addition that screen will be extended to include Records/Achievements~ such as your highest bench press, squat, 1-arm curl, etc. (another system we will build more on later).


The only other component that needs be added for this is the Aspect/Devotion system to allow characters to specialize as Physical, Mental, Spiritual, and possibly even Elemental. (something PSL has had for over 10 years, and that we covered a bit for the planned Kendra game, but has been fundamentally lacking in HardLife thus far)

It will be the core portion of the independent leveling system I've been wanting to add. I'm still working out some of the logistics of it (rate of advancement, etc.), but hope to add it soon.


In any case there's another build on the way in the next week or so, including a couple of bugfixes for the last build and the prototype Athletics/Ability summary screen.

Comments

No comments found for this post.