My RPG Blog - Create your own RPG for computer or tabletop.

Search

RPG Maker Game Development Log #13: Adding Skills

RPG Maker Game Development Log #13: Adding A Skill System

Skills are an important part of RPG games.  But which skills will I need and how will I make them work?  In this article, I describe how I tested the RPG Maker skill system for my game.

RPG Maker Skills

skills are an important part of adventure games and computer RPG players will be expecting to use skills throughout the game experience.  Players are also going to expect some kind of skill progression as the game advances.

skills help define a character and distinguish one character from another.  What one character can do well, another character might do poorly.

skills are typically used during combat, but can also be triggered outside of combat, during move mode.  In addition, I have defined another skill Type- that is Interaction skills.  These skills trigger automatically when the characters interact with objects, NPCs, or places.

 

Converting Skills From Traveller

Since I am working on a game loosely based on the Traveller sci-fi RPG from Mongoose Publishing, I will be using the official Traveller System Reference Document along with other public domain source material as guidance, while applying my own style and vision to the project.

First, I'll need to examine my game and decide what skills will really be needed.  I'll need to figure out ways to convert them for use in RPG Maker.

I'll need to consider if a particular skill is Active, Passive, or Interactive.  How can using a particular skill help in the game?  Will there be opportunities to use a particular skill?  How will the player activate skills on different characters inside combat, outside combat, or in roleplaying interactions?  How will using a skill affect the game in ways that are meaningful?

There are many things to consider when creating skills; even non-combat skills can be as complicated as you want.

 

RPG Maker Skill Ideas

Rather than convert every skill available in Traveller, it makes more sense to just convert a few that will normally be used to see what's involved, how hard it is to come up with ideas, and how hard it is to implement them in the game.

RPG Maker skills can be very nuanced, especially combat skills, so it would be helpful to outline as many as I can on paper, then transcribe that info into a skills database.

I'll begin with a combat skill, a healing skill that can be used in or out of combat, and an interaction skill and go from there.

 

RPG Maker Skill Tree

Skill trees are a common feature of modern games.  Skill trees help players customize their characters and see what other options for specializing are.

Some skills in Traveller have cascading specialty trees that allow your character to specialize in a focused aspect of the skill.

For instance:

Gun Combat

  • Slug Pistols
  • Slug Rifles
  • Energy Pistols
  • Energy Rifles

 Sciences

  • Life Science
  • Physical Science
  • Social Science
  • Space Science

The top-level skill never goes over 0 but the subskills can be from 1 to 5.

Another thing to consider is that there are effectively 7 levels of skill expertise in Traveller.

For my purposes, I will define them like this:

  • Untrained
  • 0 (Novice)
  • 1 (Apprentice- Entry-level worker)
  • 2 (Journeyman- Professional level)
  • 3 (Expert- Management level)
  • 4 (Master- Craftsman level)
  • 5 (Visionary- Leader in their field)

I ran a test for allowing players to select specialty trees.  I loaded a custom map in the background with the skill tree interface and just made sure it lined up with the Events grid to allow player interaction.

 

RPG Maker Passive vs Active Skills

Roleplaying and adventure games on computers often use skills in an active or passive way.  Skills can also come into play during roleplaying opportunities or conversations with NPCs.

Active skills- skills that have to be triggered in order to use.

Some examples of Active skills:

  • Various attack skills such as Aimed Shot, Suppression Fire, and so on.
  • Apply First Aid to an ally
  • Put up a forcefield

Passive skills- skills that trigger automatically.

Some examples of Passive skills might be:

  • Use light armor
  • Use heavy armor
  • Horseback riding
  • Use spears

Interactive skills- skills that trigger during interactions with things, places, or people.  These normally trigger automatically so would normally be considered a type of passive skill.

Some examples of Interactive skills might be:

  • Persuade- only triggers when chatting with NPCs.
  • Diplomacy- Only triggers when chatting with NPCs.
  • Deception- Only triggers when chatting with NPCs.
  • Recon- Only triggers when hidden people/objects are near.

By combining these three types of skills, I can make a rich, interactive environment for the player to experience and help tell my stories.

 

Using Common Events Effectively

In RPG Maker, Common Events can be called to perform certain actions.  You can make these act like traditional programming functions by "sending" them parameters and "returning" values using RPG Maker Variables.

This means I can take a modular approach to Events, factoring out repeating code into its own function blocks which I access via the Common Events system.

Sending Parameters, Returning Results

It is useful to have reusable Common Events that you can run again and again in your game.  Functions like rolling dice, calculating odds, and triggering skills are all things that can benefit from modular design.

I can send function parameters to Common Events and retrieve calculation results using Variables.

As an example, for the rollDice event, I want to get the result of each die, and the total of the dice added together.

I'll need the following Variables:

  • die1- this will hold the result of the first die roll
  • die2- this will hold the result of the second die roll
  • totalRoll- this will hold the sum of die1 and die2

Now, any time I want to roll dice in the game, I just call the Common Event, "rollDice" and then check the value of the Variable totalRoll.

As another example, I'll need to calculate the Characteristic Modifier for STR, DEX, END, and so on.  The formula is Math.Floor(Characteristic/3)-2, so I will need the following Variables defined:

  • selectedChar- this is loaded with the name of the Characteristic I want the Modifier for before I call the Common Event, "getCharMod".
  • charMod- this is the result of the calculation, which I check after the Common Event is called.

As the last example, Traveller has something called "Effect", which is how much you made or failed the roll by.  I will need a Common Event called rollSkill that takes the skill name and a Target Number and returns the Effect.

  • skillName- the name of the skill being tested.
  • targetNumber- the number you are trying to roll (higher target numbers mean harder tasks).
  • effect- the amount you made or missed the target by.

Using this modular approach means there are fewer "points of contact" that can fail.  If I'm having problems with dice results, I know the ONLY place where dice rolls happen is in the rollDice Common Event, making troubleshooting and maintenance so much easier down the line.

Testing SKill Rolls 

testing skill check rolls

 

Setting and Getting RPG Maker Variables With JavaScript

Variables can be set and retrieved through the RPG Maker Variable interface or using the Script option in the Variable interface.  Using the Script method is the only way to set Variables to String Type values, otherwise, variables store Integer Types.

Strings can be stored by putting the value in quotation marks and placing that in the Script field.

Get the value of a Variable using:

$gameVariables.value(id)

Set the value of a Variable using:

$gameVarables.setValue(id)

id = the Variable index of the variable you're looking for.

Easy enough!  I think this will be pretty easy to take advantage of.

 

Wrapping It Up

At this point, I feel pretty confident about using the RPG Maker Skill system to create active skills, passive skills, interactive skills, and skill trees.

 

Join My Game Dev Journey!

It's nice to have company on a  long trip.

If you want to follow my production progress, join my RPG Maker Game Dev mailing list (below).

Check my blog at MakeYourOwnRPG.com.

You can also join the CyborgPrime Discord server, where I post my progress and interact with the community.

Click here for more articles about my RPG Maker game dev journey in this series.

 

Your Turn.  What Do You Do?

What are your favorite skills from RPG Games?

Please share with us in the Comments section below. I want to know about any clever skills that made an impression on you.

If you found this article helpful, please give it a good rating at the top, thanks!

 


E-mail Notification Opt-in

Do you want to follow my RPG Maker game dev journey?

Sign up on my private mailing list.

YES! Please notify me of new RPG Maker game dev posts!

Game Dev article updates direct to your Inbox!

We don't share your info or spam you. Unsubscribe any time.

You can also join my friends and me at the CyborgPrime Discord server.

Add comment


Information

Make your own RPG in your spare time with minimal skills.

Join me on my journey to create my own RPGs to play online or share with my friends.

I'm an RPG maker and game designer who builds tabletop and electronic RPGs for fun in my spare time.

Contact me if you have questions or suggestions.

Newsletter

Sign up for tips and tricks to make your own RPG.

We don't share your info or spam you. Unsubscribe any time.