I started off with a very basic attack systme(M's str - P's HP) but that was getting very boring and made it so if you were a certain lvl you could kill it no doubt about it. Next i went to misses and criticals and its even better. but now im thinking what if i do damage = rand(0,[M.str])(0 meaning miss) (im not even sure that will work yet, i just wanna check to see what u guys think. then totaldamage = damage -= P.def
sumthin like that. i want sumthin more random. plz tell me what you think or if u have any better ideas
ID:153263
Aug 12 2004, 12:02 pm
|
|
I use this basic formula:
-damage = rand(1,usr.strength) - rand(0,target.armor) And to modify it further, let x = the usr's skill in the weapon they are wielding: -if the usr deals damage below x * 5% of their max damage, they get another damage value(lets say z). if z was better than the original damage value, it replaces it; otherwise it uses the original value. |
FinalFantasyGamer wrote:
made it so if you were a certain lvl you could kill it no doubt about it. That to me is the very definition of bordom. I like games where damage gets capped off at a quater of the targets max health. In games where you just stand there using your best attack while the opponent uses their best attack it doesn't make much differnce, but if you've got an interesting battle system it helps make things more entertaining. |
In response to DarkView
|
|
That to me is the very definition of bordom. I like games where damage gets capped off at a quater of the targets max health. Then you pretty much dictate that powerful characters are ones who attack more often rather than hard hitting. Rather than cap or floor stuff off it's just best to balance the game properly so you don't screw over various types of characters :P. |
In response to Theodis
|
|
Theodis wrote:
Then you pretty much dictate that powerful characters are ones who attack more often rather than hard hitting. Not really. You'd need to be hard hitting or else the attack frequency is useless. Being able to land fifty hits a minute on a Snow Gnome is worthless if you're not even doing cap damage. Also if you're in a sitation where the cap comes into play then your obviously far stronger then your opponent. The only differnce is that it's a little fairer for the doomed target and a little more interesting for the demi-God. Best of all the target is actually involved in the fight. Probably the most annoying part about being PKed in an online game by some power gamer is that they just walk up to you and you die. They don't chase you, they don't really do anything that could be called fighting and most of the time you don't even realise what's going on until you're at the respawn point wishing you had banked your gold. This way you still end up dead most of the time, but at least you're involved in your death. |
In response to DarkView
|
|
Not really. You'd need to be hard hitting or else the attack frequency is useless. Being able to land fifty hits a minute on a Snow Gnome is worthless if you're not even doing cap damage. Well what about the case where you're largely outnumbered by a bunch of monsters you can easily fell in one hit? But because of the cap you have to hit them atleast 4 times. A character that doesn't do as much damage but is still high enough level to barely hit the cap and is 4 times as fast will have no problem demolishing the horde of weak monsters despite being roughly as powerful as the slow strong hitter. Quick characters also have the advtange that they can spread out damage so they won't waste a lot of overkill damage on monsters whereas a hard hitter will. The last thing you need to do is give quick hitters yet another advantage over strong hitters since that will really cause a bias in character class/skill selection. Also if you're in a sitation where the cap comes into play then your obviously far stronger then your opponent. The only differnce is that it's a little fairer for the doomed target and a little more interesting for the demi-God. Not really it's a pain in the butt when games make you spend more time than you need on push over battles. If anything you should just automatically win like in Earthbound so you save the players time for the hopefully more interesting fights. Best of all the target is actually involved in the fight. Probably the most annoying part about being PKed in an online game by some power gamer is that they just walk up to you and you die. The cap would definitely be more reasonable for players but you're garunteeing the player atleast 4 rounds in combat. This could potentially be enough to give the player a chance to win fights against monsters they have no buisiness winning against like mages whose main point is having a lot of firepower to obliterate the enemy before they get a chance to attack. I think it worked well in Avernum where killing blows would drop the player down to zero health and the player only actually dies if they get hit at zero health. There were a few exceptions like if the damage was caused by falling or being crushed by a bolder or something you'd die regardless if you weren't at zero health yet. But the monsters didn't get this luxery and it's a good thing to since otherwise you'd end up spending twice as long in push over battles watching the enemies get a bunch of misses and in tough fights the extra hit on a monster that takes 7 hits to kill doesn't mean all that much. |
In response to Theodis
|
|
Theodis wrote:
Well what about the case where you're largely outnumbered by a bunch of monsters you can easily fell in one hit? If you're largely outnumbered then you probably should fall. Your strength would probably make it easy to escape, but even against weak enemies you should be walking away the victor in a twenty to one fight. Faster people would definantly have the advantage here no matter what. You're dealing with massive amounts of weak enemies. They're all going to go down it's just a matter of how quickly it happens. The last thing you need to do is give quick hitters yet another advantage over strong hitters since that will really cause a bias in character class/skill selection. It's not an advantage. It's a pro balanced with a con. If you're fast you need to balance it with strength (and the rest of the stats) otherwise you wont be able to progress. The weaker but faster player may be more efficient at killing things much weaker then they are, but the stronger slower player is better at the battles they actually stand a chance of losing. Not really it's a pain in the butt when games make you spend more time than you need on push over battles. Push over battles are the pain in the butt. You know you can win so even an instant win is annoying. The simple fact that you have to take time away from what you were doing to deal with them is enough to make you want to pull out your hair. The thing is there shouldn't be anything to gain from participating in a push over battle. Any reason for wanting to win a push over battle should be worth the slight annoyance of having to actually participate in the battle. If getting from A to B involves going through a cave full of stupid weaklings that will attack you for no reason despite the fact they know they'll lose then that's the price of going through the cave. If enemies knew better then to attack something far stronger then themselves without being provoked I'd be much happier then if I could destroy them instantly. The cap would definitely be more reasonable for players but you're garunteeing the player atleast 4 rounds in combat. This could potentially be enough to give the player a chance to win fights against monsters they have no buisiness winning against like mages whose main point is having a lot of firepower to obliterate the enemy before they get a chance to attack. Yes, potentially. If I was to design the game properly however the potential would either be reached or not reached, which would be decided by me. In a game with a damage cap I'd probably want to make damage actually count for something. So a Mage who's at 50% health wouldn't be in any condition to rain down ice cold fire from the heavens. It's a good point however. Archery would pay off a lot more then nomral because you could unload into someone and they'd have to catch up to you four times before you died. The thing is if you made ranged attacks generally require a lot of training then people who use them well would lack in the short range stuff. So while a very good archer would be able to do a lot of damage without getting attacked and get away after each attack to do more damage, the majority of the time he would face a cap blow. It's just a matter of balancing it in like anything else. It makes it harder to balance everything, but I think it's worth it. You could even go as far as to modify the cap so that ranged fighters have a higher cap percentage. Although that's sort of against the spirit of the cap. I think it worked well in Avernum where killing blows would drop the player down to zero health and the player only actually dies if they get hit at zero health. Sounds interesting. I'll have to give Blades of Avernum another go to see exactly how well this works out in practice, although I find it difficult to play because it feels more like I'm watching someone else play then I'm actually playing the game myself. Also most of this is based on the assumption that it's possible to increase/decrease your attack frequency via stats. Usually that's not possible in my games. Everyone attacks at the same pace with some attacks taking up multiple rounds. I also usually limit it to a quater damage to players and half for non-players. You're right though, if it was added on a whim without taking it into account while designing the rest of the battle system it could turn out a disaster. |
In response to DarkView
|
|
Adding "caps" is bad, bad, bad in almost all cases I've seen.
Take Godwars MUD's as an example. It took an older battle system and hyperinflated the numbers from double-digits into tripple- and quad- digits. To do this they heavily increased battle factors(HitRoll, DamRoll, ArmorClass). Because of that, they had to increase mob hp dramatically. Because of that, players had to be attacking more and doing more damage than normal from their class powers. Because of this, PK got completely unbalanced, so they added something called DamCap. No attack could rise above a player's damcap. I tried removing damcap once. Players were doing 30-40,000 damage instead of 3000-4000. Games with a damcap become completely impossible to balance later on once numbers hit the damcap, because even if I toned the power of attacks down 20%, they'd STILL be doing 3000-4000! Anyhow, long story short...Damage caps are usually a bad solution to an increasingly bad problem. Properly adjust your formula so they fit the bounds you envisioned, and you'll most likely get much, much better results. |
In response to Loduwijk
|
|
Loduwijk wrote:
Is the only time a player misses when the random damage results in 0? If so, that's not much of a miss probability. If you have some other factor in there as well, you might want to put in a prob(10) check that reverses the result so you don't end up with some people who can never hit anything and others who never miss. yea thats true i didnt think of that. i think ill use what i did now. when the mob attacks it picks a random num (1-9 i think) and if its 6(just picked it no meaning what so ever) they miss do u think that would work here too? |
In response to FinalFantasyGamer
|
|
FinalFantasyGamer wrote:
yea thats true i didnt think of that. i think ill use what i did now. when the mob attacks it picks a random num (1-9 i think) and if its 6(just picked it no meaning what so ever) they miss do u think that would work here too? Nope, same problem. You're only checking against a single number. In this case, it's a 1 in 9 chance, or 11%. As long as you're going with the single number route, you might as well generate a number between 0 and 9. 0 = miss, just like your old system and it's on a 10% chance now. And really, that's all that the prob(10) check someone else was suggesting did. I generally use a method that Lexy showed me. HitRoll = roll(1,A.skill+B.skill) Ultimately that works out to the formula: Chance to hit = A.skill/(A.skill+B.skill) Obviously, A is the attacker and B is the defender. This formulae means that there is no such thing as 100% chance to hit. The best it will get is 99 and a large string of decimals. It automatically scales itself as well. The further away the two values are, the less staggering the difference in ability. The difference between 1 and 99, for example is not much less than 1 and 100. The first is a 1% chance. The second is 0.9% chance. A 0.1% difference. |
In response to FinalFantasyGamer
|
|
Yes, that would work. There is an easier way though. Instead of this...
var/miss_chance=rand(1,9) ...you can shorten it to the following. if(prob(10)) The prob function is a handy tool that allows you to have something happen with a variable percentage probability of success. Look it up, it is quite handy. To go into a bit more detail concerning what I mentioned about a check that reverses the result, if you have a miss formula based on certain game statistics and modifiers you can sometimes end up with one person always hitting or always missing. As an example, let us say there is a random chance to hit and a formula in which the opposing character's agility variables and some miscellaneous modifiers are used to alter the rate of success. If I have twice as much agility and I have the advantage of high ground, the formula would always have the one person hit and the other miss. That does not seem very fair, after all there is always that tiny probability that even the most unskilled person could miraculously land a lethal blow, and likewise that a hardened warrior might possibly miss. To remedy this, I usually have an if statement with a prob(10) (sometimes I use prob(5)) which reverses the result. var/attack_roll=prob(attack_formula()) With that done, even the most skilled fighter will miss on occasion and the noncombatant may land that fortunate blow. |
In response to DarkView
|
|
If you're largely outnumbered then you probably should fall. Well are you out to make a balanced game that is fun to play or a simulation? Generally players want to player characters they precieve as being powerful. The best way of doing this without making the game easy is through either having them face monsters that you've built up to be very tough(kinda hard in an online game) or by fighting hordes of monsters. That and it's easier to give the player more tactical options when facing a variety of monsters than it is when facing a single monster. Realism is cool and all if it adds interesting gameplay to a game but if all it does is unbalance one type of character and set up boring situations then you really shouldn't use realism as a guidline for that case. In an actual fight speed is the most important thing since if you can thorw out more attacks than a person can defend/parry they have next to no hope of winning the fight regardless of how good they are since they'll spend the whole fight just trying to avoid attacks. Making it realistic would generally lead to everyone building one type of character and all the work you put into other types of stuff would be pretty much pointless. It's not an advantage. It's a pro balanced with a con. If you're fast you need to balance it with strength (and the rest of the stats) otherwise you wont be able to progress. Lets you have a character that does four attacks per round that do ten damage and a character that makes one attack per round that does 4 damage. Scenario 1: A single enemy with 50 health. Both players will take 2 rounds to finish the battle. Scenario 2: A enemy wityh 30 health and an enemy with 10 health. The charatcter that deals out 4 attacks a round will win in one round whereas the persont hat deals 40 damage once a round will take 2. Scenario 3: 4 enemies with 10 health. The 4 attacks per round guy will still only need one round to finish. The 40 damage hitter will take 4 rounds despite being able to cause the same amount of damage per round. Then consider the same scenario is the damage was caped to a quarter of the enemies health. This is only a basic example but you run into even more issues if you have magical effect bonuses on weapons. The guy that hits 4 times around will get the bonuses effects 4 times as much and the slow guy won't. If one of the bonuses is say stun then the quick guy could easily stun 4 monsters and have them disabled for a few rounds whereas the strong guy cannot. More attack speed offers so many advantages it's just ridiculous. The only thing you do when you cap the damage is hurt the guy who only makes powerful attacks rather than lots of attacks. Push over battles are the pain in the butt. You know you can win so even an instant win is annoying. The simple fact that you have to take time away from what you were doing to deal with them is enough to make you want to pull out your hair. Which is why Earthbound handled it cool by not even going into the fight. You just get a message saying you won and the amount of exp you got. This was nice and clean and didn't make it a complete pain to go into areas with monsters much less powerfult than you. The thing is there shouldn't be anything to gain from participating in a push over battle. Any reason for wanting to win a push over battle should be worth the slight annoyance of having to actually participate in the battle. No but in traveling back and forth between places you might have to go through an easier area and thus be forced into encountering these enemies. You probably didn't want to bother fighting them in the first place. If getting from A to B involves going through a cave full of stupid weaklings that will attack you for no reason despite the fact they know they'll lose then that's the price of going through the cave. Do you design games to try and piss off the players as much as you can :P? If there is a simple design solution you can make that eliminates this frusteration why on earth not take it!? If enemies knew better then to attack something far stronger then themselves without being provoked I'd be much happier then if I could destroy them instantly. Sometime is doesn't make much sense since many monsters by nature tend to be quite insane. Either way not having them attack you in the first place would work too. In a game with a damage cap I'd probably want to make damage actually count for something. So a Mage who's at 50% health wouldn't be in any condition to rain down ice cold fire from the heavens. Restricting what a player can do when they are low on health is a pain and in many cases you might as well just kill them off if you cripple them to the point on not even being able to do their primary damaging attack. Something like this may be tactically interesting if monsters have this disadvantage but it only leads to frusteration on the player side. It's just a matter of balancing it in like anything else. It makes it harder to balance everything, but I think it's worth it. Even if it amounts to the same players like it much more when they aren't the ones to get the shaft. It's much better to make the monsters more powerful and give them the disadvantages than to give them to the player. Sounds interesting. I'll have to give Blades of Avernum another go to see exactly how well this works out in practice, although I find it difficult to play because it feels more like I'm watching someone else play then I'm actually playing the game myself. Huh? Are we thinking of the same game? I know crude cut scenes were added but in the scenarios Jeff made they were brief and not many(ie I don't think I saw a scenario with more than two and they take me atleast 4 hours to complete if I now where everything is already). Blades of Avernum is 95% gameplay and better yet movement isn't animated with no speed cap so you move as fast as you want to. So there really isn't any painful long travels since you can move around very quickly. The game rarely takes control from you. And there is a great balance between combat stuff and non combat stuff. As far as I'm concerned the Avernum Series has reached the perfect balance(though it is way too easy on normal but that just may be because I've played the series so much :P). Also most of this is based on the assumption that it's possible to increase/decrease your attack frequency via stats. Uh in any decent game that provides a variety of useful character builds you can increase you attacks speed though generally not by an extreme amount which is the most important thing since even a slight attack speed advantage goes a long way. Usually that's not possible in my games. Everyone attacks at the same pace with some attacks taking up multiple rounds. I also usually limit it to a quater damage to players and half for non-players. Well then you have a severe limitation in you combat engine :P. You're right though, if it was added on a whim without taking it into account while designing the rest of the battle system it could turn out a disaster. Caps shouldn't need to be added. It's a frusterating cop out that can be avoided in the first place by proper design. |
Is the only time a player misses when the random damage results in 0? If so, that's not much of a miss probability. If you have some other factor in there as well, you might want to put in a prob(10) check that reverses the result so you don't end up with some people who can never hit anything and others who never miss.