Skill books or learn skills upon level up?

TakumaGao

Veteran
Veteran
Joined
May 22, 2019
Messages
220
Reaction score
67
First Language
English
Primarily Uses
RMMZ
So I've been debating something in my head lately, about how to have characters learn new skills in my game. From the beginning, my idea was to (mainly) utilize items that you can buy or find, which teach you new skills when using them on an actor. The exception to this being the "Blue Mage" sort of character, who learns new skills by observing enemies using certain skills.

But I've run into a few problems with the whole skill books thing. The first is that I don't want every character to be able to learn every skill - I want there to be a limit to how many skills you can carry on each character at one time. While I've got plugins now that allow me to do this, what I don't have is a plugin to *delete* skills - which is important since you'll naturally want to get rid of weaker skills as better ones become available, right?

But there's still another problem, even if I were to have a plugin to delete skills. See, the way my game works (at least currently) is that magic is split into one of four categories: Offensive (speaks for itself), Support (also speaks for itself), Utility (basically anything that doesn't fit into the other two categories) and Mastery (the Blue Magic I mentioned before). The main character can use Offensive, Support and Utility magic, while every other character can only use one or two types of magic (with Mastery being exclusive to one particular character).

For example, the Cleric can only use Supportive magic, while the Paladin can use Supportive and Utility magic. As it stands, the Cleric is going to have significantly higher magic attack power than the Paladin, so she'll be a better healer than he is, but the Paladin will have better physical stats and have a wider pool of spells to learn. I also plan to have a passive ability unique to each actor, and of course, the party members that are specialized in only one type of magic will have better passives than the characters who have a wider skillset.

But I feel like despite all of that, what's going to happen is that in most cases, players will utilize the characters that have the widest skillsets. After all, why bring along a Cleric that can only heal and will do pitiful damage otherwise (aside from casting Light magic), when you could instead bring along a tanky Paladin that can heal *and* take hits better, *and* be more powerful with normal attacks, *and* be able to use more magic? Or you could bring along the Mystic instead, who can use Offensive and Support magic, and while she won't be quite as good at healing as the Cleric or as good at casting offensive spells as the Wizard, she'll be far more versatile. You get what I'm saying?

Then there's another problem - that every character is just going to be running the best spells available to their class. For example, even though the Dark Knight (Offensive and Utility Magic) may get bonus effectiveness when using status ailments on enemies, the player may choose to ignore those ailments entirely and instead give the Dark Knight the same direct-damaging offensive spell loadout as the Wizard. After all, why bother trying to Poison enemies when you can instead cast Explosion and nuke their faces off?

So... with all of that considered... I was thinking... maybe it would be best to ditch the skill books entirely, and instead have characters learn spells by leveling up? On one hand, it's kind of lame that the player loses the ability to decide precisely what skills they have available to them, but on the other, it would allow me to better curate each character's spell list, so that they're more distinct from one another.

For example, as it stands, both the Wizard and the Dark Knight can cast every single offensive spell if you teach it to them. But what if instead of that, the Wizard mainly learns directly offensive attacks like Fire and Bolt, with a small handful of status and debuffing spells, while the Dark Knight only learns a few direct damaging attacks, and mainly has status ailment spells, debuffing spells, and other Utility magic? For example, some of the Utility spells you can learn imbue an element onto your weapon for a few turns, so what if the Dark Knight gets those for single target elemental damage, while learning the hit-all offensive elemental magic for multitarget damage?

Similar, for the Cleric, she would get all of the best healing and buffing spells, as well as light magic, while the Paladin would lose out on light magic, but gain things like the ability to Provoke enemies into targeting him (which is a Utility spell that would be unique to him). As for the mixed mage, the Mystic, perhaps she would have a wide variety of Offensive and Supportive spells... *but* she would only be able to use single target spells!

So... what do you think? Should I keep the skill books, or should I make skills more curated and done via level up?
 

devisous

Veteran
Veteran
Joined
Apr 12, 2022
Messages
54
Reaction score
55
First Language
English
Primarily Uses
RMMV
What I do for my white mage characters is have them learn ONLY defensive skills (heal, cure, etc) through leveling, but learn offensive skills through skill books.
It's a good balance, but only if the skills learned through book are EQUIPPED so you can only have one offensive at a time, but make sure the one offensive is stronger (and more expensive) than regular spells.
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
5,553
Reaction score
3,618
First Language
English
Primarily Uses
RMMV
Have you played Diablo? It sounds like maybe you should. How about Final Fantasy VI?

what I don't have is a plugin to *delete* skills
Why would you need one? There are both event commands and script calls to remove skills from an actor, so whatever method you're using to give a new skill to an actor can simultaneously remove any skills you want. What would a plugin add to that?

- which is important since you'll naturally want to get rid of weaker skills as better ones become available, right?
No, not necessarily - I prefer:
1 - Have fewer spells and make them scale with your level/stats so they remain relevant.
or
2 - Have the spells function differently. Maybe your first firebolt spell does slightly less damage than the higher level fireball, but it's more mana efficient and it has a chance to give a burn DoT that makes up the difference in immediate burst damage.

But if you want to have weaker skills and then get rid of them, that's pretty easily done as mentioned above.

But I feel like despite all of that, what's going to happen is that in most cases, players will utilize the characters that have the widest skillsets.
Here's where you get into balancing your classes, their parameters, and the functionality of your skills. That's logic and math, it has nothing to do with how you learn the skills.

After all, why bring along a Cleric that can only heal and will do pitiful damage otherwise (aside from casting Light magic), when you could instead bring along a tanky Paladin that can heal *and* take hits better, *and* be more powerful with normal attacks, *and* be able to use more magic?
Because the Cleric's magic stat makes the heals do more. And they have more mana so they can provide more heals before leaving the dungeon to rest. Maybe you choose not to make them do pitiful damage. Or maybe you choose to replace their default attack with a low-level heal or buff on an ally that doesn't cost mana.

Ultimately, the Paladin can only do one thing on a turn. So while they might have a broader choice of things they can do, every turn they spend casting a heal is a turn that they aren't using their more powerful normal attack, which is a turn you aren't progressing toward winning the battle.

There are lots of ways to balance that choice that you can see in tons of existing games.

Then there's another problem - that every character is just going to be running the best spells available to their class. For example, even though the Dark Knight (Offensive and Utility Magic) may get bonus effectiveness when using status ailments on enemies, the player may choose to ignore those ailments entirely and instead give the Dark Knight the same direct-damaging offensive spell loadout as the Wizard. After all, why bother trying to Poison enemies when you can instead cast Explosion and nuke their faces off?
Again, how you choose to balance things. The point should be that a DoT (poison) ends up being more efficient than a direct damage spell in a sufficiently long fight. So the damage dealt by poison compared to its mana cost should make it a superior choice if the player expects that enemy to last more than, whatever, 2 rounds.

That's basic math.

Aside from that, a lot of the same things I said above. Make the Dark Knight have less mana than the Wizard, so they can't afford to cast Explosion every battle without making it inefficient to constantly run out of the dungeon to rest. Make them get sword-based attack skills using TP that they want to use more, but they have the option to cast Explosion if they face an enemy that is super vulnerable to fire.
For example, as it stands, both the Wizard and the Dark Knight can cast every single offensive spell if you teach it to them. But what if instead of that, the Wizard mainly learns directly offensive attacks like Fire and Bolt, with a small handful of status and debuffing spells, while the Dark Knight only learns a few direct damaging attacks, and mainly has status ailment spells, debuffing spells, and other Utility magic?
I'm not sure why you're connecting these options to how you learn skills and then treat it as all or nothing.

You control which classes can learn from which books. There's no reason you have to say "If Dark Knight can learn any direct damage spells, they have to be able to learn them all." You can create these exact same limitations while keeping your skill books. The two are not connected.
 

TakumaGao

Veteran
Veteran
Joined
May 22, 2019
Messages
220
Reaction score
67
First Language
English
Primarily Uses
RMMZ
Have you played Diablo? It sounds like maybe you should. How about Final Fantasy VI?


Why would you need one? There are both event commands and script calls to remove skills from an actor, so whatever method you're using to give a new skill to an actor can simultaneously remove any skills you want. What would a plugin add to that?


No, not necessarily - I prefer:
1 - Have fewer spells and make them scale with your level/stats so they remain relevant.
or
2 - Have the spells function differently. Maybe your first firebolt spell does slightly less damage than the higher level fireball, but it's more mana efficient and it has a chance to give a burn DoT that makes up the difference in immediate burst damage.

But if you want to have weaker skills and then get rid of them, that's pretty easily done as mentioned above.


Here's where you get into balancing your classes, their parameters, and the functionality of your skills. That's logic and math, it has nothing to do with how you learn the skills.


Because the Cleric's magic stat makes the heals do more. And they have more mana so they can provide more heals before leaving the dungeon to rest. Maybe you choose not to make them do pitiful damage. Or maybe you choose to replace their default attack with a low-level heal or buff on an ally that doesn't cost mana.

Ultimately, the Paladin can only do one thing on a turn. So while they might have a broader choice of things they can do, every turn they spend casting a heal is a turn that they aren't using their more powerful normal attack, which is a turn you aren't progressing toward winning the battle.

There are lots of ways to balance that choice that you can see in tons of existing games.


Again, how you choose to balance things. The point should be that a DoT (poison) ends up being more efficient than a direct damage spell in a sufficiently long fight. So the damage dealt by poison compared to its mana cost should make it a superior choice if the player expects that enemy to last more than, whatever, 2 rounds.

That's basic math.

Aside from that, a lot of the same things I said above. Make the Dark Knight have less mana than the Wizard, so they can't afford to cast Explosion every battle without making it inefficient to constantly run out of the dungeon to rest. Make them get sword-based attack skills using TP that they want to use more, but they have the option to cast Explosion if they face an enemy that is super vulnerable to fire.

I'm not sure why you're connecting these options to how you learn skills and then treat it as all or nothing.

You control which classes can learn from which books. There's no reason you have to say "If Dark Knight can learn any direct damage spells, they have to be able to learn them all." You can create these exact same limitations while keeping your skill books. The two are not connected.

Hey again :p

You know what, you're right about pretty much all of that!

Though this reminds me... you tried to explain to me how to make a forget skills event using the Select Item event before, but I don't believe I was ever able to figure out how to make the program know who I was trying to target with the skill-forgetting.

1660345210676.png
I started to make this common event, which I assumed was how I was supposed to do that, but... then I kind of hit a wall and wasn't sure what to do from here... or even if that would give me the desired result in the first place...

Like... what that event seems to be able to do is display the name of the actor... but how do I get it to call up the list of valid Hidden Items (which are a list of skills for the character to forget) for that particular actor?

Any advice on making the event work right?
 

MarxMayhem

Veteran
Veteran
Joined
Apr 17, 2020
Messages
244
Reaction score
240
First Language
Filipino
Primarily Uses
RMMV
The first is that I don't want every character to be able to learn every skill - I want there to be a limit to how many skills you can carry on each character at one time. While I've got plugins now that allow me to do this, what I don't have is a plugin to *delete* skills - which is important since you'll naturally want to get rid of weaker skills as better ones become available, right?
Have you considered a plugin that lets you equip and unequip skills instead? Sounds like you want players to manage their capabilities, and this sounds like an easier alternative for you.

what's going to happen is that in most cases, players will utilize the characters that have the widest skillsets.
Unless you messed up the math or general class and skill design of your game, I guarantee you that this will never happen, and players will choose specialized classes over versatile ones when the specialized ones are more efficient.

that every character is just going to be running the best spells available to their class.
This is a problem... how? Players will always want to have the most optimal options for them. If you want lesser version of spells or spells with niche uses to be as competitively useful as "better" or "more versatile" skills, then that goes back to class and skill design.

For example, even though the Dark Knight (Offensive and Utility Magic) may get bonus effectiveness when using status ailments on enemies, the player may choose to ignore those ailments entirely and instead give the Dark Knight the same direct-damaging offensive spell loadout as the Wizard. After all, why bother trying to Poison enemies when you can instead cast Explosion and nuke their faces off?
Maybe put drawbacks on your theoretical Explosion skill and more benefits to the Poisoned state. Like makes the Apply Poison skill more cost-efficient? Or make Explosion also damage allies? Or damage from Poisoned is Certain and not Magical, so it cannot be resisted. Or all of the above?

All in all, I agree woth ATT_Turan. The problem isn't how you gate skill progression from characters, but basic skill design. What I'm doing for my game is basically what you're doing as well, but I am confident that I can give players variety in choices, and that builds are distinct from each other.

Now if you excuse me, I have shared some stuff here that I haven't considered for my own game, so Imma steal my own ideas.
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
5,553
Reaction score
3,618
First Language
English
Primarily Uses
RMMV
I started to make this common event, which I assumed was how I was supposed to do that, but...Any advice on making the event work right?
I suggest you go back to the other thread and re-read what I described.

Obviously, what I suggested is not the only possible way to do it, but what you started to do is neither similar to what I described, nor looking like it's going on a helpful path :stickytongue:

The whole point of my suggestion was that using the Select Item event command with the Hidden Item list is how you choose the player. The Hidden Items are actually named
Firebolt - Harold
Firebolt - Lucy
Cure Light Wounds - Lucy
Cure Light Wounds - Bart
etc.

Then you simply use conditionals to say "if the selected item is Firebolt - Harold, remove Firebolt from Harold."
 

TakumaGao

Veteran
Veteran
Joined
May 22, 2019
Messages
220
Reaction score
67
First Language
English
Primarily Uses
RMMZ
I suggest you go back to the other thread and re-read what I described.

Obviously, what I suggested is not the only possible way to do it, but what you started to do is neither similar to what I described, nor looking like it's going on a helpful path :stickytongue:

The whole point of my suggestion was that using the Select Item event command with the Hidden Item list is how you choose the player. The Hidden Items are actually named
Firebolt - Harold
Firebolt - Lucy
Cure Light Wounds - Lucy
Cure Light Wounds - Bart
etc.

Then you simply use conditionals to say "if the selected item is Firebolt - Harold, remove Firebolt from Harold."

Well yeah, but then like I had said in the other thread, it ends up being a gigantic list that is kind of player-unfriendly to scroll through :p That's why I wanted to set up individual lists per actor.

Plus... if I want to make the item that teaches the skill provide the correct item for the correct actor, I would need to use conditional branches, right? So how do I set the conditional branch to know which actor the item is being used on?
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
5,553
Reaction score
3,618
First Language
English
Primarily Uses
RMMV
Well yeah, but then like I had said in the other thread, it ends up being a gigantic list that is kind of player-unfriendly to scroll through :p That's why I wanted to set up individual lists per actor.
Then commission a custom scene and windows, or learn to code them ¯\_(ツ)_/¯

So how do I set the conditional branch to know which actor the item is being used on?
It's right in Control Variables, to set one to the ID of the actor who was last targeted.
 

TakumaGao

Veteran
Veteran
Joined
May 22, 2019
Messages
220
Reaction score
67
First Language
English
Primarily Uses
RMMZ
Then commission a custom scene and windows, or learn to code them ¯\_(ツ)_/¯


It's right in Control Variables, to set one to the ID of the actor who was last targeted.

Ooh, I see now. And that works for using items in the menu? I assumed that was for being targeted in battle.

So then... wait... lemme try and get these gears in my brain working here...

Let's say I make an Item, which we'll call a Magic Eraser.

Magic Eraser, when used on an actor, sets a variable to the ID of the actor who was last targeted - which is the actor we just used the item on.

Once the variable is set, it calls a conditional branch which goes down the list of every actor to see who's ID matches the variable ID that we just set.

Once it finds a match, it calls another common event (for the sake of keeping things organized and not having one great big stupid event lol) for the selected actor, and it goes down a list of conditional branches, checking to see if the actor knows every single skill that they can possibly know. Each time it finds a match, it adds the Hidden Item which matches that skill to the player's inventory.

After that, it calls up the Select Item prompt, which lists each of those Hidden Items that we just added to the player's inventory. The player then selects the skill that they wish to delete. It then stores the ID for this skill in a variable.

The next step has the event bring up a text box, asking if they truly wish to delete the skill, and gives them a yes/no choice. If no, it closes out of the screen and +1s a Magic Eraser back into their inventory, and then removes all of those Hidden Items we added before from the player's inventory.

If yes is selected, then we delete the skill with the matching ID from that actor's skill list, and then it removes all of the Hidden Items that we added.

...Is this correct?
 

Ami

World Maker
Veteran
Joined
Jul 12, 2019
Messages
168
Reaction score
609
First Language
Indonesia
Primarily Uses
RMMV
equipped Skill (or Spell) Book are used in order to limiting the others (only Spell User can use it, other than that, they can't), i'm prefer with that rather than Leveling for acquiring the Spells
 

Milennin

"With a bang and a boom!"
Veteran
Joined
Feb 7, 2013
Messages
3,132
Reaction score
2,423
First Language
English
Primarily Uses
RMMV
So... with all of that considered... I was thinking... maybe it would be best to ditch the skill books entirely, and instead have characters learn spells by leveling up? On one hand, it's kind of lame that the player loses the ability to decide precisely what skills they have available to them, but on the other, it would allow me to better curate each character's spell list, so that they're more distinct from one another.

In what way is that lame? It sounds like a perfectly fine way to handle learning skills.
The middle ground would be each character learning their own skills by levelling up, and then having an extra set of skills that can only be learned via skill books that players can use to complement their character's build.
 

TakumaGao

Veteran
Veteran
Joined
May 22, 2019
Messages
220
Reaction score
67
First Language
English
Primarily Uses
RMMZ
In what way is that lame? It sounds like a perfectly fine way to handle learning skills.
The middle ground would be each character learning their own skills by levelling up, and then having an extra set of skills that can only be learned via skill books that players can use to complement their character's build.

I had actually considered something like that in an older game idea I had. Where each character would learn skills by leveling up, but each piece of equipment would also provide one skill to add to the actor's skillset as long as it was equipped. And since you'd have five equipment slots, you could have five extra skills at a time. Though I ended up deciding against doing that for this project.

But I do have good news! Hey, @ATT_Turan! Check out what I made! :D


Looks like it works! I did what I said above, and though it was a long and tedious process... it works! Though... it currently only works with one skill, on one actor... but we're getting there! :p
 

Latest Threads

Latest Posts

Latest Profile Posts

Tried something. Little sneak peak of Unity AD.
M42S7Us.gif

It's the little things. Lengthened the time the bar fades in and out to be a bit more comfortable.
3 days until release!

Forum statistics

Threads
125,733
Messages
1,173,103
Members
164,878
Latest member
INKYLIKE
Top