Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

How to make spells land 100%?

Hi!

This might be stupid, but I just cannot figure it out for the life of me.

I have a spell called Agility that doubles the users speed. However, half the time she casts it it says 'miss'. What can I do to insure that this ALWAYS hits? Because no matter what I do, there is always a 50% chance of missing. And in all honesty, I dont want spells to EVER be able to miss in this game period.

Thanks!
-Zank
 
I think never missing for spells (only offensive and special, not support) is a bad gameplay design; because it makes the game slightly unfair. I would suggest for offensive and special spells (NOT SUPPORT) give them a 75% hit rate, therefore they'll almost always hit, but sometimes won't.
 
@Miles: That's a somewhat short-term view on things... there can be a million different games out there, doing a million different things with abilities. Depending on how they're included in the overall project, they can be balanced with 100% just as well as with 5% (Pokémon games are a not-too-bad example for this, where there's one attack that was guaranteed to hit, and therefore balanced out some of the faster pkmn that you otherwise probably couldn't hit). Balancing taken aside, imagine you want to include a non-battle ability like "Operate the crane" (as seen in Final Fantasy X), which just makes no sense whatsoever to miss - another appliance for a 100% hit that actually results in good game design, as you make battles more versatile.
 
I think most attacks should begin with a 100% accuracy and then be lowered by evasiveness and such. Missing every fourth turn adds nothing to a game, especially if there's no option to use a more accurate attack.
 
@Pokémaniac (I'm so proud, I actually used the +130 combination I just learned about, even though I have the key on my keyboard :haha: ): 100% accuracy means that there won't be any evasion - every attempt will hit (therefore, 100% ^^ ). Now I don't know exactly how the RMVXPs handle it, but evasion should be computed relative to that, but still don't overwrite 0% or 100% accuracy.
Also, as an important understanding matter: 75% chance doesn't mean hit every four time, but a change of 3 in 4 to hit. The actual number of successive hits when used consecutively will - unless random is random - actually be higher than that. Still, I agree that 75% is a bit low for a non-superspecial ability.
 
@BlueScope- The 100% accuracy is a base accuracy, before other factors. Evasion and such bring the percentage down - like how 75% isn't 3/4,(which for the record I find strange and confusing) 100% isn't necessarily 1/1(in this context, of course). From what I've messed with, and what I've seen work, setting the EVA-F up to 100 means that, for instance, an evasiveness of 20 will decrease accuracy by 20%, whereas an EVA-F will ignore that all together. Of course if I'm wrong tell me because it will change stuff for me.
 
Well, seems as it's my mistake, as I'm not too intimate with RMVXP's inner workings anymore... if you experienced that evasion is applied after accuracy, then that has to be true.

I can, however, clear up the 75% for you... because it actually makes much sense that it doesn't hit every fourth time. Imagine eight throws of an imaginary 100-sided dice (aka rand(100) method call). It could look like this (each value has already been applied +1, as rand(100) returns values from 0 to 99):

Throw 1 - 23
Throw 2 - 56
Throw 3 - 49
Throw 4 - 19
Throw 5 - 81
Throw 6 - 62
Throw 7 - 74
Throw 8 - 62

Now you see, in a pretty balanced field, there's 7 out of 8 values below 75, meaning an ability will hit. Because random is random, however, it could just as well look like this though:

Throw 1 - 63
Throw 2 - 96
Throw 3 - 79
Throw 4 - 13
Throw 5 - 42
Throw 6 - 91
Throw 7 - 78
Throw 8 - 32

In this case, only 4 of 8 values are still below 75, meaning only 50% of all attempts will actually hit the target, based on a 75% accuracy. This, however, isn't very likely to happen compared to the one above, as random values tend to balance themselves out statistically (not going into detail on that, as I'm not too wise regarding the exact details either).
If you do want to go for "every fourth hit misses", that's possible to do - you just have to replace your random value with a counter variable that counts from 1 to 4 (well, 0 to 3 really). Whenever it's at any numer you choose, have it miss, whenever it's at any of the other three, have it hit. Then, increment the variable by 1 and you're ready for the next use. This is easily to script and easy to integrate, however you will find it dead boring to play with a skill system like this.

The problem with dice is that players tend to complain about random determination (as oftenly seen in Team Fortress 2, for example, where people complain about item drops being too random and unfair, for example), however it's a tedious task to mess with it. At the end of the day, dice are a good way to bring variance in a game. As an example for games that can be easily exploited because of the lack of random generators, I'd like to name Lufia 2 (which is a great game nevertheless), where everythign depends on previous actions and therefore is 100% predictable. For seeing video proof of that, check out Dragondarch's speedrun of the game.
 
Everyone is kind of missing the point...

Here is what I mean:

Spells in my game are a 100% chance of hit no matter what. Attacks, on the other hand, are normal. Spells always connect because of how the game plays.

Every character has a special spell, that inflicts a condition, which always must hit.
Esther, for example, uses Agility. This puts her under the state 'agility'. While this is activated, her spells grow in level (For example, her Gust spell becomes Spiral Gust) for several turns. However, half the time I use this spell, it misses. Which defeats the entire purpose of using it. Its kind of a turn waster already. Pretty much preparing you for the next turn.

Everyone also has a special spell in which grows their defense. This makes up for spells alwyas hitting. However, its all elemental. Therefore, only certain characters are going to use this spell because others if they do, will increase the damage on them. It's really quite complicated; but in the long run, the spell is supposed to negate damage for several turns from the strongest element, halve it by the even element, and double it by the weakness element. EX: Fire beats Wind, therefore, 100% resistance to wind. Fire and Earth are even, therefore, halves the damage done by Earth. And Water beats Fire, therefore, ends up doubling the damage delt by water.

The entire system itself is still in works. But the idea of spells always hitting are criticle because each character only has 6 damaging spells really. And support spells should NEVER miss anyway.

How do I accomplish this? How do i ensure spells always hit? Because even by putting 100%, I seem to never quite get that...
 
Im not here to answer, Im here to get this thread on track, Im glad you like discussing game making aspects, but this is a support thread, not a discussion thread. Its okay to give a suggestion along with an answer, but please do not post just to discuss. This isnt the place.
 
Zankoku no Yami":dvprat0n said:
Everyone is kind of missing the point...

Here is what I mean:

Spells in my game are a 100% chance of hit no matter what. Attacks, on the other hand, are normal. Spells always connect because of how the game plays.

Every character has a special spell, that inflicts a condition, which always must hit.
Esther, for example, uses Agility. This puts her under the state 'agility'. While this is activated, her spells grow in level (For example, her Gust spell becomes Spiral Gust) for several turns. However, half the time I use this spell, it misses. Which defeats the entire purpose of using it. Its kind of a turn waster already. Pretty much preparing you for the next turn.

Everyone also has a special spell in which grows their defense. This makes up for spells alwyas hitting. However, its all elemental. Therefore, only certain characters are going to use this spell because others if they do, will increase the damage on them. It's really quite complicated; but in the long run, the spell is supposed to negate damage for several turns from the strongest element, halve it by the even element, and double it by the weakness element. EX: Fire beats Wind, therefore, 100% resistance to wind. Fire and Earth are even, therefore, halves the damage done by Earth. And Water beats Fire, therefore, ends up doubling the damage delt by water.

The entire system itself is still in works. But the idea of spells always hitting are criticle because each character only has 6 damaging spells really. And support spells should NEVER miss anyway.

How do I accomplish this? How do i ensure spells always hit? Because even by putting 100%, I seem to never quite get that...

Well, I said this at the start. Set Hit Rate too 100, EVA-F to 0, and make the states that inflict agility and such Nonresistance. For enemies, set Evasiveness to -100. That will make everything always hit.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top