Unlocking the Potential of Skills

● ARCHIVED · READ-ONLY
Started by gcook725 1 posts View original ↗
  1. Unlocking the Potential of Skills
    Written by: gcook725
    Introduction: "Simple enough for a child; powerful enough for a developer."
    So, I've decided to write this tutorial for two reasons. The first is that it is all-too-often that I find RM developers not using skills to their potential. This isn't always their fault: The database itself, while it allows for the creation of more complex, doesn't exactly give you any such examples or give you any ideas as exactly how to do it in the first place. Its here that the motto for RPG Maker seems be both its blessing and its curse.

    "Simple enough for a child; powerful enough for a developer."

    The other main reason as to why I'm writing this tutorial is because it has some basic knowledge within it that's required for another tutorial I'm planning for creating complex Boss Encounters.

    What will you learn?
    This tutorial is written to teach intermediate RM'ers the basics of creating skills that do more than what the database's skill tab implies can be created. This tutorial will include 3 example skills which should do just that. Those skills are:

    • A skill that hits more than 4 random targets
    • A skill that hits 3 random targets with each hit having a different element
    • A skill that prevents the user from acting
    Each of these skills will teach something different about creating more complex skills and with the methods you learn in this tutorial, you should be able to take your knowledge to create almost any kind of skill you see fit. A demo will be included at the end of the tutorial so you can play with these skills yourself as well.

    A note: This tutorial expects the reader to at least have a basic knowledge of how eventing works, how to use common events and basic knowledge of how to use the database. In addition to this the user is expected to have read at least rudimentary knowledge of how to use formulas to their fullest potential. There is an amazing tutorial by Fomar0153 that does just this and then some. Some basic knowledge of programming logic is helpful as well for understanding how to make more complex events and skills, but isn't exactly required for this particular tutorial.

    Another note: Some -- if not all -- of the effects that require common events in this tutorial can be done using the formula bar itself, but its not as modular as common events and it can be difficult to keep track of all the commands in the formula bar itself.

    How do I create the skills?
    There are a few steps I would recommend you to use when creating a skill. Mostly planning really. These are the steps I go through when creating every skill that might require using more than just the Skills tab of the database.

    • Plan out the skills. What should the skill do? Get crazy here.
    • Decide what is required to make the skill work the way you want it to. Does it need special states? Common events? Multiple skills? How many variables and/or switches?
    • Actually create the skill. That is create the skills in the Skill tab and any other parts you will need in the other tabs of the database. Get it generally working
    • Test the skill. Give it to a random character without any costs to the skill itself. Debug it to death. Find where the skill fails and fix it. Once you get it actually working, start balancing the skill's costs and effects.
    A thing to note with variables and switches: If you're clever with them, you can re-use a handful of variables and switches for all of your skills. I find that 2 unique switches and variables are enough for most applications.

    The Examples
    Okay, now for the examples I promised earlier. The first skill is designed to teach you how to use common events in your skills. Lets go through the steps:

    • Plan the skill: This skill is going to hit 6 random enemies.
    • What's needed? The skill will require one skill that targets a random enemy. Since the maximum for the scope to hit random targets is 4, we will also need a common event to repeat the skill. We will need a switch to prevent re-initialization of the skill and a variable to keep track of the number of times the skill is used.
    • Create the skill.
    To create the skill itself, we will first design the actual effect of the skill. There's nothing special here really. Since we're going to use a common event to repeat the effect however, we only need a scope of 1 random enemy. Under Effects we're going to call our common event that repeats the skill for us; you can leave this blank until after you create the common event itself if you're not sure which position it'll be in under the common events page yet.
    Skill1_zps9a311a24.png

    After creating the skill itself, we're going to move on to the common event. The first part of the event holds a conditional branch that will initiate our variable that acts as our counter for the skill. For this example we have set it to 5 because then it will repeat five more times after its first effect, however you can set this to any number, be it randomized (think of a double-slap from pokemon) or another variable from somewhere else. The switch is turned on here so that the variable is not re-initialized until the effect is finished. The second conditional branch just makes sure that our counter is not equal to 0. If its true then it subtracts one from the variable and uses the skill again. This effectively works as a loop for the skill since it'll call this common event as part of the effect of the skill itself. If the counter is equal to zero however, it doesn't use the skill again (breaking the loop) and instead resets the switch and variable for future use.
    Skill1_CE_zps5462139d.png


    The second example is designed to teach you how to use multiple skills for a single overall effect. Again, lets go through the steps:

    • Plan the skill. This skill will strike 3 random targets, each hit dealing damage with a different, random element. Possible elements are Fire, Ice, and Thunder
    • What's needed? This skill will need a total of 4 skills to work: 1 to start the effect and 1 for each elemental effect. It will also need one common event with 2 variables; 1 variable to be used as a counter and 1 variable to be used to determine which effect to use.
    • Create the skill.
    Again, we're going to start off with creating the skill itself... or rather the 4 skills that are needed for the entire effect. The first skill doesn't really do anything. It has a scope of none. No animation or damage type. All it really does is call the common event that starts the whole effect. This skill is the one that the character will actually see in the skill menu and use.
    Skill2_1_zps4df0a4d0.png

    The other skills follow the same format for this example. They are the portions that actually do damage. Because the player never has to select or see these skills really, the name, description, and skill types are unimportant and can really be whatever you want. What is important here is the effects, formula, and potentially the using message. These skills don't call the common event because the loop is built into it this time, rather than using Force Action on the skill to create an artificial loop by calling the skill that calls the common event.
    Skill2_2_zpsc16b318f.png

    Next we're going to create the actual common event. We start the event by initializing out counter then calling a loop. The conditional branch inside of the loop merely makes sure that the counter isn't zero yet; if it is true then it goes on with the effect while if its false it breaks the loop and the event resets all variables for 0 for future use. The effect of the skill basically subtracts one from the counter and then randomizes a second variable with numbers between 1 and 3. Each number will correspond with a different skill from before: 1 for fire, 2 for ice, 3 for thunder. The three conditional branches after basically just checks the randomized number to see which action should be forced.
    Skill2_CE_zps26a9261f.png


    Our final example is a quick one, but shows how to use states to create different effects and penalties on the user. Basically, this should be easy to figure out how to do if you read Fomar0153's tutorial. Even then some people might struggle to think of a practical application. The steps:

    • Plan the skill. This skill will instantly kill a single enemy, but it will also cause the user to lose four turns.
    • What's needed? The skill itself that adds the death state to an enemy and a state that is added to the user by the skill that causes them to lose 4 turns.
    • Create the skill.
    Of course, create the skill first. Its pretty standard except for its formula. The formula can be any damage type really and variance, critical, and element have no effect at all regardless. The formula is set up to add the 26th state to the user of the skill. You can elect to add the formula after you create the state of course in case you don't know which place it will end up being in.
    Skill3_zps57873b73.png

    Finally, we're going to create the state that causes the character to be unable to act. The state itself is effectively a duplicate of Death with different messages and removal conditions. A note here is that I made a mistake in the screenshot and demo: The effect should automatically be removed at Battle End as well. Also of note is that you could easily alter a skill like this to instead of restrict movement, seal the skill that causes the effect to create a cooldown.
    Skill3_S_zpse86e52cc.png


    Conclusion
    You can download the demo with all of these examples here. If you have any particular types of skill that use different methods than those detailed here and that you think should be included, post in this topic asking about them and I'll see about getting them included with the examples above. I hope you found this tutorial helpful in perhaps teaching you some new methods to create complex skills. All comments are welcome, so please post away!