[MV] Ingame difficulty increase system

Started by ICF-Soft, January 01, 2017, 07:29:03 pm

Previous topic - Next topic

ICF-Soft

We are going to make a difficulty system that increases during gameplay. We'll use enemy sustitution for this.

In this tutorial I'll configure only an enemy, but you can use it for all enemies you'll need.

We'll need these plugins:

Also we'll reserve a variable and a switch (the 40th and 40th as example) and we'll call them selector and final cataclism.

Step 1:
Install plugins, main utility must be before enemy selector. We configure enemy selector in enemy var 40 (the variable we have reserved) and in absolute false.

Step 2:
Create all enemies we will use.
We'll use default slime nº2 and make small variations:

       
  • nº5: jelly

  •    
  • nº6: mucus

  •    
  • nº7: venom slime

  •    
  • nº8: lava slime

  •    
  • nº9: vampire slime

  •    
  • nº10: hell jelly


Now we can complete with better parámetros, their traits, skills and hue. In this example there are small variations but you can use every enemy type you want.

Step 3:
Now we'll config enemy nº2 to be sustituted to the other throught notetags. Left number is minimum value for selector to reach, and the other are enemy ids to be swaped. You can use in intervals or the way you want but must be in ascending order:

Code: OPTION 1
<enemy selector>
5:5
10:6
15:7
20:8
25:9
</enemy selector>

Code: OPTION 2
<enemy selector>
5:2 5
10:2 5 6
15:5 6 7
20:7 8
25:7 8 9
30:9
</enemy selector>

Code: OPTION 3
<enemy selector>
5:2 2 2 5
10:2 5 5 5 5 5
15:2 5 5 6 6
20:5 6 6 7 7
25:7 7 7 8 8 8 9
30:7 8 9 9 9 9 9
35:9
</enemy selector>

First is a direct change, second have randomization and third also includes probabilities. I personally prefer option 3.

Now we'll add a special option when final cataclism is triggered:
Code: OPTION 1
<custom enemy selector>
if ($gameSwitches.value(40)) {
   converted = 10;
}
</custom enemy selector>

Code: OPTION 2
<custom enemy selector>
if ($gameSwitches.value(40) && Math.random() > 0.05) {
   converted = 10;
}
</custom enemy selector>

First option switchs to hell jelly when switch is on and second option gives a 95% chance to swap when switch is on. I like second option but you can use which you want.

Step 4 (Optional):
Usually you don't need to configure these other enemies if you don't place them in troops, but if you place them and want to add that functionality to them you can use these notetags:
Code: nº5: jelly
<enemy selector>
15:5 5 6 6
20:5 6 6 7 7
25:7 7 7 8 8 8 9
30:7 8 9 9 9 9 9
35:9
</enemy selector>
<custom enemy selector>
if ($gameSwitches.value(40) && Math.random() > 0.05) {
   converted = 10;
}
</custom enemy selector>

Code: nº6: mucus
<enemy selector>
20:6 6 7 7
25:7 7 7 8 8 8 9
30:7 8 9 9 9 9 9
35:9
</enemy selector>
<custom enemy selector>
if ($gameSwitches.value(40) && Math.random() > 0.05) {
   converted = 10;
}
</custom enemy selector>

Code: nº7: venom slime
<enemy selector>
25:7 7 7 7 7 9
30:7 9 9 9 9 9
35:9
</enemy selector>
<custom enemy selector>
if ($gameSwitches.value(40) && Math.random() > 0.05) {
   converted = 10;
}
</custom enemy selector>

Code: nº8: lava slime
<enemy selector>
25:8 8 8 8 8 9
30:8 9 9 9 9 9
35:9
</enemy selector>
<custom enemy selector>
if ($gameSwitches.value(40) && Math.random() > 0.05) {
   converted = 10;
}
</custom enemy selector>

Code: nº9: vampire slime
<custom enemy selector>
if ($gameSwitches.value(40) && Math.random() > 0.05) {
  &nbsp;converted = 10;
}
</custom enemy selector>

As you can see I've removed the inferior and incompatible ones.

Step 5, test result:
To check that every thing works fine you can create a map with that enemy and events to change variable and switch.

Final:
And the last thing is to asign the way difficulty will be increased ingame:

       
  • One point every hour.

  •    
  • Increase on every happening.

  •    
  • Increase when opening cofins or unlocking secrets.

  •    
  • Increase when completing quests.


With a little imagination there are lots of ways to manage difficulty.

And then you can create an ingame difficulty increase system for your RPG Maker MV game.

This tutorial is avaiable in my blog (in spanish): http://icfsoft.blogspot.com/2016/12/tutorial-sistema-de-dificultad-creciente.html

I hope you like it.
GBY :)

My blog (in spanish): http://icfsoft.blogspot.com.es/                 My list of updated plugins Terms of Use
Voice change software Buy Try free
If you like my work you can support me in patreon: https://www.patreon.com/icfsoft