This article discusses some techniques for improving the look and feel of your game when it comes to skill commands. I discuss how skills are set up and assigned to actors, realize that everyone uses the same names for their skill command (Special, Magic, etc), and then look at ways to personalize these commands for each actor.
It is assumed that you are familiar with skills in RPG Maker and how to set them up in the database.
Managing Skill Types
In RPG Maker, you don’t assign skills to actors.
Instead, you assign skill types that they can use, and then assign skills to each skill type. This is because the default menus were designed so that you must select a skill type first, which would then show all of the skills that you can use for that type.
You can see all of the different skill types in your database from the Terms tab. By default, there are two:
Accessing Skills in-game
An actor can only use skills that it has access to. Two conditions need to be met.
First, the actor must have access to the skill type that the skill is assigned to. In order to add a skill type, use the “Add Skill Type” feature.
Second, the actor must “know” the skill. This can be done either by learning the skill, or having features that add the skill directly.
For demonstration purposes, I have set up 6 skills under the Magic skill type.
- Fire II
- Ice II
- Thunder II
I have also added each skill as features to my actor so that she can use it. If all works, you should see the skills in the game:
Personalized Skill Types
Personally, I find it a little too generic when everyone has more or less the same set of skill command names. Either everyone uses Special skills or Magic skills or whatever name you want to give it.
I’d like to personalize my skill types so that everyone has their own unique command name. This means that we need some more skill types, so we go back to our terms tab and add some new skill types. You can see what I have chosen on the right.
Accessing Skills from Multiple Skill Types
I’ve decided that Hime will use a unique “Sage” type of skills, rather than the generic “Magic” type. This “Sage” type will include Fire spells and Ice spells.
Now, I already have my fire, ice, and lighting spells set up, but they are currently assigned to the Magic category. The editor only allows you to assign one skill type for each skill.
What you could do is create a copy of the Fire spell and then assign that one to the Sage type. Now we can access the Fire spell through both categories, depending on which skill types your actor has access to.
But this is not very efficient. We now have two copies of the same skill lying around in our database, and the reason why we created the second copy was because we have two skill types that both have access to the Fire spell.
What happens if you decide to make a change to the Fire spell? You would need to make sure that you don’t forget to update the other copy. What happens if you have 10 different skill types that all have access to the Fire spell? More work for you.
And of course, we want Magic and Sage to both be able to use a number of spells, so you’re going to have to start making lots of copies of different skills.
Assigning Multiple Skill Types to a Skill
I have hinted a better solution to the problem earlier, and that is to assign multiple skill types to a skill. The database editor doesn’t support it, but fortunately we have access to a note-box, which means we can probably use scripts to handle it.
For this, I will use the Skill Type Groups script, which provides functionality that allows you to assign a skill to multiple groups. The usage is simple: look at the skill type ID’s that you want to add the skill to, and then add the following note-tag:Remember that Magic is skill type 2, and Sage is skill type 3. Refer to the Terms tab if you’re not sure why. Technically, there’s no reason for me to indicate that it is also “Magic” type, because it is already specified in the editor, but there’s no harm in doing so. Plus it looks more organized to me since I can just look at the notes and see what types the skill falls under.
Now I add the “Sage” skill type to my actor and look at the results. I should see all 6 skills under Magic is usual, but now I should see the Fire spell in the Sage category as well.
Just by adding a single note-tag, I have managed to display the same skill under two different skill types. Of course, in a real game, Hime would only have access to the Sage skill type. You can repeat the process with the other skills as well.
Grouping Skill Types Together
At this point, you can assign one skill to multiple skill types, so you should be able to create all of your personalized skill type names and just pick and choose which skills will go with which types.
This might become a little tedious. For example, if you have 20 fire spells and 20 ice spells, and you have 50 different actors all which their own personalized skill types, and more than half of them can use fire or ice spells, you will end up with lots and lots of note-tags. Which works of course. It’s still better than creating lots and lots of copies to achieve the same effect.
But we could do better. Remember that when I set up my skill types in the terms tab, I didn’t just create a Sage skill type; I also created skill types for Fire, Ice, and Lightning.
What I’m thinking is “What if I can just assign all of my fire spells to the Fire skill type, all of my ice spells to my Ice Skill type, and all of my lightning spells to my Lightning skill type, and then choose which skill types my personalized skill type will contain?”
That is, if my Sage skill type will include fire and ice spells, then any skills that you assign as Fire or Ice will automatically appear under Sage type without you having to note-tag it manually. This sounds like it would save a lot of note-tag space.
The same Skill Type Groups script provides that functionality, and is where the name of the script comes from.
Setting up Skill Type Groups
In the script configuration, you will see a section that allows you to specify which skill types will be grouped together.
Again, we are working with skill type ID’s again, so refer to the Terms tab if you don’t remember what they are.
In this table, I’ve decided that skill type 2 (Magic) will contain Fire, Ice, and Lightning skill types. This means that Magic type will have all of the spells that are assigned to
- Magic, or
- Fire, or
- Ice, or
I’ve also decided that skill type 3 (Sage) will contain Fire and Ice skill types. Rather than setting up a lot of note-tags for each skill to assign multiple skill types, I simply set up this table, and then assign each skill to the corresponding skill types. All of the fire spells will be categorized under Fire, all of the ice spells under Ice, and so on. This is how it looks in-game:
What’s the difference? There’s no real difference. Both approaches achieve the same outcome: you can display the same skills under multiple skill types. The difference is how much work would be required to maintain them.
For example, suppose you decided to add a new actor (maybe as a DLC) and wanted to include a new skill type. If you decided to use note-tags to assign multiple skill types, you would need to go through your skills again and tag them with the new skill type ID.
On the other hand, if you used skill type groups, you can simply update the configuration with the new skill type ID and specify which skill types it will include. If you have lots of skills, it might be easier to maintain skill groups since your skill types are already set up.
The purpose of this article was to show how you can personalize your actor’s skill commands in an efficient and manageable way, rather than creating duplicate copies of all of your skills that need to fall under multiple skill types.
It’s really just a visual thing and may be something really minor, but being able to show that not everyone uses the same generic set of commands can be a powerful feature.
Menu graphics from Luna Engine’s sample project: Etrian.
Characters by Kaduki.
Spread the Word
If you liked the post and feel that others could benefit from it, consider tweeting it or sharing it on whichever social media channels that you use. You can also follow @HimeWorks on Twitter or like my Facebook page to get the latest updates or suggest topics that you would like to read about.