RPG Maker VX Ace

RPG Maker VX Ace

247 betyg
Simple Alternative Skill Progression Systems - no scripting
Av Detrea
My goal with this is to outline a few methods by which you can create skill progession systems alternate to the traditional leveling method, without actually needing to utilize scripting. These are all fairly simple and are designed to introduce you to more features of the software as the tutorial progresses.
3
   
Utmärkelse
Favorit
Favoritmarkerad
Avfavoritmarkerad
Introduction
RPG Maker VX Ace comes with a default skill obtaining system in which you pick what levels a character learns skills. This is a good, solid system and all, but sometimes we want a more creative method.

My goal with this is to outline methods by which you can create skill progression systems alternate to the traditional leveling method, without actually needing to utilize scripting. Scripting is basically wizardry to me; those who wield it fantastical and awesome, it in itself an inscrutable art most likely based in witchcraft. This is basically going to be utilizing what simple bits I'm comfortable with, including common events, variables and conditional branches.

These methods are not necessarily going to be entirely unique, and I may list existing games that utilize a similar system. Some of them will most likely remind you of games from the Tales, Final Fantasy and Disgaea series. These will be by no means as refined as their professionally published alternatives.

The first section will hold your hand pretty firmly, the second one not quite as much, and the third on are more suggestions than tutorials. Keep in mind that these systems are not mutually exclusive, and blending them can create more interesting results that may better fit the feel you're going for in your own projects.

1. Advance by Use
2. Advance by Learning
3. Scaling Spell Power
4. Advance by Resource/Integrating Gear
5. Additional Notes on Integrating Gear
6. Advance by Scan
1. Advance by Use
With this method, you can have the characters obtain newer spells by casting their older spells. Casting Fire 1 enough times, for example, will cause the character to learn Fire 2. This should be rather familiar to people who've played games of the Tales series, where casting basic artes would lead to obtaining more advanced artes. With a little tinkering, you can even utilize other variables to learn combo skills from having used multiple skills a certain number of times each, although I won't be going into that here.

KEEP IN MIND: If you're having multiple characters use this system and they have the same spells, you will need to have them utilizing duplicates of the same spell, as in two different spells with everything about them the same with the exception of the common event they call. They're going to need their own separate common events and their own separate variables, as well.

This is fairly simple to set up. All you'll need, besides the skills to be learned, is a common event and a variable dedicated to this. You'll need a set of these for every chain of skills you're going to make, so if you want Fire, Ice and Healing spells like this, you'll need one common event for the Fire, one for the Ice and one for the Healing, and three separate variables in much the same way.

For the common event, your first step is going to be to use Control Variables... on the first tab, left column, under the Game Progression heading. You'll want to make sure that for Variable, Single is selected and the variable for this skill line is selected. For Operation, we're going to use Add. For Operand, we're going to select Constant and just set that number to 1.

Next line, We're going to pick Conditional Branch... on the first tab, left column, under the Flow Control heading. We're going to want to make sure we're on the first tab in here, and we're going to pick Variable. You'll need to select the variable you're using for this, and we're going to want to pick either Equal to, or Greater than or Equal to and we're going to pick a constant. This constant will be how many times you have to cast one of these spells to learn a particular spell. For the sake of this tutorial, I'm going to say 20. You can uncheck the box "Set handling when conditions do not apply," but it's not necessary to do so.

Now, make sure this next step is in the next line INSIDE of the conditional branch. So, you're picking the one before the "Else," or, if you unchecked that "Set handling when conditions do not apply," box, the one before "Branch End." This step, you're going to want to pick Change Skills... in the first tab, right column, under the Actor heading. We're going to select Fixed under the next Actor heading, and you're going to want to pick whoever it was who would be casting this spell. The Operation is going to be Learn, and you're going to want to pick the skill they will learn from the drop down list below.

That's it for the common event to learn a new spell from casting a previous spell enough times. If you'd like the character to keep learning spells from this line, just keep doing these over again after the "Branch End" of the previous one.


Now, you just have to go to the skills you want to use and add this to them. Select the first spell and in Effects, on the Other tab, select Common Event and pick the common event we just worked on out of the drop down list. Do this again for every spell involved in this chain except for the last one. You're finished.


Now, don't forget, if anyone else uses this spell, be it a party member or an enemy, it's going to raise that variable, so if you're having anyone else use this spell, you'll need to make a duplicate of it. Just make sure you have a blank space and just copy and paste it, and make sure that it does not have the Common Event in the Effects area.
2. Advance by Learning
This next one follows the pattern of the Blue Mage that's in a lot of Final Fantasy titles. Have the spell cast on you and you learn it. I even set up a simple way for the common event to make sure the target of the spell is the one learning it by using states. No variables this time, it's actually really simple. I'm not going to be holding your hand quite as hard when it comes to locating the event commands and such, though.

KEEP IN MIND: If you're going to have more than one character using this system, and you don't want them to be able to teach each other these spells by casting them on each other, you're going to need to make one version of the spell for the enemies to use that calls the common event and causes the status, and another version without these. Or keep them all using the same version and let your characters teach each other spells this way, I'm a tutorial not a cop do whatever man it actually might be pretty nifty. I'm not even a very good tutorial because I'm just gonna do that anyway so really who am I to judge?

The spell I'm using for this will be "Learn Spell," with the state being "Learn Spell Target," and the common event being "Learn Spell Use." I'll try to keep to using the quotation marks when I'm referring to the skill, the state and the common event, so if I'm not using quotation marks, I'm actually talking about learning the spell or the spell's target. Also, my magic learner will be Hattie the Hat Wearer, my original character do not steal.

So, first, we're going to create the skill. I just copied the default Fire I and changed the name to "Learn Spell," for the sake of the tutorial. We're going to come back to this in a bit. You can also just alter skills you already have to accommodate this if you so choose.

Next, we're going to create the status "Learn Spell Target." Do not give it an icon. Do not give it features. Mark Remove at Battle End. Auto-removal Timing should be set for Turn End. The Duration can be 0 or 1 turns, in testing it did not make a difference. This way, the player will not see it and it will not impact gameplay in any way aside from having our common event check for it.


Now, we're going to create the common event, which I've titled "Learn Spell Use." The first thing in this event will be a Conditional Branch that's checking if the Actor, in this case the Hattie, is inflicted with the state "Learn Spell Target." You can uncheck the box for handling when conditions do not apply.

Next, we're going to put another Conditional Branch in to check if Hattie already knows the spell. We're going to need to keep that handling when conditions do not apply box checked, this time.

In the Else branch, we're going to Change Skills for Hattie to learn "Learn Spell." We're also going to add on a text blurb to notify the player she's learned the spell. Keep in mind, it's a good idea to add this to any system, including the one outlined previously.


Now we have to go back to the skill in question, in this case "Learn Spell," and add Common Event "Learn Spell Use," and Add State "Learn Spell Target." Fun Fact: the percentage chance of the status being inflicted? That's the chance your character will learn the spell, so you can raise or lower it as you like to fit that. If you do not want it resisted, make it some absurdly high number, because at 100% the characters will sometimes resist it.


AND THAT'S IT. For one spell and one character at least.

You want more characters? Just copy and paste what you've done in the common event "Learn Spell Use" into the same common event, after the last Branch end of the previous one, and change the actor in all 3 of the applicable circumstances. Keep doing this until everyone who can learn this spell this way is covered.


You want more spells? Create a new status for the next spell on the list. Copy and paste into the same common event like you would to add more characters, only this time change the status it's checking for to the new status, and the spell it's giving the character to the new spell. Make sure the new spell calls this same common event, but the Add State adds the new state unique to this spell.

IF YOU WANT TO, FOR ORGANIZATIONAL PURPOSES, USE NEW COMMON EVENTS FOR EACH SPELL, you can just copy and paste into the new common event instead of the old one and have the spell refer to the new common event and it will still work.

EDIT: yo, one more step. If you're having more than one character using this system, make sure to remove the "Learn Spell Target" status at some point in the the common event in case multiple enemies cast spells you can learn in the same battle round. Any point after the event has identified the actor with that status is fine.
3. Scaling Spell Power
Another method that allows for a sense of growth and development for spell casting characters is to have their spell's strength scale up as they progress. This can be a result of using consumable items, events in game, or anything else that can be used to raise a variable.

For this section, instead of telling you where to find which buttons to press, I will simply explain what is being done and accompany it with images. I will be using a character I have designed with this system, who also uses the Advance by Use method. We will not be utilizing new features, with the exception of altering the damage equations and using the variables in text. These are simple enough features and will be explained as they come up.

First, the method by which new spells is learned, Advance by Use, is implemented. In order to cap the amount of resource that can be gained, I have added a line to check that the total is below 100 before adding 1 to the variable, thus setting the cap at 100.


Additionally, I have included key items to allow the player to check the resource, which is referred to in game as “Elemental Affinity.” They simply call a common event specific to that element's variable.


Utilizing “\v[#],” in a text field, where # is the variable's number, will display the current value of that variable. It will also allow it to utilize that variable when used in damage equations.


With the variable at 0, this spell will deal negligible damage, doing twice as much damage as the character has mat, while being diminished by twice as much mdf as the target has. At 100, it will do this amount of damage, plus an additional 300. If utilizing a system like this, you may want to either have the variable start with a small boost, or simply add some static amount to the damage equation. In this particular project, I actually have different skills for raising the variables than I have for utilizing them. If you would like to get particularly involved, you can also create different variables to use as the multiplier. The specific math, however, is to your personal discretion.
4. Advance by Resource/Integrating Gear
The Advance by Resource system is a method by which the player accumulates a resource and can then choose to spend it to learn new skills. I will again be using a character that I have already designed to illustrate and explain this system. For the example used, the character's weapons were involved to both give the character temporary access to skills, and later permanent access to them.

First, the initial way in this example that this character has been given access to her spells is through equipping weapons, specifically spell books.


In the Features area of weapons and armor, you can add skills. Note that adding a skill to a skillset the character does not have access to does not give that character access to that skill. This means that you can make separate skillsets for individual characters, even giving them the same names if you want, and use this to control who learns what skills from having a particular item equipped. You can also have the item provide access to a skillset, if the character equipping it would not normally have access to it.

Now, the way I have her accumulating her resource is by casting the spells she gets from these spell books.


This is fairly similar to Advance by Use.


I have the resource capped at 200.


I created a key item to give her access to her resource, referred to in game as “Research.”


How you want to design your menus is up to you. Keep in mind to have a way to check if there is enough resource available before allowing the player to spend it.


In the portion illustrated, the character will learn the spells from the spell book shown previously, assuming the book is in the player's inventory. Having access to the same skill from multiple sources does not create redundant copies of the skill in the character's skill list.


I have also included a way for the player to check how much of the resource they have accumulated, along with a basic explanation of how the system works.

This system is more involved, but gives the player something more to do and involves them in the skill obtaining process. Keep in mind that this system will require a personal touch to make applicable to your own games. With additional tinkering, this can be used to allow the player to advance down skill trees of their choice, for example, allowing for a greater deal of personal customization.
5. Additional Notes on Integrating Gear
You can have items that give access to skills "advance," by utilizing a similar system to what we did with the Advance by Use. Keep in mind, these items have to be unique, as in you can't have multiples of it without making a separate copy of the item, and you have to make a new version of the item for every step of the advancement. Simply have the skills that the item grants call up a common event that adds to a variable and then checks if that variable has reached a certain point, just like in Advance by Use. This time, though, once it hits the point to learn a new spell, you're going to have to create conditional branches to check who has it equipped, and then remove it, and then equip the next version of the item. This next version can add more stats or grant access to more skills.

Additionally, you can simply have the item use a skillset that can only be accessed by equipping it. When a new skill would be learned, have every character that can equip the item learn it. So long as the item is unique, anyone who would have it equipped would have access to all the skills it provides. You can create copies of the item by having separate copies of the item, skillset, skills and common events involved. Keep in mind that the items will not stack in the inventory and may be confusing for players to differentiate.

Having a myriad of items with different abilities associated with them can allow the player a sense of control and customization. They can pick items that enhance a character's strengths, for example, or they can utilize them to cover a character's weakness. Having an accessory that allows access to healing spells, for example, can diversify a mage or fighter instead of simply bolstering the selection of spells a healer has access to. Try not to overlook the potential nuances that this feature can offer your projects.
6. Advance by Scan
For this example, we have a character with a very simple ability to find out the weaknesses of an enemy, and if he hasn't already learned it, he gains a skill that lets him enhance that weak point. Abilities to scan enemies are fun and useful, but can be intimidating to design.

Now, I'm going to use the trick of creating a State for scanning enemies to distinguish my target that we learned from Advance by Learning. The skill, Divination, is going to call the common event Scan and it's going to add the Scan state to it's target. The common event Scan is going to consist of one line, turning on the Scan switch. So, you've got a common event, a switch and a state dedicated to this ability so far.

Now we come to the Battle Event. In the Troops tab, you'll need to create a Battle Event for every troop that applies to this. This generally means all of them. This can seem intimidating, but it's not going to be a lot of work, and most of it can simply be copied and pasted with minimal alteration.


Some things to note: For Span, we've chosen Turn. If the Span is left at Battle, this event will only occur once per battle. The Condition has been set to the switch Scan being On. I'm using a conditional branch that identifies which target has been scanned by finding the target with the Scan state. I've kept the results incredibly simple, but you're welcome to flesh out yours with more detail. I've followed the results with a check if the applicable skill, in this case Stygiophobia, has already been acquired, and if it has not, it gives him the skill.


And for the second half of this, we have an enemy that does not teach any skills. It's important to note that at the end of this event, I've turned off the Scan switch. That basically primes it for it's next use.

For battles with only one target, you do not need to utilize conditional branches to find a target.

So, this section has provided a very simple tutorial for creating a Scan type skill for your games, as well as introduced how simple the integration of Battle Events can be.
25 kommentarer
Cheshirepool 3 jul, 2022 @ 19:00 
know of any way to make skills/spells consume an item when its used? kinda like spell components from D&D? not to learn new skills but to power them, physical mana effectively.
RRandomStuff 15 apr, 2016 @ 16:45 
Never mind i worked it out. I hadnt changed the span.
RRandomStuff 15 apr, 2016 @ 16:44 
Hey. Im using the basics of your scan tool to create a talk skill, and works pretty much the same. I have one problem. Once a talk to one enemy. I cant talk to the others. Help?
Archetype 2 jun, 2015 @ 13:07 
I've been trying some of these techniques out with my own projects. They are REALLY useful! Combining them is also quite fun, although really time consuming, as you've got to rig it per skill line and individual skill. But, hey, i'm not complaining. Once you've set it up, you can make some awesome combo skills.
Djlencio 27 dec, 2014 @ 17:13 
Simply fantastic, great mechanics with no scripts. Thank you man
Mythologix 17 nov, 2014 @ 22:26 
I cant wait to give some of these a shot. I dont know anything about scripting and have been looking for something like this that doesnt require scripting. Thank You
juggernaught13 17 okt, 2014 @ 20:07 
Thank you very much, I highly apprieciate the time you took to write this guide. just added it to my favorites for future reference! Cheers!
Maindric 7 jun, 2014 @ 10:38 
Advance by use looks like something I did a while ago. One thing I did as well was when Scaling Spell Power, take the variable, divide it by whatever interval you wish, and add it to the overall damage, that way, even with older spells, they will slowly scale up in power with use as well. This all looks really useful! Have some wings for the guide: :steamwings:
Adranova 14 apr, 2014 @ 18:37 
This guide is awesome! I've been wondering myself as to how you can make a Blue Mage work, and this provides a simple and easy way to do it. I'll Fave this so I may refer to it again!
Smysh 19 mar, 2014 @ 0:28 
Good guide, a lot of the explinations here will be useful to my future projects. I'd just like to mention that with the learning by equipment option also has it's use in using different states to gain temporary access to skills, such as being able to use a strong fire attack while under fire force. I've used it myself for a dark knight based class which obtains a skill to inflict the state and then the state adds the commands to the skillset while inflicted.