So here we are. We've come up with two not-so-good solutions. It's time to kick back for a bit and consider what mathematical properties we'd like this solution to have, rather than taking shots in the dark. So, without resorting to numbers, here's what we want:
If you hit a creature with multiple elements that it's weak against, you should do significantly more damage than you would have with just one element that it's weak against.
If you hit a creature with multiple elements that it absorbs, it should absorb significantly more HP than it would have with a single element.
If you hit a creature with multiple elements, some of which it's very strong against and some of which it's very weak against, it should, at worst, do an average amount of damage. Same with healing.
If it's immune to every element you hit it with, it should take zero damage.
If you hit a creature with an element that it has normal resistance to and an element it is immune to, it should do less than normal damage, but at least half.
The function should be relatively continuous; changing a single resistance by a small amount should never change the total damage by a large amount.
So, let's try this:
Find the average off all the damage multipliers.
If the result is greater than 1, raise it to the power of the number of elements involved in the attack.
If the result is less than -1, do likewise (except preserve the negative sign if you end up squaring the value)
What the above algorithm does is give you a number that's reasonable in the case when you have some high resistances, but scales up very quickly when you're hitting a lot of weaknesses. Plus, the function is continuous (I believe that's the term, anyway), so that a small variation in any of the elemental resistances will never result in a huge jump in damage.
At the moment this algorithm is untested, but I'm fairly satisfied that it's a good start. But, what if we want to do something other than math...? (continued)
So, where we we? High risk, high reward for multi-element attacks.
Ideally, if the attacker happens to discover the defender's elemental weaknesses and hit more than one at once, you want to reward them for doing so by giving them extra damage above and beyond what would otherwise be possible. At the same time, if they make a bad choice and hit the enemy with two or more elements that they absorb, you want them to absorb *a lot* of HP, making it high risk.
Here's one way that might seem good at first glance.
Figure out the damage multipliers for all of the elements involved in the attack.
Separate the negative and positive ones into different bins.
Throw out the zeros.
Multiply all the positives together, then multiply the absolute values of all the negatives together.
Subtract the negative total from the positive total.
In this case, your "typical" damage multiplier is one (assuming 0% resistance across the board). If you happen to hit the enemy with two attacks that they're weak against, your total damage multiplier is 4, which rewards you for managing to hit both.
The problem hits when you attack them with a multi-elemental attack where one of their resistances is very close to 100% (making their damage multiplier for that element around, say, .01). So even if they're weak against one element, multiplying that by .01 makes the total damage minuscule, whereas you would expect it to do, at the worst, normal damage.
So this system is broken in that it messes you up when the enemy has a single high resistance to one of the elements you're attacking with.
So, what else can you do? (continued in next post)
I tried using Blender 2.5 for game creation a little while back and was stymied by the lack of any sort of mouse look function (beyond the poorly documented python scripting interface). It's sad, because I'm used to the Blender interface -- although, as you said, the faces thing was annoying. I should probably give Radiant a serious try.
So here we are. We've come up with two not-so-good solutions. It's time to kick back for a bit and consider what mathematical properties we'd like this solution to have, rather than taking shots in the dark. So, without resorting to numbers, here's what we want:
So, let's try this:
What the above algorithm does is give you a number that's reasonable in the case when you have some high resistances, but scales up very quickly when you're hitting a lot of weaknesses. Plus, the function is continuous (I believe that's the term, anyway), so that a small variation in any of the elemental resistances will never result in a huge jump in damage.
At the moment this algorithm is untested, but I'm fairly satisfied that it's a good start. But, what if we want to do something other than math...? (continued)
So, where we we? High risk, high reward for multi-element attacks.
Ideally, if the attacker happens to discover the defender's elemental weaknesses and hit more than one at once, you want to reward them for doing so by giving them extra damage above and beyond what would otherwise be possible. At the same time, if they make a bad choice and hit the enemy with two or more elements that they absorb, you want them to absorb *a lot* of HP, making it high risk.
Here's one way that might seem good at first glance.
In this case, your "typical" damage multiplier is one (assuming 0% resistance across the board). If you happen to hit the enemy with two attacks that they're weak against, your total damage multiplier is 4, which rewards you for managing to hit both.
The problem hits when you attack them with a multi-elemental attack where one of their resistances is very close to 100% (making their damage multiplier for that element around, say, .01). So even if they're weak against one element, multiplying that by .01 makes the total damage minuscule, whereas you would expect it to do, at the worst, normal damage.
So this system is broken in that it messes you up when the enemy has a single high resistance to one of the elements you're attacking with.
So, what else can you do? (continued in next post)
My bad. Forgot all about this when we moved servers. Try it again now and let me know if it works.
Bart
but seriously... who is going to make a yoga game ;)
Nintendo? :)
This commission is now in progress.
Can't really comment at the moment, since the link to the manual is dead and it looks too complicated to figure out while I'm at work. :)
D'oh. My bad. Fixed.
OpenGameArt.org regrets the error. :)
Yo. :)
I appear to be getting an empty file when I try to download this. Can you edit this post and re-upload the .blend?
Thanks,
Bart
In the past, I've found the cube2 map editing interface to be a bit weird to use... have they changed it much in terms of usability?
I tried using Blender 2.5 for game creation a little while back and was stymied by the lack of any sort of mouse look function (beyond the poorly documented python scripting interface). It's sad, because I'm used to the Blender interface -- although, as you said, the faces thing was annoying. I should probably give Radiant a serious try.
Pages