Valryia

Veteran
Veteran
Joined
Feb 17, 2016
Messages
125
Reaction score
28
First Language
German
Primarily Uses
RMMV
Greetings everyone. Let me get straight to the point.


I hate random chance.


Whenever i never get an monster drop, a 99% hitrate misses, an monsters 1% instant death chance hits, or i see a casino in a game, i get a sour face.


And so many games use these! I know that it's easier to use random chance, but i want to do it differently. However, i want to dicuss this matter first, maybe get some tips and hear other opinions.


Thankfully for the enemy drops, yanfly already released a plugin to cure that - instead of an 1% dropchance, i can give a specific monster a certain condition under which it will drop its special item, but 100% of the time. Example: Using an cutting attack on a demon to cut of it's horn, which i get after the battle.


Casinos are easy enough. I don't implement them. No, wait ! I have an better idea. I do implement them, and then let the player burn them to the ground. Yes...


1. STATUS EFFECTS


As for status effects, the problem is a little more complicated, but i think it's doable with yanflys status core and it's extensions, though not 100% (?). Basically, instead of having % chance for an status to hit, i would prefer if any status effect would be "staged".


Imagine the status bar of dark souls.


Example: The [PC / NPC] gets hit with an poisonous attack. The [PC / NPC] chance of getting hit with the status effect is 100% always. The [PC / NPC] loses 5% per turn, per stack. If the [PC / NPC] hits it's opponent again, it becomes 10%, etc. Another example: A [PC / NPC] hits an opposing [PC / NPC] with an sleeping attack, but the character doesn't sleep immediately - instead, he would become drowsy (maybe lose some stats). Only once the sleeping status would reach 50%, the character would become unable to act.


However, how would i implement an defense if the hit chance should always be 100% ? What i would like to implement in my game(s) is a sort of status defense to reduces the effectiveness, not the hit chance. For that to work, the status is reduced to smaller increments, for example one stack would equal one percent health lost.


Example: The [PC / NPC] has an defense of four against poison. When the [PC / NPC] gets hit with the before mentioned poison attack, its effective stack size of five is reduced by the defense of four to an effective value one. Which in turn means that the [PC / NPC] loses 1% of their health per turn.


"Why i don't you choose % defense", you ask. Well, i don't want players to have 100% defense on their [PC] and be done with it. An absolute number is better for deeper and more tactical fights. And if i wanted someone to be immune, i just could give them 500+ and be done with it. Take note that status attacks should be limitless, a poison attack of a green dragon could have 200, then the [PC / NPC] would need an defense of atleast 110 to not instantly die (instead of losing 90%)


As for curing the status effect , the [PC / NPC] cure the status by themselves with the same resistance.


Example: The [PC / NPC] currently is poisoned and loses 6% hp per round. With an status defense of two, they reduce the effect to 4% this round, then 2% the next round, etc. (Maybe let the game maker choose when the defense kicks in, before or after the damage is dealt?)


Having an different value (formula?) for curing and defending against statuses would be optional, but helpful.


Of course healing through other means would use this system too, a esuna spell could reduce an/all status(es) by 30, for example.


All of the above would count for buffs aswell. And implementing exceptions, for example an [PC / NPC] using an ability that makes them immune against magic which doesn't get weaker over time.


2. DODGE BAR


But the greater problem lies for me in the hit and dodge chances. Mostly because i don't see a plugin dealing with my problem anywhere (maybe a workaraound?). Now, what i could do is just give everyone an 100% hitchance and be done with it.


However, what i would like to see is an evolution of the concept, not an negation.


What i imagined is the following:


- Dodging gets it's own "dodge" bar, seperate from the health bar


- the amount of the "dodge" bar depends on the character avoid, but could also be dependant on the characters equips aswell (heavier = less)


- When an opponent attacks the character, the "dodge bar" is reduced instead of health


- when it is reduced to 0, health is damaged instead


- the bar refills per turn, arcording to the characters stamina or another stat (energy if it is a robot, etc.)


- interesting alternative: the bar IS the characters stamina, and the player has to decide if he wants to use it for attacking or defending and/or avoiding


Now, i know that it sounds like. "But that is just like yanfly's energy shield plugin!"


That is where the differences comes in:


- every attack gets its own "hit" stat which is seperate from the damage stat


  Example: wide range and fast macross missle massacre has more hit then the slow and narrow megaton punch


- the higher the "hit" stat, the more of the attack will go "through" the dodge, depending on the opponents "avoid"


  Example: If the hit stat is higher then the avoid by, say 20 points, then part of the attack goes through (20%?), no matter how full the "dodge" bar is.


- alternatively, the difference in "hit" and "avoid" empties the "dodge" bar faster


  Example: Same difference, 20 points, the dodge bar is emptied by the damage dealt + 20% of the dodge bar or damage.


There can be more tactical expansions, a generally slower character can guard, which causes him to use his "dodge" bar to reduce the damage instead of completly avoiding it.


That way, it isn't just another health (shield) bar on top of an health bar, but it's own system with it's own strategic implementations.


Of course you should have the ability to have all three, "dodge", shield and health.


Well, enough rambling by me, i would like to hear your opinions / tips on the matter. If the way i layed down my problem is clear enough and doesn't leave an questions open, and no one knows a way i could implement my thoughts in my games with existing plugins, then i probably will request this as an plugin / extension of an plugin. I would prefer if yanfly would add this to his other plugins (simply because i would prefer to have plugins from only one creator in case of crossover problems and i already use yanflys plugins), and i am willing to pay with cold, hard, cash. Or just give more ******* money, dunno what is better.


In any case, thanks for reading, and for any future input.
 
Last edited by a moderator:

Ugouka

Veteran
Veteran
Joined
Mar 11, 2016
Messages
140
Reaction score
55
First Language
English
Primarily Uses
Well, for your states application idea, this plugin looks like it will handle it nicely. Haven't tested it, but it seems to be what you're going for. States stack, and at certain thresholds transform to a different state, adding more effects.




For curing the states..since I haven't used that plugin, I'm not positive how it works, if it doesn't have a curative function, you could attach a variable to each state, and have your curative spells lower the variable, thus changing the state applied. Conditional branches would allow you to control how much it lowered based on stats and such.


For the hit chance, Yanfly's http://yanfly.moe/2016/03/20/yep-85-hit-accuracy/ should provide what you need there. No misses.


And your dodge bar can be done using Yanfly's barriers. Those have positive/negative regen. You can alter the number with skills. And he built barrier penetration into it, so your fast attacks can get a glancing blow through the "dodge bar". Since you have so much hate for random chance, I wouldn't think you would want a system where attacks have a chance to go through, but rather Attack X always connects, splitting damage between health and dodge meter on a Y:Z ratio. Meanwhile attack A never connects if the player has dodge available. You'll need to do some custom evals for what it looks like you're trying to do with guarding, but those generally aren't too hard to handle. Probably not exactly what you're going for, but it's serviceable if you use it properly.
 

Valryia

Veteran
Veteran
Joined
Feb 17, 2016
Messages
125
Reaction score
28
First Language
German
Primarily Uses
RMMV
Ups, i didn't mean "chance". I edited it to make it more clear.


In any case, i would like to have health, shields and dodge. Maybe i want to make an game similar to super robot wars, then i would like to have all three. And having all three deepens the game mechanics even more, too.
 

Wavelength

MSD Strong
Global Mod
Joined
Jul 22, 2014
Messages
6,114
Reaction score
5,870
First Language
English
Primarily Uses
RMVXA
I'm a fan of random chance that can be played around or reacted to - it's a little hard to see in most RPGs, but games like Settlers of CatanCivilization, and to some extent even Poker are good examples of where you can use skill and strategy to react to an unpredictable turn of events.  (I also love games with very little chance but lots of hidden information, such as Spectromancer or Stratego.)


Something I've parroted several times in the Game Mechanics Design forum is that Missing, Evading, and (to a lesser extent) Critical Hits should be removed from a battle system unless the designer can clearly articulate a reason why that mechanic makes the battle system more fun or strategic.


I like the idea of stacking states.  I also created a "utility scaling" script that allows numerical elements (like poison damage or debuff amount) to be dynamically applied based on a formula - so that designers can safely apply states at 100% if they want, and have the power of the state depend on the battlers' stats.


Your dodge bar idea sounds fine, but be careful not to make it something where the player can just mathematically figure out "what is the ideal combination of defense versus avoid" to minimize damage.  Ideally, you want to make the "avoid style" and the 'tank style" of combat into two very different, incomparable paths that are both feasible to pursue.
 

Valryia

Veteran
Veteran
Joined
Feb 17, 2016
Messages
125
Reaction score
28
First Language
German
Primarily Uses
RMMV
Of course, all stats mentioned are just part of small examples - heavy testing is still neccesary. As mentioned, i don't want another health bar, i want an independent system with its own strengths and weaknesses.


But can't player already "mathematically" figure out what is best for them? And to a far worse degree? They just stack evasion until it is 100% and they become completly immune - i have seen that in SRW Alpha gaiden, where even the true final boss wasn't able to hit my most evasive character.


My idea of a dodge bar also tries to counter frustrating "all-or-nothing" scenarios. I can't count the times a character was lost in Fire Emblem because of that.
 

LightningLord2

Psionic Bird Thrower
Veteran
Joined
Apr 14, 2016
Messages
123
Reaction score
75
First Language
German
Primarily Uses
There's a lot of RNG in RPGs that is utter nonsense - for instance, attacks being 95% accurate by default shouldn't be a thing. I usually just make every attack hit 100% of the time, simply because missing is nothing but irritating and the concept of an evasion tank is just silly.


The dodge bar is a cool system - but I wouldn't recommend making sluggish characters interact with it too much. A beefy character can have a low dodge bar and simply endure hits with his high HP stat.


Regarding the solvability of combat, you can use randomness in more appropriate places - random enemy behavior means the player has to adapt to different situations. So does a random arrangement of enemies.


I also like the idea of status stacks over random infliction chances, but I don't like percentile damage since it prevents you from using super beefy bosses. Instead, try making poison like this:


-Every attack also fills up a poison bar that covers the HP from bottom to top.


-Each turn, based on a character's vitality (or similar stat), a part of the poison goes away.


-If the character has more poison than current HP, they're unable to act until the poison bar is lower than the HP.


-While they're unable to act from poison, characters lose HP gradually.


It converts poison to an alternative towards dealing damage, with a slightly lower risk than actual instant death. Also, having a seperate gauge to watch to keep your characters healthy makes stocking up supplies more interesting.
 

Valryia

Veteran
Veteran
Joined
Feb 17, 2016
Messages
125
Reaction score
28
First Language
German
Primarily Uses
RMMV
@LightningLord2 Of course the idea is that burly character doesn't have to fear attacks with high "hit", instead he fear attacks that pierce defense, which in turn fast characters have no problem to deal with.


I am not a fan for random enemy behavior, either. Sometimes i get housed because a boss decides to use his strongest attack 5 times in a row. The same goes for highly intelligent foes - a futuristic robot would always use the best attack for the current situation, no? However, limited randomness is acceptable to make foes feel organic.


Percentage based poison is fine, though i understand your concern. It can be balanced easily if besides the status defense the damage is also reduced by an additional resistance.
 

Wavelength

MSD Strong
Global Mod
Joined
Jul 22, 2014
Messages
6,114
Reaction score
5,870
First Language
English
Primarily Uses
RMVXA
I am not a fan for random enemy behavior, either. Sometimes i get housed because a boss decides to use his strongest attack 5 times in a row.



This (getting rekt because a boss hit a lucky RNG on their behavior roll multiple times in a row) is really bad design, though, that shouldn't be in any video game, ever.  There are much better ways to set up enemy behavior, even using RPG Maker's extremely simple parameters:

  • You can have all the boss' attacks be of approximately equal value (even if they cause completely different effects/utility)
  • You can use "every X turns" conditions to make sure a boss isn't using his most powerful moves too often
  • You can require switches to be set via the boss "charging up" for a turn to telegraph the strongest moves to the player
  • You can use the boss' MP as a limitation on the power of their attacks (have it charge up over time and give the boss a few skills that cost little or no MP but are weaker)
  • You can create semi-predictable, semi-random cycles of moves using Switches and/or Force Actions
 

Valryia

Veteran
Veteran
Joined
Feb 17, 2016
Messages
125
Reaction score
28
First Language
German
Primarily Uses
RMMV
@Wavelength Oh, believe me, i will do everything i can with the resources i have right now. And thanks to Yanfly AI plugin, i will be able to do so.


Still, i would prefer if i wouldn't have to perfectly design every Boss or encounter. I would like them to be somewhat organic / unpredictable with a little random behavior - but i still want the endresult to be completly free of randomness.
 

Latest Threads

Latest Profile Posts

hmmm. an art of mine was removed from reddit, for a reason not even listed.
Going to try my luck with Rust programming language. C++ is just way too gosh darn frustrating.

Forum statistics

Threads
121,887
Messages
1,144,913
Members
160,138
Latest member
Deruta
Top