First Asignment:
Skill Level System: Design
yesterday I left this message in the sign up thread
Quoteuntil then I want you to start thinking about skill level systems. a system where your skills become stronger as they level up. if you were to make one with no restrictions to your ability what features would it have? how would it work? would you gain experience in skills as you used them and level up your skills by using them? or would you use some form of point system to level them up like in a dungeon caller?
we'll have to decide on the system we want to design and make.
now it's time to get those idea written down.
The first step to any scripting task is to decide what your going to do. This may sound obvious but it is critical that you have a plan. I usually keep it in my head but I know for a fact that this doesn't work for everyone. Planing out what your going to make is always a good first step.
In our case we are going to make a Skill level system where a actor's skills get stronger as they increase in level. for now we need to decide how this will happen. will the player gain experience exclusive to the skills as he uses them and the skills level up on their own? or will it be facilitated by points the player can spend. or will it happen another way?
post your thoughts.
Quote from: Ryex on April 08, 2011, 05:43:56 pm
until then I want you to start thinking about skill level systems. a system where your skills become stronger as they level up. if you were to make one with no restrictions to your ability what features would it have? how would it work? would you gain experience in skills as you used them and level up your skills by using them? or would you use some form of point system to level them up like in a dungeon caller?
we'll have to decide on the system we want to design and make.
How I would do this:
Skills can level up indefinitely, getting stronger, consuming less sp, etc. At defined levels, they get upgrades. Skills gain experience based on the damage they do and this goes directly towards levelling them.
consuming less SP? don't you mean more? at least thats how most systems I know of work
No, I mean less. If you think about it, the more you do something, the easier it becomes. Hence why, as you get better with a skill, you become able to do it better and with less effort.
Usually more powerful skills in RPGs cost more SP. Even when you do "upgrade" them. It keeps the game balanced.
^^ exsactly
what happened to the rest of your students the niche is the only one posting
This hasn't been up for even 24 hours...
good point lol :evil:
Perhaps, I don't mind. Skills getting more efficient seems natural to me though.
Here's what I thought of, and this may(?) be more original than other systems. At least, I haven't seen a script of this yet.
Rather than directly leveling the skills themselves, what I was thinking was leveling up Elemental Proficiency. As characters use skills of a certain element, their proficiency with that element increases and they gain various benefits related to that element. Possible benefits, that I thought of, include:
- Increased damage
- Reduced SP costs
- Increased scope (make some single target skills able to multi target)
- More Skills (either by learning/forgetting skills, or by permission flags (skill_can_use?))
- Increased resistance to that element (this is probably out of the scope of the lesson though)
Probably some other things I haven't thought of yet, but that's a good amount to work with at this point.
Another possible feature of the system might be a Polarity system. Simply put if two elements are in opposition, like say, Fire and Ice, then gaining proficiency in Fire would reduce proficiency in Ice, and vice versa. This would promote specialization in one or two elements.
What does everyone else think?
Sounds very interesting, though it may be a bit complicated.
I think that it could be a good "Lesson #2" after the base system is in place.
Well, here's an idea. How about we take a Final Fantasy II approach and have them increase in effectiveness (not necessarily efficiency) as they are used? Have something where if a skill is used a certain amount of times, then it gets replaced automatically by a better version. Use "Fire" enough times, it gets replaced (or, alternatively, complimented) by "Greater Fire." Skills would fall under "Lines," (e.g. the Fire line consisting of "Fire," "Greater Fire," and "Mass Fire"), that allow you to learn the skills if you use skills under that line. Is that simple enough?
very. but before we decide anything lets let the others give their input
Greiversoft I think kind of made a good point: If this is our first lesson, it would make sense to be a lot more simple.
Fire >> Fire2 >> Fire3 >> etc.
I've seen in other programming books 'n such where the book offers first the reader the basic how-to steps, but provides the knowledge along with a couple of extra ideas to add-on to the original program. Perhaps after we create the standard of the script, that being what is listed above... we can add direct skill proficiency (Fire with 1000 uses does more damage than Fire with 10 uses), and SP increasing (Fire with 1000 uses costs more than Fire with 10 uses), etc.
Or maybe any other slew of little "enhancements" that can be made to the base script.
:D
Quote from: Ryex on April 08, 2011, 07:04:35 pm
consuming less SP? don't you mean more? at least thats how most systems I know of work
Well, in some games the skill doesn't get much stronger, it just costs less SP as you "Master" it (Ala Tales).
Or maybe, if we use a points system to level up skills instead of exp, you can spend points to lower the SP costs instead of raising it's Base Power?
Sounds good, might be a bit complicated though.
Only three of the signed up students have posted. and there needs to be agreement between those signed up before we move on.
When I posted my suggestion I was thinking "We could start with the most basic parts, then build on it" but if the others think that's too much still, then I personally support Grieversoft's idea of copying FF2. It doesn't get much simpler than that.
The point of this was to get all the students on the same page as to what we're going to make.
I'm going to make another rule. Everyone signed up must reply to an assignment at least once before we move on. simple to follow. I don't care if you have nothing to add. just respond so that I know you'r on the same page with us.
Quote from: Ryex on April 10, 2011, 11:51:54 pm
Only three of the signed up students have posted. and there needs to be agreement between those signed up before we move on.
I like the idea of a skill growing system (you need to use a skill to level it up).
Dweller's right and I agree with Nym and Grieversoft.
Alright then, so a skill leveling system via uses?
Are all skills capable of leveling up, though?
Or will there be exceptions?
ie: Using the skill "Exit/Escape" becomes more effective with use?
ie: Using the skill "Barrier" will always increase defense by what the state dictates?
Will all skills go up by a fixed amount? Or like... a percentage of base SP cost?
Hmm, details details :x
@Ryex - I sent you a pm about this, for consideration. If it's a good idea, I think it would be the most beneficial, not only to the students, but to the community as a whole, allowing everyone to access it once completed?
In regards to the immediate portion, I would have to agree with the above system. Increases with uses, and I vote that ALL skills should be done in that way. It makes it seem a little more believable. In "real life", you don't gain the same amount of knowledge every time you repeat something... In fact, sometimes you don't learn quiet as much as the last time you did something... So I guess that introduces another option: The possibility that your increase is random?
Here's what I propose:
*System is configureable; the user can determine what skills lead to what and how many 'uses' are required
*You can make it to where you either learn a new skill that replaces the old, or another skill that compliments the old
(For example, you can make a "Cross Cut" skill that when used enough, can be replaced with a "Cross Cut+" skill automatically, or make a "Fire" skill that when used enough, allows you to learn a "Mass Fire" to go along with it)
*A script call that allows adding or subtracting the number of uses for any skill for any actor
Possible additions:
*Display the number of uses needed toward the next learned skill in the description
Quote from: GrieverSoft on April 11, 2011, 02:23:01 pm
Here's what I propose:
*System is configureable; the user can determine what skills lead to what and how many 'uses' are required
*You can make it to where you either learn a new skill that replaces the old, or another skill that compliments the old
(For example, you can make a "Cross Cut" skill that when used enough, can be replaced with a "Cross Cut+" skill automatically, or make a "Fire" skill that when used enough, allows you to learn a "Mass Fire" to go along with it)
*A script call that allows adding or subtracting the number of uses for any skill for any actor
Possible additions:
*Display the number of uses needed toward the next learned skill in the description
I like, and agree. Perhaps as an addition (or core feature based on above) some skills require reaching a "usage #/Mastery" of multiple other skills? ie: Explode = Fire used 100 && Ice used 100 times.
I'm kinda new to all this stuff, and I just signed up, but I would love to learn this stuff. I was thinking of stuff that I could contribute, but GreiverSoft's idea is completely amazing. I have no disagreements so let's get this show on the road!
it should be a skill upgrading via skill replacing,
and for the sp cost of skill , i think that it must a fixed % of base sp (+ or - INT or another stat to make it power dependant)
also if it will be automatic skill upgrade the thing changes a bit
Quote from: GrieverSoft on April 11, 2011, 02:23:01 pm
Here's what I propose:
*System is configureable; the user can determine what skills lead to what and how many 'uses' are required
*You can make it to where you either learn a new skill that replaces the old, or another skill that compliments the old
(For example, you can make a "Cross Cut" skill that when used enough, can be replaced with a "Cross Cut+" skill automatically, or make a "Fire" skill that when used enough, allows you to learn a "Mass Fire" to go along with it)
*A script call that allows adding or subtracting the number of uses for any skill for any actor
Possible additions:
*Display the number of uses needed toward the next learned skill in the description
when i read this i think "why should skills have only a branch of upgrade?"
then what i propose is to make skills follow optional branchs like (more powerfull same skill , mass version of skill, changing form physical to magical and viceversa and maybe a support variance) but once one is choosen it cant be changed only upgraded more and more (need a NPC for this)
pls don't double post edit ur post instead :rulez:
ah, this is what I was looking for. keep it up guys.
in summery so far,
it seems that every one is agreeing to base the upgrade on the number of uses the skill has.
possible upgrades are:
replacing the skill upgrade it's powers with a modifier of some sort be it a % of the current or some other calculation.
I think the system should work this way:
- You earn xp for a skill, or a type of skill whene you use them, and level the skill individualy depending on the xp it has.
- I think it should gradualy loose xp if you dont use the skill for a long time
- It would be nice if we used tokens to lvl up skills, but I am not sure if it is simple for us to do it. If not I think that whene you lvl up, all parameters of the skills, including sp, should increas by some persent.
Create a script that changes the stats of a skill? Sounds extremely complicated for us n00bs. It would be more "non-scripter" friendly to just be able to determine what skills are linked (I mean, what skills are replaced by others with enough uses) and then go in and create many copies of that skill, changing their power, accuracy, adding effects by onesies and twosies. Make a bunch of Cross Slash copies, and make each more powerful than the last, or have higher versions add extra states, or add elemental bonuses, or whatever. Then, link them in the script configuration. I'm sure it would be an easier script to make and use. It's simple, and very flexible.
As for the whole "branching" thing, how the frak would that work out?
Edit: BTY, Cyclope, that 'experience atrophy' idea is utterly brilliant.
The only way I could "comfortably" fathom branching, would be to have some skills require more than 1 skill to gain experience in, and if it gains more in one way it will branch one way, and if it gains more in another, then it will branch another way.
ie:
Learn 'Explode' if Fire_xp > 100 && Ice_xp > 50
Learn 'Tornado' if Fire_xp > 50 && Ice_xp > 100
If you used the replacement idea, where skills prior are forgotten, it gives the effect of branches. If you use the idea where skills stay, then it just becomes another way to learn a variety of skills based on how the user plays.
On the other hand... how would you create "experience atrophy"? How would you gauge "Unused for a long time"? by battle count without use or something?
I dunno...a configurable timer? I'm also suggesting that one can configure whether the advanced skills in a line replace the previous one, or compliment it.
I'd say battle count without use. The only real alternative would be turn count, which do you guys think works better?
I think we should use battle count, but if we can we should allow the user to decide if he wants to use a timer, battle count, turn count, or dont loose any experience
remember, sooner you agree on the system, sooner I can get on with teaching you scripting, this may not seem like your learning anything now but you will soon.
List as it stands:
- Experience atrophy, timed by a configurable method (Battle count, turn count, timer, off)
- Upgraded skills replace predecessors and are actual database skills
I vote for jragyn's idea about branching, that upgrades have multiple skill requirements.
Quote from: The Niche on April 13, 2011, 06:57:45 pm
List as it stands:
- Experience atrophy, timed by a configurable method (Battle count, turn count, timer, off)
- Upgraded skills replace predecessors and are actual database skills
I vote for jragyn's idea about branching, that upgrades have multiple skill requirements.
I aprove both and also aprove the branching idea.
Quote from: The Niche on April 13, 2011, 06:57:45 pm
List as it stands:
- Experience atrophy, timed by a configurable method (Battle count, turn count, timer, off)
- Upgraded skills replace predecessors and are actual database skills
I vote for jragyn's idea about branching, that upgrades have multiple skill requirements.
I like this. For the EXP Atrophy I advocate the Battle count without use. Anything else might make it too hard for a player just to maintain skill levels, let alone upgrade them.
I also suggest something like a buffer. Instead of experience atrophying immediately, there's sort of a grace period that, without use, runs out before the experience starts going down with neglect. I suggest it is configurable to the skill, so that more advanced skills have a longer grace period. However, I think this might be a bit too much for we newbs.
Edit:
Alternatively, there can be a way that the script does this for us, e.g, the more advanced skills in a skill line have longer grace periods automatically.
So then, we are all in
Quote from: cyclope on April 13, 2011, 07:01:54 pm
Quote from: The Niche on April 13, 2011, 06:57:45 pm
List as it stands:
- Experience atrophy, timed by a configurable method (Battle count, turn count, timer, off)
- Upgraded skills replace predecessors and are actual database skills
I vote for jragyn's idea about branching, that upgrades have multiple skill requirements. Quote from: GrieverSoft on April 13, 2011, 11:09:33 pm
I also suggest something like a buffer. Instead of experience atrophying immediately, there's sort of a grace period that, without use, runs out before the experience starts going down with neglect. I suggest it is configurable to the skill, so that more advanced skills have a longer grace period. However, I think this might be a bit too much for we newbs.
Edit:
Alternatively, there can be a way that the script does this for us, e.g, the more advanced skills in a skill line have longer grace periods automatically.
I aprove both and also aprove the branching idea.
Alright then, we are all in agreement with what the script will supply the user?
Don't forget that after we create it, I'm sure we can always add more later.
ie: ver. 1.0 -> 2.0 -> etc.
Well Ryex, I think we're set.
I'll start writing up the next lesson and a chance for a few more people to reply before I post it.
What are the features we're all agreeing upon for ver. 1.0?
Quote from: Sacred Nym on April 13, 2011, 09:41:28 pm
Quote from: The Niche on April 13, 2011, 06:57:45 pm
List as it stands:
- Experience atrophy, timed by a configurable method (Battle count, turn count, timer, off)
- Upgraded skills replace predecessors and are actual database skills
I vote for jragyn's idea about branching, that upgrades have multiple skill requirements.
I like this. For the EXP Atrophy I advocate the Battle count without use. Anything else might make it too hard for a player just to maintain skill levels, let alone upgrade them.
Like this, it looks like, unless you disagree.
Sounds good. *votes in favor*
Quote from: GrieverSoft on April 13, 2011, 11:09:33 pm
I also suggest something like a buffer. Instead of experience atrophying immediately, there's sort of a grace period that, without use, runs out before the experience starts going down with neglect. I suggest it is configurable to the skill, so that more advanced skills have a longer grace period. However, I think this might be a bit too much for we newbs.
Edit:
Alternatively, there can be a way that the script does this for us, e.g, the more advanced skills in a skill line have longer grace periods automatically.
I'm for this grace period idea, but it should be configurable by the user. I don't think it's that complicated at all but even if it is, we should be prepared to step out of our comfort zones. We'll learn more that way.
With exception to this grace period idea, I'd say we're set on how the system is going to look.
Sorry I haven't Replied Here...
Didn't see it.
I don't really know alot of skill systems so I can't give any input.
But I like the previous said things
I personally want some non-combat skills that are for events. like cooking, gardening, charm, persuation, that can be checked and conditioned in events.
Example:
Check cooking level: 4
If cooking level 4
-Bob says: Hey can you help me cook this fish?
Else
I don't need your help.
That's why there should be a script call, to increase or decrease the experience of event-driven, non-combat passive skills.
Thngs like that can be done completely through events with variables. :\
Yeah, but it would be extremely tedious and a script call based on the skills' ID number would save you the work of making a bunch of conditional branches and using up variables.
Alright, I know this assingment is closed, but I came back late from holidays and I need to fill in my work.
Pretty much what I'd want is a simple system that upgrades skills with uses, i.e. Stone I >> Stone II >> Stone III >> A Giant Boulder!
Now that that's out of the way, I'll just take a glance at the second lesson...