- Joined
- Apr 4, 2012
- Messages
- 384
- Reaction score
- 72
- First Language
- English
- Primarily Uses
- N/A
Introduction
One of the hardest parts for me on RPG Maker have been how to balance the enemies, I'm not fond of having same monster of different color being harder than the previous. We have Yanfly Enemy Levels as solution for this, but when I came to a practical use of it, it was hard because it involved a lot of stat checks of base+ratio, in the end the enemies turned out too OP or pretty underwhelming because of low bases. I suck at math, really, FlyingDreams created a calculator for that script but I was still struggling with it.
Monster stats theory
Monsters to human size comparison
That is why I went Google and stumbled with this tutorial from Garler at Rpg Maker Central where he points out how enemies should be based around the player stats, and it make sense, we know that a giant could be 10x stronger and bigger than a normal human, but then we come to the power levels, is this giant 10x stronger than a Lv.50 character or just 10x stronger than a Lv.1 character?, the giant will turn a meaningless kill as the player progress, but is that really what we want?, I don't like when in a game the first boss ends up less challenging than a high level mob. Why not make it always 10x stronger stat wise but giving the player the proper tools to make it weak and kill it on a reasonable amount of time?. Strategy, tactics and overpowered Arch Magic from the 8th rank is what we need to introduce to the player.
The Method
If you read the external tutorial I linked you will see that Garler compares database Class levels with Enemy stats. Doing that with Yanfly Enemy Levels will be hard so I decided to combine it with Hime Enemy Classes. That way I could get a built-in way to see how a Lv.1 Kobold and a Lv.50 Kobold would turn out, control the stats with built-in tools based on average player. So now I'm going step by step clearing doubts and explaining my method on how make the enemy progression way easier.
Things that you need for this tutorial:
Step 1 - Inserting the plugins
You will need to add the scripts mentioned above to your project in the following order:
Step 2 - Setting up YEP - Enemy Levels for this method
As I've mentioned Yanfly way of setting up the enemy stats requires dedication and can be annoying so we are going to simplify the script by changing the Flat and Rate growth values from all stats except gold and exp to zero. In the following image there is a example:
Step 3 - Creating Enemy Class Templates
We have been talking about making the enemies relative to the player on stats, this doesn't mean that every enemy needs a class, in fact you could do just 2 or 3 different templates and control the stat difference for each enemy with just traits. So here is what I did, just 2 templates, Warrior type enemies and Wizard type enemies, the first one usually are going to be the melee fighters (Kobolds, Lizardmans, Goblins, Giants, Werewolf, etc) and the second one are the squishy casters that deal lots of damage with spells (Rogue Wizards, Specters, Lich, Witches, etc). For Warrior Template stats I took reference from the default Swordman job with some minor modifications.
As for skills, you can add basic skills for every class, or you can add the skills on the enemy, that is up to you, according to Tsukihime, both will be used.
Step 4 - Creating the Enemies
In the next image you can see I've highlighted 3 parts, on the general settings the stats are set to 1 and 0, that is because those are ignored and the stats from the class specified in the note tag will overwrite them, Enemy class 25 is my Warrior template, but for a Goblin those default stats might be too high right? that is why on traits I went and changed the relevant stats to a 65% (that is 35% hp less than a standard Swordman for example)
So then we are going to test my Goblin on Lv3, taking in consideration that he is using the modified parameters from the class template.
We could go and test it on a higher level and it will stay dynamic. You could also change the Parameter multiplier to something different, let's say I'm fighting a Lich with the Wizard template, the Lich usually stronger than any other enemy wizard unit so I changed his multiplier to 750% on magic attack. Fighting the Lv.50 and Lv99 Goblin doesn't feel that bad either, you have to take in consideration that enemies by default don't have the bonus from your equipment so watch out when nerfing their attack.
Final Notes
I really think that using templates and % based enemies save a lot of time if your database is around 100+ enemies, having minimum and maximum levels can also restrict the player from staying or advancing so this is an important part to consider. I hope you guys find this helpful. I'm making this for my friends that are picking up RPG Maker now and need start points like this.
One of the hardest parts for me on RPG Maker have been how to balance the enemies, I'm not fond of having same monster of different color being harder than the previous. We have Yanfly Enemy Levels as solution for this, but when I came to a practical use of it, it was hard because it involved a lot of stat checks of base+ratio, in the end the enemies turned out too OP or pretty underwhelming because of low bases. I suck at math, really, FlyingDreams created a calculator for that script but I was still struggling with it.
Monster stats theory

Monsters to human size comparison
That is why I went Google and stumbled with this tutorial from Garler at Rpg Maker Central where he points out how enemies should be based around the player stats, and it make sense, we know that a giant could be 10x stronger and bigger than a normal human, but then we come to the power levels, is this giant 10x stronger than a Lv.50 character or just 10x stronger than a Lv.1 character?, the giant will turn a meaningless kill as the player progress, but is that really what we want?, I don't like when in a game the first boss ends up less challenging than a high level mob. Why not make it always 10x stronger stat wise but giving the player the proper tools to make it weak and kill it on a reasonable amount of time?. Strategy, tactics and overpowered Arch Magic from the 8th rank is what we need to introduce to the player.
The Method
If you read the external tutorial I linked you will see that Garler compares database Class levels with Enemy stats. Doing that with Yanfly Enemy Levels will be hard so I decided to combine it with Hime Enemy Classes. That way I could get a built-in way to see how a Lv.1 Kobold and a Lv.50 Kobold would turn out, control the stats with built-in tools based on average player. So now I'm going step by step clearing doubts and explaining my method on how make the enemy progression way easier.
Things that you need for this tutorial:
- Basic knowledge on how to add scripts
- Basic knowledge of the database tools
- Yanfly Enemy Levels plugin
- Hime Enemy Classes plugin
- Coffee (optional)
- Patience
Step 1 - Inserting the plugins
You will need to add the scripts mentioned above to your project in the following order:

Step 2 - Setting up YEP - Enemy Levels for this method
As I've mentioned Yanfly way of setting up the enemy stats requires dedication and can be annoying so we are going to simplify the script by changing the Flat and Rate growth values from all stats except gold and exp to zero. In the following image there is a example:

Possible question: Why are you using Yanfly Enemy Levels instead of Hime Enemy Levels?
— Tsukihime levels script is too basic and doesn't have a way to set a default level type without having to add a notetag to all the enemies in the database. Yanfly also provides control for minimum, maximum and static levels for enemies.
Step 3 - Creating Enemy Class Templates

We have been talking about making the enemies relative to the player on stats, this doesn't mean that every enemy needs a class, in fact you could do just 2 or 3 different templates and control the stat difference for each enemy with just traits. So here is what I did, just 2 templates, Warrior type enemies and Wizard type enemies, the first one usually are going to be the melee fighters (Kobolds, Lizardmans, Goblins, Giants, Werewolf, etc) and the second one are the squishy casters that deal lots of damage with spells (Rogue Wizards, Specters, Lich, Witches, etc). For Warrior Template stats I took reference from the default Swordman job with some minor modifications.
As for skills, you can add basic skills for every class, or you can add the skills on the enemy, that is up to you, according to Tsukihime, both will be used.
Step 4 - Creating the Enemies
In the next image you can see I've highlighted 3 parts, on the general settings the stats are set to 1 and 0, that is because those are ignored and the stats from the class specified in the note tag will overwrite them, Enemy class 25 is my Warrior template, but for a Goblin those default stats might be too high right? that is why on traits I went and changed the relevant stats to a 65% (that is 35% hp less than a standard Swordman for example)

So then we are going to test my Goblin on Lv3, taking in consideration that he is using the modified parameters from the class template.

We could go and test it on a higher level and it will stay dynamic. You could also change the Parameter multiplier to something different, let's say I'm fighting a Lich with the Wizard template, the Lich usually stronger than any other enemy wizard unit so I changed his multiplier to 750% on magic attack. Fighting the Lv.50 and Lv99 Goblin doesn't feel that bad either, you have to take in consideration that enemies by default don't have the bonus from your equipment so watch out when nerfing their attack.
Final Notes
I really think that using templates and % based enemies save a lot of time if your database is around 100+ enemies, having minimum and maximum levels can also restrict the player from staying or advancing so this is an important part to consider. I hope you guys find this helpful. I'm making this for my friends that are picking up RPG Maker now and need start points like this.