Player creates his own skills and techniques

Started by StorocnekXx, February 22, 2014, 01:30:30 pm

Previous topic - Next topic

StorocnekXx

Hey everyone!
I asked myself, is there a script or something which let's the player create his own skills?
Let me explain what I thought off.

The Player does not like the fact that every fire-based skill deals tons of damage and every water-based skill heals.
So he wants that to change.
He also does not like that all his magic skills are affected by his INT.
So he wants that to change.

He then talks ingame to a magic stone (whatever) and a window opens, asking him what skill he likes to create and he gets several options offered, looking something like this:
warning, a lot of pictures: ShowHide

Leads to...

Leads to...

Leads to...


Now let me explain how this should work:
Picutre 1:
First of all, you select a charakter, who shall have his spells changed. In this picture, I choose number 1.
- HP indicates his health.
- SP indicates his specialpoints/mana/whatever
- ZP indicates his "spellcreationpoints". creating a spell reserves those points. if he has 8 points, the charakter can create 1 spell that costs 8, two spells that cost 4, one that costs 5 and one that costs 3 and so on. he does not need to have them all used but he can not use more. removing/chaning a spell gives him back those points of course. they are only reserved. the amount of ZP needed by a spell is calculated on how much damage it does, what scaling it has and so on.
- CL insidcates the "creation level". if a spell should deal an enourmous amount of damage, the creation level needed for especially that spell is higher than a spell which deals only a small amount of damage. If the spell needs a higher lvl than the charakter has, it is not able to be created. the CL needed is calculated on how much damage it does, what scaling it has and so on.
- A indicates how much spells the charakter is able to equip together at any given time.
- "Spellname1" is the name of the spell
- "5firedmg" is dealt if the spell is used
- "0.4 Int" means that if the spell is used the damage is increased by 0.4*charaktersINT and added up to the 5firedmg as firedmg itself. (if a spell has 2 types of damage, like "Spellname 2" a factor (0.2 int) adds up both 0.2*INT fire AND 0.2*earth damage (which is why the scaling for the second spell is lower while still having the same cost)
- "single" resembles how many enemys/charakter are hit (single/all)
- "lvl1" indicates what CL is needed to create that spell
- "4 heal" indicates that 4 health is restored upon using that skill
- "0.3 Int" (together with heal) adds up 0.3*INT heal to every charakter affected by the heal
- "All" indicates that every enemy/charakter is affected

Picture number 2:
I clicked (enter, action button, whatever) on charakter one and i get the possibilites to:
- "change a spell" allows to select an allready created spell to change it
- "create a new spell" allows to create a new one, adding it to the list. only possible if the char has less skills learned than he is able to have (See: "A")
- "delete a spell" allows to select a spell to delete it, refunding it's ZP. The player is asked "do you really want to delete the "Spellname 3, 5 heal, 0.1 int, single, lvl2"?

Picture number 3:
I clicked (see above) "change a spell" and have the possibility to select one of my allready learned spells to change them.

Picture number 4:
That's where the fun starts.
- Enter name here: You have the option to enter a name here. Else it's just "Spellname 1/2/3/..." This name IS shown in the manue or something as it's name
- Damage: You can, by selecting the type of damage (scroll with arrows keys/'wasd' over a the damagetype you want, click enter/action key) and then pressing the right or the left arrow key do increase/decrease the damage by 1. using the up or down arrow key increases/decreases the damage by 10.
- Heal: Same as above, only does not deal damage, but heals (D'oh)
- Scaling: same selection as above, but right/left arrows keys increase/decrease by 0.1 and up/down increases/decreases by 1. The scaling factores your statistics in the damage dealt. Exampe: Scaling of 0.4 int means: if you have 40 int, 10damage is additionaly dealt to the hit enemy in the type of the selected element(s). Same as with heal. (With this option it's possible to have higher healing, if you have a lot of strength if you choose to have a high str-scaling for example)
- State added: Select a state with right/left arrow key, which shall be added if the spells hits. (positive or negative)
- State removed: Select a state with right/left arrow key, which shall be removed if the spell hits. (positive or negativ)
- Hit: select, if the spell hits one target or every target (in range/in the group, depending on the battlesystem used (database: One enemy/Ally enemys // One ally/All Allies))
- Animation: This is probably quite difficult. The player may recieve "Animations" throughout the gameplay, which he can use her as the animation for his spells. Those animations are not done by himself, but they are in the database. I have no idea of scripting, so i don't know if it's possible to do that like this. If the player once receives "Fire 1 - Animation" in the story, he is able to select this animation for every spell he wants.
- Suggested class: This is totally optional. If someones uses a class-system, one can add up that some classes are unable to learn special skills and some get a bonus. for example, if you are a mage, you deal 10% more damage with this spell (calculated at the end) and so one. This bonus depends on the skill itself and may hopefully be configured via the script (for example: "If firedamage is over 300 -> Monks are forbidden to learn, mages get 10% bonus";;; Other example: "If earth damage = 0 -> Gemoancer is forbidden to learn, every other class gets 5% bonus)
- Forbidden class: See above, optional. Maybe some classes are forbidden to learn magic or THAT spell especially. Every class not mentioned here is allowed to learn that class.
- SP cost: Using this spell will consume 2SP/Mana/Whatever
- CL Needed: Indicates what CL the charakter needs to have. If the CL is too high, the spell can not be created
- ZP reserved: reserves the ZP of a charakter (see above, "ZP")
- create!: will create the spell respectively change the spell if you choose the option "change a spell" instead of "create a new spell". It can only be created, if the requierements (free space (see "A"), CL is high enough, enough ZP are unreserved) are met. Else it's "Can not be created!"





ooooooooooooooooooooooooooooooooooooooookay.
Well, THAT was a lot of explanation and I know this is not something easy.
Thing is, I might not be the only one who'd like to have this kind of scripts.
If someone ever wants to do this, please tell me so, so that I can merry you and give you everything you want and need. O_O"
This is just basic ideas (haha..), if someone really wants to do this to help me, I'd probably want some other elements/stats and so on. This shall just be a basic idea behind it...


I'd love to also hear comments about that idea.
Would you like to see that ingame?
Would you be pleased by the idea of creating your own spells?
Would it be to much afford for you?
Would you rather want given spells than creating your own?

And last but not least:
Thanks a lot for reading! It means a lot to me if someone reads my posts carefully and eventually share's his or her own ideas.

Thank you and greetings,
StorocnekXx
I may have a lot of ideas to use, but I have no idea how to use them.

ForeverZer0

February 22, 2014, 01:45:45 pm #1 Last Edit: February 22, 2014, 01:47:25 pm by ForeverZer0
I think the idea is kind of neat, and I haven't seen anything like it done yet.  
My only concern for such a system would be to find a a good balance in the game so that the player cannot just create super-powerful skills, but that will be more for the developer to worry about, not the scripter, since it's up to them to determine how ZP are gained. The most difficult aspect that I foresee to integrate would be the "Creation Level", and to scale it correctly to achieve a good balance.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

StorocnekXx

Thank you for your response!
I wanted to do it a little bit like FFXII with the Chrystarium (or whatever it is caled in english xP).
At a certain stage of the game after going on with the story, the Chrystarium (let's call it like that, lol) is gained 1 stage; in "my" game it's one more CL.
But I totally agree. The balance is the hardest part to accomplish correctly, but therefore are, as you menshioned, the ZP. The gain of them as well as the usage should carefully be done. There should be formulars like for example "Firedmg+Waterdmg+...+MagicDmg > 100? -> ZP reserved +1" ----- "Firedmg+Waterdmg+...+MagicDmg > 200? -> ZP reserved +2" and so on.
But as you also said, that's up to the creator, not the player.
Thank you again for responding!
I'm glad someone likes the idea. :)
I may have a lot of ideas to use, but I have no idea how to use them.

WhiteRose

Similar systems are out there, but they're for equipment and items rather than skills. However, from what I know about scripting, this does mean that requiring in-game modifications to the databases is possible, so I think your skill system is definitely possible. It's just a matter of a scripter getting around to it. One of my goals for the coming months is to get better at scripting, so I might give this a shot myself, but no promises yet. :)

StorocnekXx

Quote from: WhiteRose on February 22, 2014, 02:02:40 pm
Similar systems


Uuuuh, those are awesome!
Thank you for posting those. :D

But, still, as you said, it's apperently not for skills.
Since it's not that I need this script within the next month or something, I got plenty of time to spend on waiting, that's not the problem. :)
I may have a lot of ideas to use, but I have no idea how to use them.

Ranquil

One thing to consider would be that the player could get access to certain skill components, such as different status effects, different elements, special effects (like relative damage or other special commands) and higher power levels after accomplishing certain feats, like defeating certain bosses or getting certain items.
Quote from: Some guy on FacebookLife is like a penis. It's short but it feels so long when it gets hard.


Quote from: Steven WinterburnBefore you diagnose yourself with depression or low self-esteem, first make sure that you are not, in fact, just surrounded by assholes.