Chaos Project

RPG Maker => RPG Maker Scripts => Scripting School => Topic started by: Ryex on April 08, 2011, 05:43:56 pm

Title: First Assignment, concept and design
Post by: Ryex on April 08, 2011, 05:43:56 pm
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.
Title: Re: [Scripting School] First Asignment
Post by: The Niche on April 08, 2011, 06:03:17 pm
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.
Title: Re: [Scripting School] First Asignment
Post by: 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
Title: Re: [Scripting School] First Asignment
Post by: The Niche on April 08, 2011, 07:07:45 pm
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.
Title: Re: [Scripting School] First Asignment
Post by: ForeverZer0 on April 08, 2011, 07:14:08 pm
Usually more powerful skills in RPGs cost more SP. Even when you do "upgrade" them. It keeps the game balanced.
Title: Re: [Scripting School] First Asignment
Post by: Ryex on April 08, 2011, 07:23:16 pm
^^ exsactly
Title: Re: [Scripting School] First Asignment
Post by: nathmatt on April 08, 2011, 08:16:33 pm
what happened to the rest of your students the niche is the only one posting
Title: Re: [Scripting School] First Asignment
Post by: Aqua on April 08, 2011, 08:22:10 pm
This hasn't been up for even 24 hours...
Title: Re: [Scripting School] First Asignment
Post by: nathmatt on April 08, 2011, 08:35:17 pm
good point lol :evil:
Title: Re: [Scripting School] First Asignment
Post by: The Niche on April 09, 2011, 04:08:34 am
Perhaps, I don't mind. Skills getting more efficient seems natural to me though.
Title: Re: [Scripting School] First Asignment
Post by: Sacred Nym on April 09, 2011, 05:29:45 pm
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:



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?
Title: Re: [Scripting School] First Asignment
Post by: The Niche on April 09, 2011, 05:46:06 pm
Sounds very interesting, though it may be a bit complicated.
Title: Re: [Scripting School] First Asignment
Post by: ForeverZer0 on April 09, 2011, 06:08:26 pm
I think that it could be a good "Lesson #2" after the base system is in place.
Title: Re: [Scripting School] First Asignment
Post by: GrieverSoft on April 09, 2011, 06:34:16 pm
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?
Title: Re: [Scripting School] First Asignment
Post by: Ryex on April 09, 2011, 06:37:59 pm
very. but before we decide anything lets let the others give their input
Title: Re: [Scripting School] First Asignment
Post by: Jragyn on April 10, 2011, 10:22:09 am
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
Title: Re: [Scripting School] First Asignment
Post by: Genow on April 10, 2011, 10:42:56 am
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?
Title: Re: [Scripting School] First Asignment
Post by: The Niche on April 10, 2011, 02:44:17 pm
Sounds good, might be a bit complicated though.
Title: Re: [Scripting School] First Asignment
Post by: 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.
Title: Re: [Scripting School] First Asignment
Post by: Sacred Nym on April 11, 2011, 12:35:37 am
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.
Title: Re: [Scripting School] First Asignment
Post by: Ryex on April 11, 2011, 12:39:54 am
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.
Title: Re: [Scripting School] First Asignment
Post by: Dweller on April 11, 2011, 01:20:15 am
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).
Title: Re: [Scripting School] First Asignment
Post by: The Niche on April 11, 2011, 03:36:41 am
Dweller's right and I agree with Nym and Grieversoft.
Title: Re: [Scripting School] First Asignment
Post by: Jragyn on April 11, 2011, 10:57:14 am
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
Title: Re: [Scripting School] First Asignment
Post by: PhoenixFire on April 11, 2011, 01:43:55 pm
@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?
Title: Re: [Scripting School] First Asignment
Post by: 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
Title: Re: [Scripting School] First Asignment
Post by: Jragyn on April 11, 2011, 02:45:15 pm
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.
Title: Re: [Scripting School] First Asignment
Post by: Nakuto Inaru on April 12, 2011, 05:00:37 pm
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!
Title: Re: [Scripting School] First Asignment
Post by: Lanzer on April 12, 2011, 08:01:57 pm
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
Title: Re: [Scripting School] First Asignment
Post by: Lanzer on April 12, 2011, 08:09:14 pm
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)
Title: Re: [Scripting School] First Asignment
Post by: nathmatt on April 12, 2011, 08:13:03 pm
pls don't double post edit ur post instead  :rulez:
Title: Re: [Scripting School] First Asignment
Post by: Ryex on April 12, 2011, 11:16:51 pm
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.
Title: Re: [Scripting School] First Asignment
Post by: cyclope on April 12, 2011, 11:50:12 pm
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.
Title: Re: [Scripting School] First Asignment
Post by: GrieverSoft on April 13, 2011, 03:06:50 am
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. 
Title: Re: [Scripting School] First Asignment
Post by: Jragyn on April 13, 2011, 07:07:59 am
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?
Title: Re: [Scripting School] First Asignment
Post by: GrieverSoft on April 13, 2011, 04:18:37 pm
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.
Title: Re: [Scripting School] First Asignment
Post by: The Niche on April 13, 2011, 04:23:54 pm
I'd say battle count without use. The only real alternative would be turn count, which do you guys think works better?
Title: Re: [Scripting School] First Asignment
Post by: cyclope on April 13, 2011, 06:10:30 pm
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
Title: Re: [Scripting School] First Asignment
Post by: Ryex on April 13, 2011, 06:37:18 pm
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.
Title: Re: [Scripting School] First Asignment
Post by: The Niche on April 13, 2011, 06:57:45 pm
List as it stands:



I vote for jragyn's idea about branching, that upgrades have multiple skill requirements.
Title: Re: [Scripting School] First Asignment
Post by: 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.


I aprove both and also aprove the branching idea.
Title: Re: [Scripting School] First Asignment
Post by: 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.
Title: Re: [Scripting School] First Asignment
Post by: 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.
Title: Re: [Scripting School] First Asignment
Post by: Jragyn on April 14, 2011, 12:18:18 pm
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.
Title: Re: [Scripting School] First Asignment
Post by: Ryex on April 14, 2011, 12:21:40 pm
I'll start writing up the next lesson and a chance for a few more people to reply before I post it.
Title: Re: [Scripting School] First Asignment
Post by: GrieverSoft on April 14, 2011, 03:36:40 pm
What are the features we're all agreeing upon for ver. 1.0?

Title: Re: [Scripting School] First Asignment
Post by: Jragyn on April 14, 2011, 05:32:30 pm
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.
Title: Re: [Scripting School] First Asignment
Post by: GrieverSoft on April 14, 2011, 09:02:55 pm
Sounds good. *votes in favor*
Title: Re: [Scripting School] First Asignment
Post by: Sacred Nym on April 15, 2011, 02:14:25 am
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.
Title: Re: [Scripting School] First Asignment
Post by: element on April 15, 2011, 03:11:37 am
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
Title: Re: [Scripting School] First Asignment
Post by: flrodude on April 17, 2011, 04:48:08 pm
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.
Title: Re: [Scripting School] First Asignment
Post by: GrieverSoft on April 17, 2011, 04:53:50 pm
That's why there should be a script call, to increase or decrease the experience of event-driven, non-combat passive skills.
Title: Re: [Scripting School] First Asignment
Post by: Jragyn on April 18, 2011, 02:19:52 am
Thngs like that can be done completely through events with variables. :\
Title: Re: [Scripting School] First Asignment
Post by: GrieverSoft on April 18, 2011, 07:11:00 am
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.
Title: Re: First Assignment, concept and design
Post by: AngryPacman on April 19, 2011, 09:21:54 am
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...